
제가 사용하고 있는 칩셋은 Intel RSTe 기술을 지원합니다. 이는 RAID 설정에 두 가지 옵션이 있음을 의미합니다.
- 명령을 사용하는 일반 Linux 소프트웨어 RAID
mdadm
. - RSTe(BIOS에 의해 또는 다시 스위치
mdadm
와 함께 명령을 사용하여-e imsm
).
두 가지 모두에 사용할 수 있다는 점을 감안할 때 mdadm
둘 사이의 차이점을 이해할 수 없습니다.
- 일반 Linux 소프트웨어 RAID와 비교하여 RSTe는 무엇을 제공합니까?
- RSTe 모드에 있을 때 실제 RAID I/O 경로(예: 미러링 및 스트라이핑)는 Linux
md
또는 BIOS에서 처리됩니다. - 특히, "매트릭스 RAID"(예: RAID가 전체 디스크가 아닌 특정 파티션을 포함함)를 사용할 때 두 MBR 모두에 grub을 수동으로 설치해야 합니까?
답변1
개요
사용 가능한 세 가지 일반적인 RAID 유형이 있습니다.
Software RAID
: 이는 BIOS 및 기타 운영 체제가 실제로 두 개의 별도 디스크가 있다고 생각하지만 순전히 소프트웨어 수준에서는 운영 체제가 RAID에 대해 일부 OS 특정 온디스크 형식(미러링, 스트라이핑, 패리티 비트 등)을 사용한다는 의미입니다. . 모든 처리는 하드웨어 지원 없이 CPU에 의해 수행됩니다.BIOS RAID
: "가짜 RAID" 또는 "호스트 RAID"라고도 하며 이는 마더보드 펌웨어(더 구체적으로 SATA/SAS 컨트롤러)가 RAID 장치 인식을 명시적으로 지원한다는 의미입니다. 논리 장치 수준(lun
)에서는 여러 하드 드라이브가 운영 체제에 단일 드라이브로 표시됩니다. 이것은 기본적으로 SATA/SAS 컨트롤러에서 "내 하드 드라이브는 하나뿐이야. 실제로는 2개지만 쉿, 1개일 뿐이야, 날 믿어"라고 말하는 것입니다. 즉, 운영체제는말하다RAID 설정이지만 운영 체제는 *RAID 패리티/스트라이핑 등의 온디스크 형식을 담당하지 않습니다. 그러나 이 모드에서도 CPU는 패리티 비트와 스트라이핑에 대한 모든 계산을 수행합니다. 마더보드, BIOS 및 SATA 컨트롤러에는 장치를 물리적으로 "결합"하고 RAID에 대한 온디스크 형식을 정의하기에 충분한 논리가 있습니다. 그러나 계산을 수행하는 전용 프로세서가 부족하고 운영 체제 내의 소프트웨어에 의존하여 CPU에 계산을 지시합니다. 이것이 바로 Linux에 BIOS RAID에 대해 알려주어야 하는 이유입니다. (Intel Matrix/RST는 BIOS RAID의 한 종류입니다.)Hardware RAID
: 여기에는 RAID에 필요한 데이터를 처리하는 전용 칩이 있는 곳입니다. 이 칩은 매우 강력할 수 있습니다. 일부 하드웨어 RAID 컨트롤러에는 실제로 CPU와 유사한 듀얼 코어 칩이 내장되어 있지만 이는 RAID-5의 패리티 비트 또는 RAID의 스트라이핑과 같은 RAID 계산을 매우 빠르게 수행하는 내장 운영 체제를 실행하도록 특별히 최적화되어 있습니다. -0. 하드 디스크는 SATA/SAS 컨트롤러(일반적으로 DRAM 또는 플래시의 읽기 및 쓰기 캐시), 기본 명령 대기열, 더 많은 수학적 계산을 수행하는 온보드 중앙 프로세서를 제공하는 RAID 카드에 물리적으로 케이블로 연결됩니다. 이러한 하드웨어 칩은 산업용 데이터 센터 RAID 백플레인의 경우 보급형 수준에서 150달러부터 수천 달러까지 실행됩니다.
호환성
일반적으로 각 RAID 유형은 특정 측면과 "연결"되어 있으며, 해당 측면이 변경되면 호환성 문제가 발생합니다.
소프트웨어 RAID는 RAID 형식을 정의한 운영 체제와 연결되어 있습니다. 때로는 동일한 운영 체제의 서로 다른 두 버전 사이에서 RAID 형식이 손상되어 비호환성이 발생하는 경우가 있습니다. 모든 소프트웨어 RAID 형식이 다른 운영 체제에서 지원되는 것이 개념적으로 가능하기는 하지만그냥 소프트웨어, 실제로 대부분의 운영 체제는 해당 운영 체제만 인식할 수 있는 호환되지 않는 RAID 형식을 제공합니다. 그러나 가장 널리 알려진 호환성은 Linux 커널(
md
OP에서 논의한 대로)에서 기본적으로 사용되는 RAID 형식으로, 동적 디스크라고 하는 Windows의 소프트웨어 RAID도 인식할 수 있습니다.BIOS RAID는 귀하가 소유한 마더보드에 연결되어 있습니다. 특정 BIOS RAID 형식으로 포맷된 드라이브를 유사한 BIOS RAID 솔루션을 사용하는 다른 마더보드로 이동할 수도 있습니다. 예를 들어 RST를 사용하는 다른 시스템에 Intel RST를 적용합니다. 하지만 이동하기 전에 주의 깊게 조사하여 호환 가능 여부를 확인해야 합니다.
하드웨어 RAID는 특정 하드웨어 컨트롤러 또는 제조업체가 호환 가능하다고 명시적으로 명시한 일련의 하드웨어 컨트롤러와 연결되어 있습니다. 일부 공급업체는 여러 세대의 컨트롤러에서 지원되는 매우 일관된 하드웨어 RAID 디스크 형식을 유지합니다. 다른 사람들은 형식을 더 자주 변경합니다. 이번에도 사례별로 조사해야 합니다.
성능
성능은 크게 다음에 달려 있습니다.어떻게RAID 어레이의 기본 매개변수를 구성하고 특정 솔루션에서는 그 이하를 구성합니다. 일반적으로 하드웨어 RAID 컨트롤러는 최대 성능을 위해 가장 높은 "천장"을 갖습니다. 또한 다른 솔루션만큼 CPU에 세금을 부과하지 않습니다. 그러나 워크로드에 대해 잘못된 RAID 유형, 잘못된 스트라이프 크기 또는 잘못된 캐싱 접근 방식을 선택하는 경우 하드웨어 RAID 컨트롤러는 비RAID 모드에서 실행되는 드라이브 중 하나보다 매우 느릴 수도 있습니다. 다른 솔루션도 마찬가지이며 매우 느릴 수 있습니다.
소프트웨어 RAID는 RAID-1 구성에 가장 적합합니다. 미러링은 동일한 데이터를 두 드라이브에 간단히 복사하는 것이며 계산할 패리티 비트가 없기 때문입니다. 소프트웨어 RAID의 RAID-5는 끔찍합니다.
BIOS RAID 성능은 일반적으로 소프트웨어 RAID와 비슷하지만 특정 BIOS RAID 컨트롤러 및 디스크 형식은 버그가 있거나 성능이 좋지 않은 것으로 알려져 있습니다. 일반적으로 소프트웨어 RAID와 BIOS RAID 중 하나를 선택해야 한다면 전자가 성능 측면에서 좀 더 유망하지만,특히최신 Linux 배포판을 실행 중인 경우.
하드웨어 RAID 성능은 RAID 컨트롤러 프로세서의 최적화된 처리 능력으로 인해 미친 듯이 빨라질 수 있습니다. 제가 말했듯이 이는 높은 처리량을 위해 설계되었으며 실제로 멀티 코어 칩으로 제공될 수 있습니다. 따라서 이것은 심각한 철입니다. 가장 큰 단점은 유연성이 떨어진다는 것입니다. 즉, 하드웨어 RAID 컨트롤러 없이는 드라이브를 다른 컴퓨터에 슬롯에 넣을 수 없으며 비용도 많이 듭니다. 하드웨어 RAID는 특히 디스크가 많은 경우(4개 이상) RAID-5 또는 RAID-6을 사용하기에 가장 좋은 수준입니다.
전반적인
BIOS RAID는지원됨Linux에서는 사용을 권장할 수 없습니다.
장황한 답변을 드린 후, 이제 귀하의 질문에 직접적으로 답변해 드리겠습니다.
일반 Linux 소프트웨어 RAID와 비교하여 RSTe는 무엇을 제공합니까?
위의 소프트웨어 RAID와 BIOS RAID 간의 비교를 참조하십시오. "RSTe"는 BIOS RAID의 인스턴스입니다. md
없는 Linux RAID는 -e imsm
소프트웨어 RAID의 인스턴스입니다.
RSTe 모드에 있을 때 실제 RAID I/O 경로(예: 미러링 및 스트라이핑)는 Linux md 또는 BIOS에서 처리됩니다.
데이터 경로를 의미하는 경우 전용 하드웨어 RAID 카드가 없는 한 항상 CPU(및 운영 체제)에 의해 처리됩니다. 나는 아니에요생각하다일부 고급 서버 칩셋이 나를 놀라게 할 수도 있지만 이러한 기능은 모든 마더보드에 제공됩니다.
특히, "매트릭스 RAID"(예: RAID가 전체 디스크가 아닌 특정 파티션을 포함함)를 사용할 때 두 MBR 모두에 grub을 수동으로 설치해야 합니까?
아니요. 실제로 두 MBR 모두에 GRUB를 설치할 필요가 없습니다. 사례별로 살펴보겠습니다.
소프트웨어 RAID: GRUB를 설치할 디스크 하나를 임의로 선택하고 먼저 부팅되도록 BIOS 순서로 설정하면 됩니다. 원하는 경우 개별 파티션을 미러링할 수 있으므로 소프트웨어 RAID에서 디스크가 비트 단위로 동일할 필요가 없습니다. 부트로더가 있는 MBR이 있을 수도 있고 MBR에 아무것도 없을 수도 있습니다.
BIOS RAID: BIOS는 이것이 하나의 "디스크"(실제로는 RAID 어레이라고 부름)라고 알려주므로 GRUB를 설치할 위치를 선택할 수 없습니다. 여기에 Linux를 설치하면 MBR(부트로더 포함)과 두 디스크의 다른 모든 섹터가 두 디스크 사이에 복사됩니다. 따라서 소프트웨어 RAID와 달리 BIOS RAID는 두 디스크를 두 개의 논리 장치로 분리할 수 없기 때문에 두 디스크가 모두 동일해야 합니다. 디스크 컨트롤러라고두 개가 아닌 하나의 논리적 장치입니다. 따라서 "0번 드라이브에는 일부 데이터를 쓰고 싶지만 1번 드라이브에는 쓰지 않고 싶습니다"라고만 말할 수는 없습니다. 불가능합니다. 하지만 소프트웨어 RAID를 사용하면 이는 전적으로 가능합니다.
하드웨어 RAID: BIOS는 그것이 하나의 "디스크"라고 알려주며 BIOS에 관한 한 여러 디스크를 다루고 있다는 사실조차 특별히 인식하지 못합니다. RAID 컨트롤러완전히운영 체제 내에서 일종의 사용자 정의 프로토콜을 사용하여 일부 하드웨어 RAID 컨트롤러를 구성할 수 있는 범위를 제외하고 운영 체제 및 BIOS에서 RAID의 모든 세부 정보를 추상화합니다. 그러나 장치는 BIOS RAID와 마찬가지로 소프트웨어 계층과 완전히 분리될 수 없습니다.
편집하다:더 많은 질문 답변을 위해 업데이트 중
나는 아직도 몇 가지를 이해하지 못합니다. 첫째, BIOS RAID에 대해: mdadm을 사용하여 빌드할 수 있으므로 Linux는 실제로 기본 디스크를 숨기지 않습니다.
이상하고 설명하기 어렵네요. 기본적으로 디스크는 특정 레이어에서는 하나로 나타나고 다른 레이어에서는 두 개로 나타납니다. 하지만 BIOS RAID를 사용하면 각 디스크에 /dev/sda
및 /dev/sdb
. 만약 그렇다면, 귀하의 BIOS RAID는 제가 본 것과 다릅니다.
Grub 및 MBR 정보: RAID가 디스크가 아닌 파티션을 포함하는 경우에도 기본 디스크를 계속 볼 수 있습니다. MBR은 RAID에 속하지 않으므로 디스크 오류가 발생할 경우 부팅할 수 있도록 부트로더를 두 번 설치해야 합니다. 이 올바른지?
그렇지 않다아프다다른 복사본을 설치하려면 디스크 오류가 발생하는 경우 부팅이 가장 중요하지 않습니다. 간단히 말해서, 원한다면 그렇게 하십시오. 그러나 가장 중요한 것은 아닙니다. 라이브 CD의 Grub을 HDD에 설치하는 것은 쉽습니다.
RAID의 디스크(특히 동일한 제조업체와 모델이고 동일한 공장에서 생산되며 동일한 온도에서 서로 바로 옆에서 작동하는 경우)는 연속해서 빠르게 실패할 가능성이 높습니다. 따라서 디스크에 오류가 발생한 경우 새 디스크를 넣고 재구축을 시작하는 것은 아마도 좋지 않을 것입니다. 재구축 중에 일관된 데이터 복사본이 포함된 마지막 디스크 자체에 오류가 발생할 가능성이 상당히 높습니다. 이 시점에서 전문가에게 의뢰하여(또는 하드웨어에 능숙하다면 직접 수행하도록) 원래 디스크에서 플래터를 제거하고 동일한 제조사/모델의 새 디스크를 구입하도록 권장하는 것이 마지막 남은 디스크에 도달한 시점입니다. , 거기에 플래터를 넣고 새 디스크를 사용하여 데이터를 읽어보세요. 이는 비용과 시간이 많이 소요되지만 데이터를 유지하는 가장 확실한 방법입니다.
이것이 제가 여러분을 위해 답변한 다섯 가지 질문입니다. 이 정보에서 가치를 발견했다면 답변을 적절하게 표시해 주세요. 감사해요.
답변2
Allquixotic의 답변이 너무 깁니다.
- 일반 Linux 소프트웨어 RAID와 비교하여 RSTe는 무엇을 제공합니까?
부팅 지원과 약간 다른 기능 세트. 그 핵심은 데이터 형식입니다. – Intel의 RST 옵션 ROM 없이도 사용할 수 있습니다(그러면 특별한 부팅 지원이 없습니다). 형식이 의미하는 내용은 mdadm
매뉴얼 페이지에 기록되어 있습니다.
- RSTe 모드에 있을 때 실제 RAID I/O 경로(예: 미러링 및 스트라이핑)는 Linux md 또는 BIOS에서 처리됩니다.
Linux md(즉, 커널 전체).
이로 인해 한 가지 질문이 남습니다. Intel의 RST가 일부 칩셋에만 국한되는 이유는 무엇입니까? 그들은 RAID에 전혀 참여하지 않습니다. 기껏해야 옵션 ROM이 지원되지 않는 칩셋에서의 실행을 거부하도록 지시하는 비트를 저장합니다.
답변3
흠 한 답변은 너무 길고 다른 답변은 너무 짧습니다.
RST "raid"는 Intel이 Windows 및 Linux 드라이버를 생산하고 BIOS에서 RAID를 구성할 수 있으므로 워크스테이션을 이중 부팅하는 경우 주로 사용됩니다. RAID를 구성하고, 가상 디스크를 분할하고, 두 OS가 다중 파티션을 이해하는 이중 부팅을 수행할 수 있습니다.
mdam은 서버가 Linux 전용인 경우에 사용됩니다. 어레이를 재구축하는 경우 BIOS가 아닌 OS에서 수행하므로 재구축 속도가 훨씬 빠르기 때문에 "더 좋습니다". 대용량 디스크의 경우 BIOS RAID 재구축에 며칠이 걸릴 수 있습니다.
그러나 현실은 녹색 C 조각 또는 파란색 C 조각 중에서 선택해야 한다는 것입니다. 현실은 소프트웨어 RAID가 기본적으로 "최후의 CYA" 공격대라는 것입니다.
소프트웨어 RAID 어레이에서 디스크가 손실된 경우 기본적으로 서버를 즉시 중지하고, 전체 백업을 만들고, 고장난 디스크 및 나머지 디스크를 교체한 다음 어레이를 다시 생성하거나 재구축을 시도할 수 있습니다. 디스크를 교체한 다음 디스크에 있는 모든 내용을 지우고 어레이를 다시 만든 다음 백업 복원 디스크에서 부팅한 다음 백업에서 복원하는 것이 더 빠른 경우가 많습니다.
하드웨어 어레이 칩을 사용하면 모든 디스크를 핫스왑 트레이에 넣을 수 있으며 하나에 장애가 발생하면 빨간색 표시등이 켜지고 장애가 발생한 디스크를 꺼내어 새 디스크로 교체하면 하드웨어 RAID 카드가 자동으로 디스크를 재구축합니다. 서버가 계속 실행되는 동안 배열합니다.
이론적으로는 핫 스왑 트레이와 Linux mdam 소프트웨어 어레이가 있는 경우 이 작업을 수행할 수 있지만 실제로는 패닉 위험이 있고 서버가 나머지 디스크에서 부팅에 쉽게 실패할 수 있습니다.
다른 문제는 사용된 디스크 유형과 관련이 있습니다. 일반 워크스테이션 디스크는 오래됨에 따라 디스크에 의해 내부적으로 예비 섹터로 다시 매핑되는 불량 섹터가 발생하기 시작합니다. 문제는 이 재매핑이 쓰기 시에만 발생한다는 것입니다. 불량 섹터에서 읽기가 발생하면 디스크는 재매핑을 지연하고 일부 디스크 모델에서는 불량 섹터나 실패한 섹터를 반복적으로 다시 읽고 결정될 때까지 결과를 비교합니다. 다시 매핑하기 전에 해당 부문에서 얻을 수 있는 최고의 데이터를 가지고 있습니다. 이 프로세스는 1분 정도 걸릴 수 있으며 그 동안 명령 코드를 무시하는 어레이에 1개의 디스크가 있으므로 소프트웨어 RAID 소프트웨어가 충돌하고 어레이가 저하된 것으로 표시됩니다. 재부팅 시 디스크 간에 서로 다른 데이터를 가질 수 있는 동일한 섹터를 가진 2개의 디스크가 있으므로 이제 소프트웨어 RAID 관리자는 "좋은" 디스크, 오류가 없는 디스크 또는 섹터를 다시 매핑한 디스크를 알 수 없습니다. 가지고 있는 데이터에 가장 가까운 근사치를 사용합니다. Western Digital은 이를 수행하지 않는 소프트웨어 RAID 어레이에 사용되어야 하는 "Red" 드라이브를 만듭니다. 불량 섹터를 감지하면 즉시 섹터 읽기에 실패하고 어레이 관리자가 섹터에서 데이터를 가져올 수 있도록 다시 매핑합니다. 양호한 드라이브에 오류가 발생한 섹터가 있는 드라이브에 기록합니다. 말할 필요도 없이 이러한 디스크에 대해 추가 비용을 청구합니다.
요약하자면, 디스크 장애가 발생할 경우 어느 정도 가동 중지 시간을 견딜 수 없는 서버에는 소프트웨어 RAID를 사용하지 마십시오. 이는 주로 사람들이 정기적으로 백업하지 않는 워크스테이션과 백업되고 디스크 충돌 시 하루 정도의 가동 중지 시간을 견딜 수 있는 소규모 SOHO 서버를 위한 것입니다.