인텔 매트릭스 스토리지 관리자 및 Linux 소프트웨어 RAID


28

내가 사용하는 칩셋은 인텔 RSTe 기술을 지원합니다. RAID 설정에 대한 두 가지 옵션이 있음을 의미합니다.

  • mdadm명령을 사용하는 일반적인 Linux 소프트웨어 RAID .
  • RSTe (BIOS 또는 스위치 mdadm와 함께 명령 사용 -e imsm).

그것이 mdadm둘 다에 사용될 수 있다고 가정하면 , 나는 둘 사이의 차이점을 이해할 수 없습니다.

  • 일반 Linux 소프트웨어 RAID와 비교할 때 RSTe는 무엇을 제공합니까?
  • RSTe 모드에있을 때 Linux md또는 BIOS 에서 처리하는 실제 RAID I / O 경로 (예 : 미러링 및 스트라이핑) 입니다.
  • 특히, "매트릭스 RAID"(예 : RAID가 전체 디스크가 아닌 특정 파티션을 포함)를 사용할 때 두 MBR 모두에 수동으로 그럽을 설치해야합니까?

답변:


46

개요

사용 가능한 세 가지 일반적인 RAID 유형이 있습니다.

  • Software RAID: 이것은 BIOS와 다른 운영 체제가 실제로 두 개의 별도 디스크를 가지고 있다고 생각하지만 순수하게 소프트웨어 수준에서는 운영 체제가 RAID에 대해 OS 별 온 디스크 형식을 사용합니다 (미러링, 스트라이핑, 패리티 비트 등) . 모든 처리는 하드웨어 지원없이 CPU에 의해 수행됩니다.

  • BIOS RAID: "Fake RAID"또는 "Host RAID"라고도하며, 이는 마더 보드 펌웨어 (특히 SATA / SAS 컨트롤러)가 RAID 장치 인식을 명시 적으로 지원함을 의미합니다. 논리 장치 수준 ( lun)에서 여러 하드 드라이브는 운영 체제에 단일 드라이브로 나타납니다. 이것은 기본적으로 SATA / SAS 컨트롤러입니다. "실제로는 하드 드라이브가 하나뿐입니다. 실제로는 두 개이지만 실제로는 하나뿐입니다. 저를 믿으십시오." 다시 말해 운영 체제는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. 하드 디스크는 RAID 카드에 물리적으로 케이블로 연결되어 SATA / SAS 컨트롤러, 일반적으로 DRAM 또는 Flash의 읽기 및 쓰기 캐시, 기본 명령 대기열 및보다 수학적 계산을 수행하는 중앙 프로세서를 제공합니다. 이 하드웨어 칩은 산업 데이터 센터 RAID 백플레인의 경우 엔트리 레벨에서 최대 $ 150 사이에서 최대 수천으로 실행됩니다.

적합성

일반적으로 각 유형의 RAID는 특정 측면에 "연결되어"있습니다. 이러한 측면이 변경되면 호환성 문제가 발생할 수 있습니다.

  • 소프트웨어 RAID는 RAID 형식을 정의한 운영 체제와 연결되어 있습니다. 때로는 동일한 운영 체제의 서로 다른 두 버전간에 RAID 형식이 손상되어 호환되지 않을 수 있습니다. 모든 소프트웨어 RAID 형식이 다른 운영 체제에서 지원되는 것은 개념적으로 가능하지만 실제로는 소프트웨어뿐이 므로 대부분의 운영 체제는 해당 운영 체제에서만 인식 할 수없는 호환되지 않는 RAID 형식을 나타냅니다. 그러나 가장 널리 알려진 호환성은 Linux 커널에서 기본적으로 사용하는 RAID 형식 ( mdOP에서 논의 할 때)이며 동적 디스크라는 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 성능은 일반적으로 Software RAID와 비슷하지만 특정 BIOS RAID 컨트롤러 및 디스크 형식은 버그가 있거나 성능이 떨어지는 것으로 알려져 있습니다. 일반적으로 소프트웨어 RAID와 BIOS RAID 중 하나를 선택해야하는 경우, 특히 최신 Linux 배포판을 실행하는 경우 전자가 성능에 있어 더 유망합니다 .

  • 내가 말했듯이 높은 처리량을 위해 설계되었으며 실제로 멀티 코어 칩으로 제공 될 수있는 RAID 컨트롤러 프로세서의 최적화 된 처리 능력으로 인해 하드웨어 RAID 성능이 엄청나게 빠를 수 있습니다. 주된 단점은 유연성을 잃는다는 것입니다. 하드웨어 RAID 컨트롤러없이 드라이브를 다른 컴퓨터에 슬롯으로 꽂을 수없고 비용도 있습니다. 하드웨어 RAID는 특히 디스크 수가 많은 경우 (4 이상) RAID-5 또는 RAID-6을 사용하는 가장 좋은 수준입니다.

사무용 겉옷

Linux에서 BIOS RAID를 지원 하지만 사용하지 않는 것이 좋습니다.

이제 당신에게 긴 답을 주었을 때, 당신의 질문에 직접 대답하기 위해 :

일반 Linux 소프트웨어 RAID와 비교할 때 RSTe는 무엇을 제공합니까?

위의 소프트웨어 RAID와 BIOS RAID 비교를 참조하십시오. "RSTe"는 BIOS RAID의 인스턴스입니다. 없는 Linux mdRAID -e imsm는 소프트웨어 RAID의 인스턴스입니다.

RSTe 모드에있을 때 Linux md 또는 BIOS에서 처리하는 실제 RAID I / O 경로 (예 : 미러링 및 스트라이핑)입니다.

데이터 경로를 의미하는 경우 전용 하드웨어 RAID 카드가 없으면 항상 CPU (및 운영 체제)에서 처리합니다. 일부 고급 서버 칩셋이 나를 놀라게 할 수는 있지만 마더 보드에는 이러한 기능 이 없다고 생각 합니다.

특히, "매트릭스 RAID"(예 : RAID가 전체 디스크가 아닌 특정 파티션을 포함)를 사용할 때 두 MBR 모두에 수동으로 그럽을 설치해야합니까?

실제로 두 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의 HDD를 HDD에 쉽게 설치할 수 있습니다.

RAID의 디스크 (특히 동일한 제조업체 및 모델, 동일한 공장에서 생산되고 동일한 온도에서 서로 바로 작동하는 경우)는 연속적으로 빠르게 실패 할 수 있습니다. 따라서 디스크에 장애가 발생한 경우, 그냥 으 rug하고 새 디스크에 넣고 재 구축을 시작하는 것은 좋지 않습니다. 마지막으로 남은 디스크로 내려가 전문가에게 추천하는 것이 좋습니다 (또는 하드웨어에 능숙하다면 직접 해보십시오) 원본 디스크에서 플래터를 제거하고 동일한 제조업체 / 모델의 새 디스크를 구입하십시오 , 플래터를 넣고 새 디스크를 사용하여 데이터를 읽습니다. 이것은 비싸고 시간이 많이 걸리며

이것이 제가 당신에게 대답 한 5 가지 질문입니다. 이 정보에서 가치를 발견 한 경우 적절하게 답변을 표시하십시오. 감사.


1
상세하고 통찰력있는 답변에 감사드립니다. 나는 아직도 몇 가지를 이해하지 못한다. 첫째, BIOS RAID에 대해 :를 사용하여 빌드 할 수 mdadm있으므로 Linux는 실제로 기본 디스크를 숨기지 않습니다. 두 번째로, grub 및 MBR : RAID가 디스크가 아닌 파티션을 커버하는 경우 기본 디스크를 여전히 볼 수 있습니다. MBR은 RAID 아래에 있지 않으므로 디스크 장애시 부팅 할 수 있으려면 부트 로더를 두 번 설치해야합니다. 이 올바른지?
Leonid99

1
6 시리즈 PCH가 있으며 mdadm --detail-platformIntel Matrix Storage Manager가 버전 11.0.0.1339임을 나타냅니다. 나는 사실로 내 개별 드라이브를 참조 /dev/sdc하고 /dev/sdd. 내 가짜 RAID1 어레이는 /dev/md126입니다.
Jonathon Reinhart

1
Linux 커널이 작동 중이면 펌웨어 / BIOS 코드가 더 이상 실행되지 않습니다. 그렇다면 커널은 무엇을해야할까요? 모두? 이 경우 IMSM은 실제로 무엇을합니까? 리눅스가 소프트웨어 RAID 자체만으로는 그다지 많지 않은 것 같습니까? BIOS / 칩셋이 정확히 무엇을하는지 묻습니다 .
Jonathon Reinhart

컴퓨터가 처음 부팅 될 때 (BIOS가 여전히 활성 상태 일 때) BIOS는 소프트 RAID 논리를 제공합니다. OS가 부팅되면 해당 드라이버가 RAID 어레이를 유지 관리합니다. 1 , 2
Jonathon Reinhart

1

Allquixotic의 답변이 너무 깁니다 :

  1. 일반 Linux 소프트웨어 RAID와 비교할 때 RSTe는 무엇을 제공합니까?

부팅 지원 및 약간 다른 기능 세트. 핵심은 데이터 형식입니다. – 인텔의 RST 옵션 ROM 없이도 사용할 수 있습니다 (특별한 부팅 지원이 없음). 형식이 의미하는 것은 mdadm맨 페이지에 기록되어 있습니다.

  1. RSTe 모드에있을 때 Linux md 또는 BIOS에서 처리하는 실제 RAID I / O 경로 (예 : 미러링 및 스트라이핑)입니다.

리눅스 md에 의해 (즉, 커널 전체).

인텔의 RST가 일부 칩셋에만 제한되는 이유는 무엇입니까? 그들은 RAID에 전혀 참여하지 않습니다. 기껏해야 비트를 저장하므로 옵션 ROM에 지원되지 않는 칩셋에서의 실행을 거부하도록 지시합니다.


이것은 길고, 엉망이고, 크게 틀리며, 질문에 대답하지 않는 허용되는 대답보다 훨씬 낫습니다. 요점은 RSTe가 BIOS에서 이해하는 형식을 사용하여 성능이 저하 된 RAID에서 부팅 할 수 있다는 것입니다.
Nemo

1

흠 하나는 너무 오래 대답하고 다른 하나는 너무 짧습니다.

RST "raid"는 인텔에서 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 어레이에 사용되는 "빨간색"드라이브를 만듭니다. 불량 섹터를 감지하면 즉시 섹터 읽기를 실패하고 다시 매핑하여 어레이 관리자가 해당 섹터에서 데이터를 가져올 수 있습니다. 올바른 드라이브에 넣고 실패한 섹터가있는 드라이브에 씁니다. 말할 필요도없이이 디스크에 대해 추가 요금이 부과됩니다. 어레이 관리자는 불량 섹터를 감지하면 즉시 섹터를 읽지 못하고 다시 매핑하므로 어레이 관리자가 양호한 드라이브의 섹터에서 데이터를 가져와 실패한 섹터로 드라이브에 쓸 수 있습니다. 말할 필요도없이이 디스크에 대해 추가 요금이 부과됩니다. 어레이 관리자는 불량 섹터를 감지하면 즉시 섹터를 읽지 못하고 다시 매핑하므로 어레이 관리자가 양호한 드라이브의 섹터에서 데이터를 가져와 실패한 섹터로 드라이브에 쓸 수 있습니다. 말할 필요도없이이 디스크에 대해 추가 요금이 부과됩니다.

요약하자면, 디스크에 장애가 발생하면 가동 중지 시간을 견딜 수없는 서버에 대해서는 소프트웨어 RAID를 사용하지 마십시오. 주로 사람들이 정기적으로 백업하지 않는 워크 스테이션 및 백업되고 디스크 충돌시 하루 정도의 다운 타임을 허용 할 수있는 소규모 SOHO 서버를위한 것입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.