레이드1 설명입니다. 표준 수준의 비교. RAID 어레이란 무엇입니까?

오늘 우리는 RAID 어레이. 그것이 무엇인지, 왜 필요한지, 그것이 무엇인지, 이 모든 훌륭함을 실제로 사용하는 방법을 알아 봅시다.

그래서 순서대로 : 무엇입니까? RAID 어레이아니면 단순히 RAID? 이 약어는 "독립 디스크의 중복 배열" 또는 "독립 디스크의 중복(백업) 배열"을 나타냅니다. 간단히 말해서, RAID 어레이이는 하나의 논리 디스크로 결합된 물리 디스크의 모음입니다.

일반적으로 그 반대 방향으로 발생합니다. 시스템 장치하나의 물리적 디스크가 설치되어 있으며 이를 여러 개의 논리적 디스크로 분할합니다. 여기서 상황은 반대입니다 - 다소 하드 드라이브먼저 그들은 하나로 결합되고 운영 체제는 하나로 인식됩니다. 저것들. OS는 물리적으로 디스크가 하나만 있다고 굳게 믿습니다.

RAID 어레이하드웨어와 소프트웨어가 있습니다.

하드웨어 RAID 어레이 OS가 부팅되기 전에 생성됩니다. 특수 유틸리티, 에 내장되어 있음 RAID 컨트롤러- BIOS 같은 것. 이렇게 만들어본 결과 RAID 어레이이미 OS 설치 단계에서 배포 키트는 하나의 디스크를 "인식"합니다.

소프트웨어 RAID 어레이 OS 도구로 생성되었습니다. 저것들. 로딩 중 운영 체제여러 개의 물리적 디스크가 있고 OS가 시작된 후에만 다음을 통해 "이해"합니다. 소프트웨어디스크는 어레이로 결합됩니다. 당연히 운영 체제 자체는 다음 위치에 있지 않습니다. RAID 어레이, 생성되기 전에 설정되기 때문입니다.

"이게 왜 필요한가요?" - 물어? 대답은 데이터 읽기/쓰기 속도를 높이거나 내결함성과 보안을 높이는 것입니다.

"어떻게 RAID 어레이속도를 높이거나 데이터를 보호할 수 있나요?" - 이 질문에 대답하려면 주요 유형을 고려하세요. RAID 어레이, 그것이 어떻게 형성되고 결과적으로 무엇을 제공하는지.

RAID-0. "스트라이프" 또는 "테이프"라고도 합니다. 두 개 이상의 하드 드라이브는 볼륨을 순차적으로 병합하고 합산하여 하나로 결합됩니다. 저것들. 500GB 디스크 두 개를 가져와서 생성하면 RAID-0, 운영 체제는 이를 1테라바이트 디스크로 인식합니다. 동시에 이 어레이의 읽기/쓰기 속도는 디스크 하나의 속도보다 두 배 빠릅니다. 예를 들어 데이터베이스가 물리적으로 두 개의 디스크에 이런 방식으로 위치하는 경우 한 명의 사용자가 하나의 디스크에서 데이터를 읽을 수 있기 때문입니다. , 다른 사용자는 동시에 다른 디스크에 쓸 수 있습니다. 하나의 디스크에 데이터베이스 위치가 있는 경우 HDD읽기/쓰기 작업 다른 사용자순차적으로 실행됩니다. RAID-0병렬로 읽기/쓰기가 가능해집니다. 결과적으로 어레이에 디스크가 더 많아질수록 RAID-0, 배열 자체가 더 빠르게 작동합니다. 의존성은 정비례합니다. 속도는 N배 증가합니다. 여기서 N은 어레이의 디스크 수입니다.
어레이에서 RAID-0이를 사용하는 데 따른 모든 이점보다 중요한 단점은 단 하나뿐입니다. 내결함성이 완전히 부족하다는 것입니다. 어레이의 물리적 디스크 중 하나가 죽으면 전체 어레이도 죽습니다. 이에 대한 오래된 농담이 있습니다: "제목의 '0'은 무엇을 의미합니까? RAID-0? - 배열이 죽은 후 복원된 정보의 양!"

RAID-1. "거울" 또는 "거울"이라고도 합니다. 두 개 이상의 하드 드라이브가 병렬 병합을 통해 하나로 결합됩니다. 저것들. 500GB 디스크 두 개를 가져와서 생성하면 RAID-1, 운영 체제는 이를 하나의 500GB 디스크로 인식합니다. 이 경우 정보가 두 디스크에 동시에 읽기/쓰기되므로 이 어레이의 읽기/쓰기 속도는 한 디스크의 읽기/쓰기 속도와 동일합니다. RAID-1속도 향상은 제공하지 않지만 하드 드라이브 중 하나가 작동하지 않는 경우 항상 두 번째 드라이브에 완전한 정보 복제본이 있기 때문에 더 큰 내결함성을 제공합니다. 내결함성은 어레이 디스크 중 하나가 중단된 경우에만 제공된다는 점을 기억해야 합니다. 데이터가 의도적으로 삭제된 경우, 어레이의 모든 디스크에서 동시에 삭제됩니다!

RAID-5. 더 안전 옵션 RAID-0. 배열의 부피는 공식을 사용하여 계산됩니다. (N - 1) * 디스크 크기 RAID-5 500GB 디스크 3개에서 1테라바이트의 배열을 얻습니다. 배열의 본질 RAID-5여러 개의 디스크가 RAID-0으로 결합되고 마지막 디스크에는 소위 "체크섬"(죽은 경우 어레이 디스크 중 하나를 복원하기 위한 서비스 정보)이 저장됩니다. 어레이 쓰기 속도 RAID-5체크섬을 계산하고 별도의 디스크에 쓰는 데 시간이 걸리기 때문에 다소 낮지만 읽기 속도는 RAID-0과 동일합니다.
어레이 디스크 중 하나인 경우 RAID-5죽으면 모든 작업에 추가 조작이 수반되므로 읽기/쓰기 속도가 급격히 떨어집니다. 실제로 RAID-5 RAID-0으로 바뀌고 복구가 적시에 처리되지 않는 경우 RAID 어레이데이터가 완전히 손실될 위험이 큽니다.
배열 사용 RAID-5소위 예비 디스크를 사용할 수 있습니다. 여분의. 안정적인 작동 중 RAID 어레이이 디스크는 유휴 상태이며 사용되지 않습니다. 그러나 중대한 상황이 발생한 경우 복구가 가능합니다. RAID 어레이자동으로 시작 - 손상된 정보의 정보는 별도의 디스크에 있는 체크섬을 사용하여 예비 디스크에 복원됩니다.
RAID-5최소 3개 이상의 디스크에서 생성되며 단일 오류로부터 저장됩니다. 서로 다른 디스크에서 서로 다른 오류가 동시에 발생하는 경우 RAID-5저장하지 않습니다.

RAID-6- RAID-5의 향상된 버전입니다. 본질은 동일합니다. 체크섬에 대해서만 하나가 아닌 두 개의 디스크가 사용되며 체크섬은 다른 알고리즘을 사용하여 계산되므로 모든 것의 내결함성이 크게 향상됩니다. RAID 어레이일반적으로. RAID-6최소 4개의 디스크로 조립됩니다. 배열의 부피를 계산하는 공식은 다음과 같습니다. (N - 2) * 디스크 크기여기서 N은 배열의 디스크 수이고 DiskSize는 각 디스크의 크기입니다. 저것들. 만드는 동안 RAID-6 500GB 디스크 5개로 1.5테라바이트의 배열을 얻습니다.
쓰기 속도 RAID-6이는 RAID-5보다 약 10-15% 낮습니다. 이는 체크섬을 계산하고 작성하는 데 추가 시간이 소요되기 때문입니다.

RAID-10- 가끔 부르기도 함 RAID 0+1또는 RAID 1+0. 이는 RAID-0과 RAID-1의 공생입니다. 어레이는 최소 4개의 디스크로 구성됩니다. 첫 번째 RAID-0 채널에는 읽기/쓰기 속도를 높이기 위해 두 번째 RAID-0에, 내결함성을 높이기 위해 RAID-1 미러에 디스크 사이를 구성합니다. 따라서, RAID-10빠르고 내결함성이라는 처음 두 옵션의 장점을 결합합니다.

RAID-50- 마찬가지로 RAID-10은 RAID-0과 RAID-5의 공생입니다. 실제로 RAID-5는 구성 요소만 독립적이지 않습니다. 하드 디스크, 어레이는 RAID-0입니다. 따라서, RAID-50매우 우수한 읽기/쓰기 속도를 제공하며 RAID-5의 안정성과 신뢰성을 포함합니다.

RAID-60- 동일한 아이디어: 실제로 여러 RAID-0 어레이로 구성된 RAID-6이 있습니다.

다른 결합 배열도 있습니다 RAID 5+1그리고 RAID 6+1-그들은 마치 RAID-50그리고 RAID-60유일한 차이점은 어레이의 기본 요소가 RAID-0 테이프가 아니라 RAID-1 미러라는 점입니다.

결합된 RAID 어레이를 어떻게 이해합니까? RAID-10, RAID-50, RAID-60및 옵션 RAID X+1기본 배열 유형의 직계 자손입니다. RAID-0, RAID-1, RAID-5그리고 RAID-6기본 상위 유형의 기능을 수행하면서 읽기/쓰기 속도를 높이거나 내결함성을 높이는 역할만 합니다. RAID 어레이.

우리가 연습으로 나아가서 특정 사용법에 대해 이야기한다면 RAID 어레이인생에서 논리는 매우 간단합니다.

RAID-0우리는 그것을 순수한 형태로 전혀 사용하지 않습니다.

RAID-1읽기/쓰기 속도는 특별히 중요하지 않지만 내결함성이 중요한 경우에 사용합니다. RAID-1운영체제를 설치하는 것이 좋습니다. 이 경우 OS를 제외한 누구도 디스크에 액세스하지 않으며 하드 디스크 자체의 속도는 작동에 충분하며 내결함성이 보장됩니다.

RAID-5속도와 내결함성이 필요하지만 추가 하드 드라이브를 구입할 돈이 충분하지 않거나 작업을 중단하지 않고 손상된 경우 어레이를 복원해야 하는 경우에 설치합니다. 여기서는 예비 예비 드라이브가 도움이 됩니다. 공통 응용 RAID-5- 데이터 저장고;

RAID-6단순히 무섭거나 어레이의 여러 디스크가 동시에 사망할 위험이 있는 경우에 사용됩니다. 실제로는 주로 편집증적인 사람들 사이에서 매우 드뭅니다.

RAID-10- 신속하고 안정적인 작업이 필요한 곳에 사용됩니다. 또한 주요 사용 방향 RAID-10파일 서버와 데이터베이스 서버입니다.

다시 말하지만, 더 단순화하면 파일에 대한 크고 방대한 작업이 없는 경우에는 충분하다는 결론에 도달합니다. RAID-1- 운영체제, AD, TS, 메일, 프록시 등 진지한 파일 작업이 필요한 경우: RAID-5또는 RAID-10.

데이터베이스 서버에 이상적인 솔루션은 6개의 물리적 디스크가 있는 시스템이며, 그 중 2개는 미러로 결합됩니다. RAID-1그 위에 OS를 설치하고 나머지 4개를 합쳐서 RAID-10빠르고 안정적인 데이터 처리를 위해.

위의 내용을 모두 읽은 후 서버에 설치하기로 결정한 경우 RAID 어레이, 하지만 어떻게 해야 할지, 어디서부터 시작해야 할지 모르시면 저희에게 연락해주세요! - 필요한 장비를 선택하고 구현을 위한 설치 작업을 수행하도록 도와드립니다. RAID 어레이.

모든 최신 마더보드에는 통합 RAID 컨트롤러가 장착되어 있으며, 상위 모델에는 여러 통합 RAID 컨트롤러도 있습니다. 가정 사용자가 통합 RAID 컨트롤러를 어느 정도까지 요구하는지는 별개의 문제입니다. 어쨌든 현대는 마더보드사용자에게 여러 디스크의 RAID 배열을 생성할 수 있는 기능을 제공합니다. 그러나 모든 가정 사용자가 RAID 어레이를 만드는 방법, 선택할 어레이 레벨을 아는 것은 아니며 일반적으로 RAID 어레이 사용의 장단점에 대해 거의 알지 못합니다.
이 기사에서는 가정용 PC에서 RAID 어레이를 생성하는 방법에 대한 간략한 권장 사항을 제공하고 특정 예를 사용하여 RAID 어레이의 성능을 독립적으로 테스트할 수 있는 방법을 보여줍니다.

창조의 역사

"RAID 어레이"라는 용어는 1987년 미국 캘리포니아 버클리 대학의 Patterson, Gibson 및 Katz 연구원이 "저렴한 디스크의 중복 어레이, RAID에 대한 사례"라는 기사에서 처음 등장했습니다. 저렴한 하드 드라이브를 하나의 논리 장치로 통합하여 시스템의 용량과 성능을 높이고, 개별 드라이브의 오류가 전체 시스템의 오류로 이어지지 않습니다.

이 기사가 출판된 지 20년 이상이 지났지만 RAID 어레이 구축 기술은 오늘날에도 그 관련성을 잃지 않았습니다. 그 이후로 변경된 유일한 것은 RAID 약어의 디코딩입니다. 사실 초기에는 RAID 어레이가 전혀 값싼 디스크에 구축되지 않았기 때문에 Inexpensive(저렴한)라는 단어가 Independent(독립)로 바뀌었는데, 이는 더 사실입니다.

동작 원리

따라서 RAID는 내결함성을 보장하고 성능을 높이는 역할을 하는 독립 디스크의 중복 배열(Redundant Arrays of Independent Discs)입니다. 내결함성은 중복성을 통해 달성됩니다. 즉, 디스크 공간 용량의 일부가 공식적인 목적으로 할당되어 사용자가 접근할 수 없게 됩니다.

디스크 하위 시스템의 성능 향상은 여러 디스크의 동시 작동을 통해 보장되며, 이러한 의미에서 어레이에 디스크가 많을수록(특정 한도까지) 더 좋습니다.

어레이에 있는 디스크의 공동 작업은 병렬 또는 독립적 액세스를 사용하여 구성할 수 있습니다. 병렬 액세스를 사용하면 디스크 공간이 데이터 기록을 위해 블록(스트립)으로 분할됩니다. 마찬가지로 디스크에 기록되는 정보도 동일한 블록으로 나누어집니다. 쓰기 시 개별 블록이 서로 다른 디스크에 기록되고, 여러 블록이 서로 다른 디스크에 동시에 기록되므로 쓰기 작업 성능이 향상됩니다. 필요한 정보는 여러 디스크에서 동시에 별도의 블록으로 읽혀지므로 어레이의 디스크 수에 비례하여 성능도 향상됩니다.

병렬 액세스 모델은 데이터 쓰기 요청의 크기가 블록 자체의 크기보다 큰 경우에만 구현된다는 점에 유의해야 합니다. 그렇지 않으면 여러 블록을 동시에 기록하는 것이 거의 불가능합니다. 개별 블록의 크기가 8KB이고, 데이터 쓰기 요청 크기가 64KB인 상황을 상상해 보겠습니다. 이 경우 소스 정보는 각각 8KB의 블록 8개로 잘립니다. 4개의 디스크 어레이가 있는 경우 한 번에 4개의 블록, 즉 32KB를 쓸 수 있습니다. 분명히 고려된 예에서 쓰기 및 읽기 속도는 단일 디스크를 사용할 때보다 4배 더 빠릅니다. 이는 이상적인 상황에서만 해당되지만 요청 크기가 항상 블록 크기와 어레이에 있는 디스크 수의 배수가 되는 것은 아닙니다.

기록된 데이터의 크기가 블록 크기보다 작으면 근본적으로 다른 모델, 즉 독립적인 액세스가 구현됩니다. 또한, 이 모델은 기록되는 데이터의 크기가 한 블록의 크기보다 큰 경우에도 사용할 수 있습니다. 독립적인 액세스를 사용하면 단일 요청의 모든 데이터가 별도의 디스크에 기록됩니다. 즉, 상황은 하나의 디스크로 작업하는 것과 동일합니다. 독립 액세스 모델의 장점은 여러 쓰기(읽기) 요청이 동시에 도착하는 경우 해당 요청이 모두 별도의 디스크에서 서로 독립적으로 실행된다는 것입니다. 이러한 상황은 예를 들어 서버의 경우 일반적입니다.

에 따라 다양한 방식액세스가 존재하며 다른 유형일반적으로 RAID 레벨로 특징지어지는 RAID 어레이. 액세스 유형 외에도 RAID 레벨은 중복 정보를 수용하고 생성하는 방식도 다릅니다. 중복 정보는 전용 디스크에 배치하거나 모든 디스크에 분산할 수 있습니다. 이 정보를 생성하는 방법에는 여러 가지가 있습니다. 그 중 가장 간단한 것은 완전한 복제(100% 중복) 또는 미러링입니다. 또한 오류 수정 코드와 패리티 계산이 사용됩니다.

RAID 수준

현재 표준화된 것으로 간주할 수 있는 여러 RAID 레벨이 있습니다. 이는 RAID 0, RAID 1, RAID 2, RAID 3, RAID 4, RAID 5 및 RAID 6입니다.

다양한 RAID 레벨 조합도 사용되므로 각 장점을 결합할 수 있습니다. 일반적으로 이는 일종의 내결함성 수준과 성능 향상을 위해 사용되는 0 수준(RAID 1+0, RAID 0+1, RAID 50)의 조합입니다.

모든 최신 RAID 컨트롤러는 어레이 생성용이 아닌 JBOD(Just a Bench Of Disks) 기능을 지원합니다. 이는 개별 디스크를 RAID 컨트롤러에 연결하는 기능을 제공합니다.

가정용 PC용 마더보드에 통합된 RAID 컨트롤러는 모든 RAID 레벨을 지원하지 않는다는 점에 유의해야 합니다. 듀얼 포트 RAID 컨트롤러는 레벨 0과 1만 지원하는 반면, 포트가 더 많은 RAID 컨트롤러(예: ICH9R/ICH10R 칩셋의 사우스브리지에 통합된 6포트 RAID 컨트롤러)도 레벨 10과 5를 지원합니다.

또한 Intel 칩셋 기반 마더보드에 대해 이야기하면 Intel Matrix RAID 기능도 구현되어 있습니다. 하드 드라이브 x 여러 레벨의 RAID 매트릭스를 동시에 사용하여 각 레벨에 디스크 공간의 일부를 할당합니다.

RAID 0

엄밀히 말하면 RAID 레벨 0은 중복 어레이가 아니므로 안정적인 데이터 저장을 제공하지 않습니다. 그럼에도 불구하고 이 수준디스크 하위 시스템의 고성능을 보장해야 하는 경우에 적극적으로 사용됩니다. RAID 레벨 0 어레이를 생성할 때 정보는 블록(때때로 이러한 블록을 스트라이프라고 함)으로 나누어 별도의 디스크에 기록됩니다. 즉, 병렬 액세스가 가능한 시스템이 생성됩니다(물론 블록 크기가 허용하는 경우). ). 여러 디스크에서 동시 I/O를 허용함으로써 RAID 0은 체크섬에 저장 공간이 필요하지 않기 때문에 가장 빠른 데이터 전송 속도와 최대 디스크 공간 효율성을 제공합니다. 이 레벨의 구현은 매우 간단합니다. RAID 0은 대용량 데이터의 빠른 전송이 필요한 분야에 주로 사용됩니다.

RAID 1(미러링된 디스크)

RAID 레벨 1은 100% 중복성을 갖춘 두 개의 디스크로 구성된 어레이입니다. 즉, 데이터가 완전히 복제(미러링)되므로 매우 높은 수준의 신뢰성(및 비용)이 달성됩니다. 레벨 1을 구현하기 위해 먼저 디스크와 데이터를 블록으로 분할할 필요는 없습니다. 가장 간단한 경우에는 두 개의 디스크가 동일한 정보를 포함하며 하나의 논리 디스크입니다. 한 디스크에 오류가 발생하면 해당 기능은 다른 디스크에 의해 수행됩니다(사용자에게 전혀 공개되지 않음). 배열 복원은 단순 복사를 통해 수행됩니다. 또한 이 작업은 두 개의 디스크에서 동시에 수행될 수 있으므로 정보 읽기 속도가 두 배로 향상됩니다. 이러한 유형의 정보 저장 체계는 주로 데이터 보안 비용이 저장 시스템 구현 비용보다 훨씬 높은 경우에 사용됩니다.

RAID 5

RAID 5는 분산 체크섬 저장 기능을 갖춘 내결함성 디스크 어레이입니다. 기록할 때 데이터 스트림은 바이트 수준에서 블록(스트라이프)으로 나누어지며 동시에 순환 순서에 따라 어레이의 모든 디스크에 기록됩니다.

배열에 다음이 포함되어 있다고 가정합니다. N디스크 및 스트라이프 크기 . 각 부분에 대해 n–1줄무늬, 체크섬이 계산됩니다. .

줄무늬 디 1첫 번째 디스크에 기록된 스트라이프 일 2- 두 번째 등 스트라이프까지 dn–1, 이는 ( N–1)번째 디스크. 다음은 N-디스크 체크섬이 기록됩니다. 피엔, 스트라이프가 기록된 첫 번째 디스크부터 프로세스가 주기적으로 반복됩니다. 디엔.

녹음 과정 (n–1)스트라이프와 해당 체크섬은 모든 항목에 대해 동시에 생성됩니다. N디스크.

체크섬은 기록되는 데이터 블록에 적용되는 XOR(비트 배타적 논리합) 연산을 사용하여 계산됩니다. 그래서 만약 있다면 N하드 드라이브, - 데이터 블록(스트라이프)인 경우 체크섬은 다음 공식을 사용하여 계산됩니다.

pn=d1 일 2 ... d 1–1.

디스크에 장애가 발생하면 제어 데이터와 작업 디스크에 남아 있는 데이터를 사용하여 해당 디스크의 데이터를 복원할 수 있습니다.

예를 들어, 4비트 블록을 생각해 보십시오. 데이터를 저장하고 체크섬을 기록하는 데 디스크가 5개만 있다고 가정합니다. 4비트 블록으로 나누어진 일련의 비트 1101 0011 1100 1011이 있는 경우 체크섬을 계산하려면 다음 비트별 연산을 수행해야 합니다.

1101 0011 1100 1011 = 1001.

따라서 다섯 번째 디스크에 기록된 체크섬은 1001입니다.

디스크 중 하나(예: 네 번째 디스크)에 오류가 발생하면 블록이 디 4= 1100은 읽을 때 사용할 수 없습니다. 그러나 해당 값은 동일한 "배타적 OR" 연산을 사용하여 체크섬 및 나머지 블록의 값을 사용하여 쉽게 복원할 수 있습니다.

d4 = d1 일 2디 4p5.

이 예에서는 다음을 얻습니다.

d4 = (1101) (0011) (1100) (1011) = 1001.

RAID 5의 경우 어레이의 모든 디스크 크기는 동일하지만 쓰기에 사용할 수 있는 디스크 하위 시스템의 총 용량은 정확히 디스크 1개 작아집니다. 예를 들어 디스크 5개의 크기가 100GB인 경우 제어 정보에 100GB가 할당되므로 배열의 실제 크기는 400GB입니다.

RAID 5는 3개 이상의 하드 드라이브에 구축할 수 있습니다. 어레이의 하드 드라이브 수가 증가하면 중복성은 감소합니다.

RAID 5에는 여러 읽기 또는 쓰기를 동시에 수행할 수 있는 독립적인 액세스 아키텍처가 있습니다.

RAID 10

RAID 레벨 10은 레벨 0과 1의 조합입니다. 이 레벨의 최소 요구 사항은 드라이브 4개입니다. 4개의 드라이브로 구성된 RAID 10 어레이에서는 쌍으로 결합되어 레벨 0 어레이로 결합되고 논리 드라이브인 두 어레이는 모두 레벨 1 어레이로 결합됩니다. 또 다른 접근 방식도 가능합니다. 초기에 디스크는 미러링된 어레이로 결합됩니다. 레벨 1, 그리고 이러한 어레이를 기반으로 하는 논리 드라이브를 레벨 0의 어레이로 만듭니다.

인텔 매트릭스 RAID

고려되는 레벨 5 및 1의 RAID 어레이는 집에서 거의 사용되지 않습니다. 이는 주로 그러한 솔루션의 높은 비용 때문입니다. 대부분 가정용 PC의 경우 두 개의 디스크에 있는 레벨 0 어레이가 사용됩니다. 이미 언급했듯이 RAID 레벨 0은 안전한 데이터 저장을 제공하지 않으므로 최종 사용자는 빠르지만 신뢰할 수 없는 RAID 레벨 0 어레이를 만들거나 디스크 공간 비용을 두 배로 늘리는 RAID-레벨 1 어레이를 선택해야 합니다. 안정적인 데이터 저장소를 제공하지만 상당한 성능 이점을 제공하지는 않습니다.

이 어려운 문제를 해결하기 위해 인텔은 단 두 개의 물리적 디스크에 계층 0 및 계층 1 어레이의 이점을 결합한 인텔 매트릭스 스토리지 기술을 개발했습니다. 그리고 이 경우 우리가 단순히 RAID 어레이에 대해 이야기하는 것이 아니라 물리적 디스크와 논리 디스크를 모두 결합한 어레이에 대해 이야기하고 있다는 점을 강조하기 위해 기술 이름에 "어레이"라는 단어 대신 "매트릭스"라는 단어를 사용합니다. ".

그렇다면 Intel Matrix Storage 기술을 사용하는 2디스크 RAID 매트릭스란 무엇입니까? 기본 아이디어는 시스템에 Intel Matrix Storage Technology를 지원하는 Intel 칩셋이 탑재된 마더보드와 여러 개의 하드 드라이브가 있는 경우 디스크 공간을 여러 부분으로 나눌 수 있으며 각 부분은 별도의 RAID 어레이로 작동한다는 것입니다.

각각 120GB의 디스크 2개로 구성된 RAID 매트릭스의 간단한 예를 살펴보겠습니다. 모든 디스크는 두 개의 논리 디스크(예: 40GB 및 80GB)로 나눌 수 있습니다. 다음으로 동일한 크기(예: 각각 40GB)의 두 논리 드라이브를 RAID 레벨 1 매트릭스로 결합하고 나머지 논리 드라이브를 RAID 레벨 0 매트릭스로 결합할 수 있습니다.

원칙적으로 두 개의 물리적 디스크를 사용하여 하나 또는 두 개의 RAID 레벨 0 매트릭스를 생성하는 것도 가능하지만 레벨 1 매트릭스만 얻는 것은 불가능합니다. 즉, 시스템에 디스크가 두 개만 있는 경우 인텔 기술매트릭스 스토리지를 사용하면 다음 유형의 RAID 매트릭스를 생성할 수 있습니다.

  • 하나의 레벨 0 매트릭스;
  • 2개의 레벨 0 행렬;
  • 레벨 0 매트릭스와 레벨 1 매트릭스.

시스템에 3개의 하드 드라이브가 있는 경우 다음 유형의 RAID 매트릭스를 생성할 수 있습니다.

  • 하나의 레벨 0 매트릭스;
  • 하나의 레벨 5 매트릭스;
  • 2개의 레벨 0 행렬;
  • 2개의 레벨 5 행렬;
  • 레벨 0 매트릭스와 레벨 5 매트릭스.

시스템에 4개의 하드 드라이브가 있는 경우 레벨 10의 RAID 매트릭스뿐만 아니라 레벨 10과 레벨 0 또는 5의 조합도 생성할 수 있습니다.

이론부터 실습까지

가정용 컴퓨터에 관해 이야기하면 가장 인기 있고 인기 있는 것은 레벨 0과 1의 RAID 어레이입니다. 가정용 PC에서 3개 이상의 디스크로 구성된 RAID 어레이를 사용하는 것은 오히려 규칙의 예외입니다. 이는 RAID 어레이의 비용이 관련된 디스크 수에 비례하여 증가하고 다른 한편으로는 가정용 컴퓨터의 경우 디스크 어레이의 용량이 가장 중요하기 때문입니다. , 성능과 신뢰성이 아닙니다.

따라서 앞으로는 두 개의 디스크만을 기반으로 하는 RAID 레벨 0과 1을 고려할 것입니다. 우리 연구의 목적은 여러 통합 RAID 컨트롤러를 기반으로 생성된 레벨 0과 1의 RAID 어레이의 성능과 기능을 비교하고 스트라이프에 대한 RAID 어레이의 속도 특성의 의존성을 연구하는 것입니다. 크기.

사실 이론적으로는 RAID 레벨 0 어레이를 사용할 때 읽기 및 쓰기 속도가 두 배가 되어야 하지만 실제로는 속도 특성의 증가가 훨씬 적으며 RAID 컨트롤러마다 다릅니다. RAID 레벨 1 어레이의 경우에도 마찬가지입니다. 이론적으로는 읽기 속도가 두 배가 되어야 한다는 사실에도 불구하고 실제로는 그렇게 원활하지 않습니다.

RAID 컨트롤러 비교 테스트를 위해 Gigabyte GA-EX58A-UD7 마더보드를 사용했습니다. 이 보드는 다음을 기반으로 합니다. 인텔 칩셋 ICH10R 사우스브리지가 포함된 X58 Express에는 6개의 SATA II 포트용 통합 RAID 컨트롤러가 있으며 Intel Matrix RAID 기능을 통해 레벨 0, 1, 10 및 5의 RAID 어레이 구성을 지원합니다. 또한 Gigabyte GA-EX58A-UD7 보드에는 레벨 0, 1 및 JBOD의 RAID 어레이를 구성할 수 있는 SATA II 포트 2개가 있는 GIGABYTE SATA2 RAID 컨트롤러가 통합되어 있습니다.

또한 GA-EX58A-UD7 보드에는 통합 SATA III 컨트롤러 Marvell 9128이 있으며, 이를 기반으로 레벨 0, 1 및 JBOD의 RAID 어레이를 구성하는 기능을 갖춘 두 개의 SATA III 포트가 구현됩니다.

따라서 Gigabyte GA-EX58A-UD7 보드에는 3개의 개별 RAID 컨트롤러가 있으며, 이를 기반으로 레벨 0과 1의 RAID 어레이를 생성하고 서로 비교할 수 있습니다. SATA III 표준은 SATA II 표준과 역호환되므로 SATA III 인터페이스가 있는 드라이브를 지원하는 Marvell 9128 컨트롤러를 기반으로 SATA II 인터페이스가 있는 드라이브를 사용하여 RAID 어레이를 만들 수도 있습니다.

테스트 스탠드의 구성은 다음과 같습니다.

  • 프로세서 - 인텔 코어 i7-965 익스트림 에디션;
  • 마더보드 - Gigabyte GA-EX58A-UD7;
  • BIOS 버전 - F2a;
  • 하드 드라이브 - Western Digital WD1002FBYS 드라이브 2개, Western Digital WD3200AAKS 드라이브 1개
  • 통합 RAID 컨트롤러:
  • ICH10R,
  • 기가바이트 SATA2,
  • 마벨 9128;
  • 메모리 - DDR3-1066;
  • 메모리 용량 - 3GB(각각 1024MB의 모듈 3개)
  • 메모리 작동 모드 - DDR3-1333, 3채널 작동 모드;
  • 비디오 카드 - Gigabyte GeForce GTS295;
  • 전원 공급 장치 - Tagan 1300W.

테스트는 운영 체제 제어 하에 수행되었습니다. 마이크로소프트 윈도우 7 얼티밋(32비트). 운영 체제는 ICH10R 사우스브리지에 통합된 SATA II 컨트롤러의 포트에 연결된 Western Digital WD3200AAKS 드라이브에 설치되었습니다. RAID 어레이는 SATA II 인터페이스를 갖춘 두 개의 WD1002FBYS 드라이브에 조립되었습니다.

생성된 RAID 어레이의 속도 특성을 측정하기 위해 디스크 시스템 성능 측정을 위한 업계 표준인 IOmeter 유틸리티를 사용했습니다.

IOmeter 유틸리티

이 문서는 RAID 어레이를 생성하고 테스트하기 위한 일종의 사용자 가이드로 작성되었으므로 이미 언급한 바와 같이 일종의 RAID 어레이인 IOmeter(입력/출력 미터) 유틸리티에 대한 설명부터 시작하는 것이 합리적입니다. 디스크 시스템의 성능을 측정하기 위한 업계 표준입니다. 이 유틸리티무료이며 http://www.iometer.org에서 다운로드할 수 있습니다.

IOmeter 유틸리티는 종합 테스트이며 논리 파티션으로 분할되지 않은 하드 드라이브로 작업할 수 있도록 해줍니다. 파일 구조운영 체제의 영향을 0으로 줄입니다.

테스트할 때 하드 드라이브의 특정 작업 실행을 지정할 수 있는 특정 액세스 모델 또는 "패턴"을 생성할 수 있습니다. 생성의 경우 특정 모델다음 매개변수를 변경하려면 액세스가 허용됩니다.

  • 데이터 전송 요청의 크기
  • 무작위/순차 분포(%);
  • 읽기/쓰기 작업 분포(%)
  • 병렬로 실행되는 개별 I/O 작업 수입니다.

IOmeter 유틸리티는 컴퓨터에 설치할 필요가 없으며 IOmeter 자체와 Dynamo의 두 부분으로 구성됩니다.

IOmeter는 사용자가 정의한 프로그램의 모니터링 부분입니다. 그래픽 인터페이스, 필요한 모든 설정을 지정할 수 있습니다. Dynamo는 인터페이스가 없는 부하 생성기입니다. IOmeter.exe를 실행할 때마다 Dynamo.exe 로드 생성기가 자동으로 시작됩니다.

IOmeter 프로그램 작업을 시작하려면 IOmeter.exe 파일을 실행하기만 하면 됩니다. 그러면 IOmeter 프로그램의 기본 창이 열립니다(그림 1).

쌀. 1. IOmeter 프로그램의 메인 창

IOmeter 유틸리티를 사용하면 로컬 디스크 시스템(DAS)뿐만 아니라 네트워크 드라이브(NAS). 예를 들어 여러 네트워크 클라이언트를 사용하여 서버의 디스크 하위 시스템(파일 서버) 성능을 테스트하는 데 사용할 수 있습니다. 따라서 IOmeter 유틸리티 창의 일부 북마크 및 도구는 특히 다음과 관련이 있습니다. 네트워크 설정프로그램들. 디스크 및 RAID 어레이를 테스트할 때는 이러한 프로그램 기능이 필요하지 않으므로 모든 탭과 도구의 목적을 설명하지 않습니다.

따라서 IOmeter 프로그램을 시작하면 실행 중인 모든 로드 생성기(Dynamo 인스턴스)의 트리 구조가 기본 창 왼쪽(토폴로지 창)에 표시됩니다. 실행 중인 각 Dynamo 부하 생성기 인스턴스를 관리자라고 합니다. 또한 IOmeter 프로그램은 다중 스레드이며 Dynamo 부하 생성기 인스턴스에서 실행되는 각 개별 스레드를 작업자라고 합니다. 실행 중인 작업자 수는 항상 논리 프로세서 코어 수와 일치합니다.

이 예에서는 하이퍼스레딩 기술을 지원하는 쿼드 코어 프로세서가 탑재된 컴퓨터 한 대만 사용하므로 관리자 한 명(Dynamo 인스턴스 한 명)과 작업자 여덟 명(논리적 프로세서 코어 수에 따라)만 실행됩니다.

실제로 이 창에서 디스크를 테스트하기 위해 아무것도 변경하거나 추가할 필요가 없습니다.

실행 중인 Dynamo 인스턴스의 트리 구조에서 컴퓨터 이름을 마우스로 선택하면 해당 창에서 표적탭에 디스크 대상컴퓨터에 설치된 모든 디스크, 디스크 어레이 및 기타 드라이브(네트워크 드라이브 포함)가 표시됩니다. 이는 IOmeter와 함께 작동할 수 있는 드라이브입니다. 미디어는 노란색이나 파란색으로 표시될 수 있습니다. 미디어의 논리적 파티션은 노란색으로 표시되고, 논리적 파티션이 생성되지 않은 물리적 장치는 파란색으로 표시됩니다. 논리적 섹션은 지워질 수도 있고 지워지지 않을 수도 있습니다. 사실 프로그램이 논리 파티션과 함께 작동하려면 먼저 전체 논리 파티션의 용량과 동일한 크기의 특수 파일을 생성하여 준비해야 합니다. 논리 파티션에 줄이 그어져 있으면 해당 섹션이 아직 테스트용으로 준비되지 않았음을 의미하며(테스트의 첫 번째 단계에서 자동으로 준비됨) 섹션에 줄이 그어져 있지 않으면 파일이 이미 준비되었음을 의미합니다. 논리 파티션에 생성되어 테스트 준비가 완료되었습니다.

논리 파티션 작업 기능이 지원됨에도 불구하고 논리 파티션으로 분할되지 않은 드라이브를 테스트하는 것이 가장 좋습니다. 스냅인을 통해 아주 간단하게 논리 디스크 파티션을 삭제할 수 있습니다. 디스크 관리. 액세스하려면 아이콘을 마우스 오른쪽 버튼으로 클릭하세요. 컴퓨터데스크탑에서 열리는 메뉴에서 항목을 선택하십시오. 관리하다. 열리는 창에서 컴퓨터 관리왼쪽에서 항목을 선택해야합니다 저장, 그리고 그 안에 - 디스크 관리. 그 후 창 오른쪽에 컴퓨터 관리연결된 모든 드라이브가 표시됩니다. 마우스 오른쪽 버튼을 클릭하면 원하는 디스크에열리는 메뉴에서 항목을 선택하면 볼륨 삭제..., 물리 디스크의 논리 파티션을 삭제할 수 있습니다. 디스크에서 논리 파티션을 삭제하면 해당 파티션의 모든 정보가 복구 가능성 없이 삭제된다는 점을 상기시켜 드리겠습니다.

일반적으로 IOmeter 유틸리티를 사용하면 빈 디스크나 디스크 배열만 테스트할 수 있습니다. 즉, 운영 체제가 설치된 디스크나 디스크 배열을 테스트할 수 없습니다.

이제 IOmeter 유틸리티에 대한 설명으로 돌아가겠습니다. 창문에서 표적탭에 디스크 대상테스트할 디스크(또는 디스크 어레이)를 선택해야 합니다. 다음으로 탭을 열어야 합니다 액세스 사양(그림 2) 이를 통해 테스트 시나리오를 결정할 수 있습니다.

쌀. 2. IOmeter 유틸리티의 사양 탭에 액세스합니다.

창문에서 글로벌 액세스 사양부팅 관리자에 할당할 수 있는 미리 정의된 테스트 스크립트 목록이 있습니다. 그러나 이러한 스크립트는 필요하지 않으므로 모두 선택하고 삭제할 수 있습니다(이를 위한 버튼이 있습니다). 삭제). 그 후 버튼을 클릭하세요. 새로운새로운 테스트 스크립트를 생성합니다. 열리는 창에서 액세스 사양 편집디스크 또는 RAID 어레이에 대한 부팅 시나리오를 정의할 수 있습니다.

데이터 전송 요청 블록의 크기에 대한 순차(선형) 읽기 및 쓰기 속도의 의존성을 찾고 싶다고 가정해 보겠습니다. 이를 위해서는 서로 다른 블록 크기의 순차 읽기 모드에서 일련의 부팅 스크립트를 생성한 다음, 서로 다른 블록 크기의 순차 쓰기 모드에서 일련의 부팅 스크립트를 생성해야 합니다. 일반적으로 블록 크기는 시리즈로 선택되며 각 구성원은 이전 구성원 크기의 두 배이고 이 시리즈의 첫 번째 구성원은 512바이트입니다. 즉, 블록 크기는 512바이트, 1, 2, 4, 8, 16, 32, 64, 128, 256, 512KB, 1MB입니다. 순차 작업의 경우 블록 크기를 1MB보다 크게 만드는 것은 의미가 없습니다. 이렇게 큰 데이터 블록 크기에서는 순차 작업 속도가 변하지 않기 때문입니다.

그럼 512바이트 블록에 대해 순차 읽기 모드로 로딩 스크립트를 만들어 보겠습니다.

현장에서 이름창문 액세스 사양 편집로딩 스크립트의 이름을 입력하세요. 예를 들어 Sequential_Read_512입니다. 다음으로 현장에서 전송 요청 크기데이터 블록 크기를 512바이트로 설정했습니다. 슬라이더 무작위/순차 분포 비율(순차 작업과 선택 작업 사이의 백분율 비율) 모든 작업이 순차적으로 이루어지도록 왼쪽으로 끝까지 이동합니다. 음, 슬라이더 읽기 작업과 쓰기 작업 간의 백분율 비율을 설정하는 는 모든 작업이 읽기 전용이 되도록 오른쪽으로 끝까지 이동합니다. 창의 다른 매개변수 액세스 사양 편집변경할 필요가 없습니다(그림 3).

쌀. 3. 순차적 읽기 로드 스크립트를 생성하기 위한 액세스 사양 편집 창
512바이트의 데이터 블록 크기

버튼을 클릭하세요 좋아요, 우리가 만든 첫 번째 스크립트가 창에 나타납니다. 글로벌 액세스 사양탭에 액세스 사양 IOmeter 유틸리티.

마찬가지로 나머지 데이터 블록에 대한 스크립트를 생성해야 하지만 작업을 더 쉽게 하려면 버튼을 클릭하여 매번 스크립트를 새로 생성하지 않는 것이 더 쉽습니다. 새로운, 마지막으로 생성된 시나리오를 선택한 후 버튼을 누릅니다. 사본 편집(사본 편집). 이 후에 창이 다시 열립니다. 액세스 사양 편집마지막으로 생성된 스크립트의 설정을 사용합니다. 블록의 이름과 크기만 변경하면 충분합니다. 다른 모든 블록 크기에 대해 유사한 절차를 완료하면 순차적 기록을 위한 스크립트 생성을 시작할 수 있습니다. 이 작업은 슬라이더를 제외하고 완전히 동일한 방식으로 수행됩니다. 읽기/쓰기 분포 비율읽기 작업과 쓰기 작업 간의 백분율을 설정하는 는 왼쪽 끝까지 이동해야 합니다.

마찬가지로 선택적 쓰기 및 읽기를 위한 스크립트를 생성할 수 있습니다.

모든 스크립트가 준비되면 다운로드 관리자에 할당해야 합니다. 즉, 어떤 스크립트와 함께 작동할지 지정해야 합니다. 발전기.

이를 위해 창에 무엇이 있는지 다시 확인합니다. 토폴로지개별 작업자가 아닌 컴퓨터 이름(즉, 로컬 PC의 로드 관리자)이 강조 표시됩니다. 이렇게 하면 로드 시나리오가 모든 작업자에 한 번에 할당됩니다. 다음 창에서 글로벌 액세스 사양우리가 만든 모든 로드 시나리오를 선택하고 버튼을 누릅니다. 추가하다. 선택한 모든 로드 시나리오가 창에 추가됩니다. (그림 4).

쌀. 4. 생성된 부하 시나리오를 부하 관리자에 할당

그 후에 탭으로 이동해야합니다 테스트 설정(그림 5) 여기서 우리가 만든 각 스크립트의 실행 시간을 설정할 수 있습니다. 그룹에서 이 작업을 수행하려면 런타임로드 시나리오의 실행 시간을 설정합니다. 시간은 3분으로 설정하면 충분합니다.

쌀. 5. 부하 시나리오 실행 시간 설정

게다가 현장에서는 테스트 설명전체 테스트의 이름을 지정해야 합니다. 원칙적으로 이 탭에는 다른 설정이 많이 있지만 작업에는 필요하지 않습니다.

필요한 모든 설정을 완료한 후 도구 모음에서 플로피 디스크 이미지가 있는 버튼을 클릭하여 생성된 테스트를 저장하는 것이 좋습니다. 테스트는 *.icf 확장자로 저장됩니다. 이후에는 IOmeter.exe 파일이 아닌 *.icf 확장자로 저장된 파일을 실행하여 생성된 로드 시나리오를 사용할 수 있습니다.

이제 플래그가 있는 버튼을 클릭하여 직접 테스트를 시작할 수 있습니다. 테스트 결과가 포함된 파일의 이름을 지정하고 해당 위치를 선택하라는 메시지가 표시됩니다. 테스트 결과는 CSV 파일로 저장되어 Excel로 쉽게 내보낼 수 있으며, 첫 번째 열에 필터를 설정하여 테스트 결과와 함께 원하는 데이터를 선택할 수 있습니다.

테스트하는 동안 탭에서 중간 결과를 볼 수 있습니다. 결과 표시, 탭에서 해당 항목이 속한 로드 시나리오를 확인할 수 있습니다. 액세스 사양. 창문에서 할당된 액세스 사양실행 중인 스크립트는 녹색으로, 완료된 스크립트는 빨간색으로, 실행되지 않은 스크립트는 파란색으로 나타납니다.

따라서 개별 디스크 또는 RAID 어레이를 테스트하는 데 필요한 IOmeter 유틸리티 작업을 위한 기본 기술을 살펴보았습니다. IOmeter 유틸리티의 모든 기능에 대해 설명하지는 않았지만 모든 기능에 대한 설명은 이 기사의 범위를 벗어납니다.

GIGABYTE SATA2 컨트롤러를 기반으로 RAID 어레이 생성

따라서 보드에 통합된 GIGABYTE SATA2 RAID 컨트롤러를 사용하여 두 개의 디스크를 기반으로 RAID 어레이를 생성하기 시작합니다. 물론 Gigabyte 자체에서는 칩을 생산하지 않으므로 GIGABYTE SATA2 칩 아래에는 다른 회사의 레이블이 변경된 칩이 숨겨져 있습니다. 드라이버 INF 파일에서 알 수 있듯이 JMicron JMB36x 시리즈 컨트롤러에 대해 이야기하고 있습니다.

시스템 부팅 단계에서 컨트롤러 설정 메뉴에 액세스할 수 있으며, 해당 메뉴가 화면에 나타날 때 Ctrl+G 키 조합을 눌러야 합니다. 당연히 처음에는 BIOS 설정 GIGABYTE SATA2 컨트롤러에 속하는 2개의 SATA 포트의 작동 모드를 RAID로 정의해야 합니다(그렇지 않으면 RAID 어레이 구성 메뉴에 액세스할 수 없습니다).

GIGABYTE SATA2 RAID 컨트롤러의 설정 메뉴는 매우 간단합니다. 이미 언급했듯이 컨트롤러는 듀얼 포트이며 레벨 0 또는 1의 RAID 어레이를 생성할 수 있습니다. 컨트롤러 설정 메뉴를 통해 RAID 어레이를 삭제하거나 생성할 수 있습니다. RAID 배열을 생성할 때 이름을 지정하고, 배열 수준(0 또는 1)을 선택하고, RAID 0의 스트라이프 크기(128, 84, 32, 16, 8 또는 4K)를 설정하고, RAID 배열의 크기도 결정할 수 있습니다. 정렬.

어레이가 생성되면 더 이상 변경할 수 없습니다. 즉, 생성된 어레이의 레벨이나 스트라이프 크기 등을 나중에 변경할 수 없습니다. 이렇게 하려면 먼저 배열을 삭제하고(데이터 손실 포함) 다시 만들어야 합니다. 실제로 이것은 GIGABYTE SATA2 컨트롤러에만 국한된 것이 아닙니다. 생성된 RAID 어레이의 매개변수를 변경할 수 없다는 점은 RAID 어레이 구현 원리를 따르는 모든 컨트롤러의 기능입니다.

GIGABYTE SATA2 컨트롤러를 기반으로 한 어레이가 생성되면 드라이버와 함께 자동으로 설치되는 GIGABYTE RAID 구성 유틸리티를 사용하여 해당 어레이의 현재 정보를 볼 수 있습니다.

Marvell 9128 컨트롤러를 기반으로 RAID 어레이 생성

Marvell 9128 RAID 컨트롤러 구성은 설정을 통해서만 가능합니다. 보드 BIOS기가바이트 GA-EX58A-UD7. 일반적으로 Marvell 9128 컨트롤러 구성 메뉴는 다소 조잡하며 경험이 없는 사용자에게 오해를 불러일으킬 수 있다고 말해야 합니다. 그러나 이러한 사소한 단점에 대해서는 잠시 후에 이야기하겠지만 지금은 주요 단점을 고려해 보겠습니다. 기능성마벨 9128 컨트롤러.

따라서 이 컨트롤러는 SATA III 드라이브를 지원하지만 SATA II 드라이브와도 완벽하게 호환됩니다.

Marvell 9128 컨트롤러를 사용하면 두 개의 디스크를 기반으로 레벨 0과 1의 RAID 배열을 생성할 수 있습니다. 레벨 0 배열의 경우 스트라이프 크기를 32KB 또는 64KB로 설정하고 배열 이름도 지정할 수 있습니다. 추가적으로 Gigabyte Rounding과 같은 옵션이 있는데 설명이 필요합니다. 제조사 이름과 비슷한 이름임에도 불구하고 기가바이트 라운딩 기능은 전혀 관련이 없습니다. 또한 컨트롤러 설정에서 이 레벨의 어레이에 대해 구체적으로 정의할 수 있지만 RAID 레벨 0 어레이와는 전혀 연결되지 않습니다. 실제로 이것은 우리가 언급한 Marvell 9128 컨트롤러 구성기의 첫 번째 단점입니다. 기가바이트 반올림 기능은 RAID 레벨 1에 대해서만 정의됩니다. 이를 통해 두 개의 드라이브(예: 다른 제조업체 또는 다른 모델), 용량이 서로 약간 다릅니다. Gigabyte Rounding 기능은 RAID 레벨 1 어레이를 생성하는 데 사용되는 두 디스크의 크기 차이를 정확하게 설정합니다. Marvell 9128 컨트롤러에서는 Gigabyte Rounding 기능을 사용하여 디스크 크기 차이를 1 또는 10으로 설정할 수 있습니다. GB.

Marvell 9128 컨트롤러 구성기의 또 다른 결함은 RAID 레벨 1 어레이를 생성할 때 사용자가 스트라이프 크기(32KB 또는 64KB)를 선택할 수 있다는 것입니다. 그러나 RAID 레벨 1에서는 스트라이프 개념이 전혀 정의되어 있지 않습니다.

ICH10R에 통합된 컨트롤러를 기반으로 RAID 어레이 생성

ICH10R 사우스브리지에 통합된 RAID 컨트롤러가 가장 일반적입니다. 이미 언급한 바와 같이 이 RAID 컨트롤러는 6포트이며 RAID 0 및 RAID 1 어레이 생성뿐만 아니라 RAID 5 및 RAID 10도 지원합니다.

시스템 부팅 단계에서 컨트롤러 설정 메뉴에 액세스할 수 있으며, 해당 메뉴가 화면에 나타날 때 Ctrl + I 키 조합을 눌러야 합니다. 당연히 BIOS 설정에서 먼저 이 컨트롤러의 작동 모드를 RAID로 정의해야 합니다(그렇지 않으면 RAID 어레이 구성 메뉴에 액세스할 수 없습니다).

RAID 컨트롤러 설정 메뉴는 매우 간단합니다. 컨트롤러 설정 메뉴를 통해 RAID 배열을 삭제하거나 생성할 수 있습니다. RAID 배열을 생성할 때 이름을 지정하고 배열 수준(0, 1, 5 또는 10)을 선택하고 RAID 0의 스트라이프 크기(128, 84, 32, 16, 8 또는 4K)를 설정하고 결정할 수도 있습니다. 배열의 크기.

RAID 성능 비교

IOmeter 유틸리티를 사용하여 RAID 어레이를 테스트하기 위해 순차 읽기, 순차 쓰기, 선택적 읽기 및 선택적 쓰기 로드 시나리오를 만들었습니다. 각 로드 시나리오의 데이터 블록 크기는 512바이트, 1, 2, 4, 8, 16, 32, 64, 128, 256, 512KB, 1MB였습니다.

각 RAID 컨트롤러에서 허용되는 모든 스트라이프 크기를 갖춘 RAID 0 어레이와 RAID 1 어레이를 생성했습니다. 또한 RAID 어레이를 사용하여 얻을 수 있는 성능 향상을 평가할 수 있도록 단일 디스크도 테스트했습니다. 각 RAID 컨트롤러에서.

그럼, 테스트 결과를 살펴보겠습니다.

GIGABYTE SATA2 컨트롤러

먼저 GIGABYTE SATA2 컨트롤러를 기반으로 한 RAID 어레이 테스트 결과를 살펴보겠습니다(그림 6-13). 일반적으로 컨트롤러는 말 그대로 신비한 것으로 판명되었으며 성능은 실망 스럽습니다.

쌀. 6.속도 순차
및 선택적 디스크 작업
웨스턴디지털 WD1002FBYS

쌀. 7.속도 순차

스트라이프 크기가 ​​128KB인 경우
(GIGABYTE SATA2 컨트롤러)

쌀. 12.직렬 속도
RAID 0에 대한 선택적 작업
스트라이프 크기가 ​​4KB인 경우
(GIGABYTE SATA2 컨트롤러)

쌀. 13.직렬 속도
및 선택적 작업
RAID 1(GIGABYTE SATA2 컨트롤러)용

RAID 어레이가 없는 디스크 1개의 속도 특성을 살펴보면 최대 순차 읽기 속도는 102MB/s, 최대 순차 쓰기 속도는 107MB/s입니다.

스트라이프 크기가 ​​128KB인 RAID 0 어레이를 생성하면 최대 순차 읽기 및 쓰기 속도가 약 22% 증가한 125MB/s로 증가합니다.

스트라이프 크기가 ​​64, 32 또는 16KB인 경우 최대 순차 읽기 속도는 130MB/s이고 최대 순차 쓰기 속도는 141MB/s입니다. 즉, 지정된 스트라이프 크기에서는 최대 순차 읽기 속도가 27% 증가하고, 최대 순차 쓰기 속도가 31% 증가합니다.

사실 이것은 레벨 0 배열에는 충분하지 않으며 순차 작업의 최대 속도가 더 높으면 좋겠습니다.

스트라이프 크기가 ​​8KB인 경우 순차 작업(읽기 및 쓰기)의 최대 속도는 스트라이프 크기가 ​​64, 32 또는 16KB인 경우와 거의 동일하게 유지되지만 선택적 읽기에는 명백한 문제가 있습니다. 데이터 블록 크기가 최대 128KB까지 증가하면 데이터 블록 크기에 비례하여 선택적 읽기 속도도 증가합니다. 그러나 데이터 블록 크기가 128KB를 초과하면 선택적 읽기 속도가 거의 0(약 0.1MB/s)으로 떨어집니다.

스트라이프 크기가 ​​4KB인 경우 블록 크기가 128KB를 초과하면 선택적 읽기 속도가 저하될 뿐만 아니라 블록 크기가 16KB를 초과하면 순차 읽기 속도도 저하됩니다.

GIGABYTE SATA2 컨트롤러에서 RAID 1 어레이를 사용해도 순차 읽기 속도는 단일 드라이브에 비해 크게 변하지 않지만 최대 순차 쓰기 속도는 75MB/s로 감소됩니다. RAID 1 어레이의 경우 단일 디스크의 읽기 및 쓰기 속도에 비해 읽기 속도가 빨라지고 쓰기 속도가 느려져서는 안 됩니다.

GIGABYTE SATA2 컨트롤러 테스트 결과를 바탕으로 한 가지 결론만 도출할 수 있습니다. 다른 모든 RAID 컨트롤러(Marvell 9128, ICH10R)가 이미 사용된 경우에만 이 컨트롤러를 사용하여 RAID 0 및 RAID 1 어레이를 만드는 것이 좋습니다. 그러한 상황을 상상하는 것은 매우 어렵습니다.

마벨 9128 컨트롤러

Marvell 9128 컨트롤러는 GIGABYTE SATA2 컨트롤러에 비해 훨씬 더 빠른 속도 특성을 보여주었습니다(그림 14-17). 실제로 컨트롤러가 하나의 디스크로 작동하는 경우에도 차이점이 나타납니다. GIGABYTE SATA2 컨트롤러의 경우 최대 순차 읽기 속도가 102MB/s이고 128KB의 데이터 블록 크기로 달성되는 경우 Marvell 9128 컨트롤러의 경우 최대 순차 읽기 속도는 107MB/s이며 데이터 블록 크기로 달성됩니다. 블록 크기는 16KB입니다.

스트라이프 크기가 ​​64KB와 32KB인 RAID 0 어레이를 생성하면 최대 순차 읽기 속도는 211MB/s로 증가하고 순차 쓰기 속도는 185MB/s로 증가합니다. 즉, 지정된 스트라이프 크기에서는 최대 순차 읽기 속도가 97% 증가하고, 최대 순차 쓰기 속도가 73% 증가합니다.

스트라이프 크기가 ​​32KB와 64KB인 RAID 0 어레이의 속도 성능에는 큰 차이가 없지만, 이 경우 블록 크기에 따른 순차 작업 속도가 떨어지므로 32KB 스트라이프를 사용하는 것이 더 바람직합니다. 128KB 미만이면 약간 더 높습니다.

Marvell 9128 컨트롤러에서 RAID 1 어레이를 생성할 때 최대 순차 작업 속도는 단일 디스크에 비해 거의 변하지 않습니다. 따라서 단일 디스크의 경우 순차 작업의 최대 속도가 107MB/s라면 RAID 1의 경우 105MB/s입니다. 또한 RAID 1의 경우 선택적 읽기 성능이 약간 저하됩니다.

일반적으로 Marvell 9128 컨트롤러는 속도 특성이 좋으며 RAID 어레이를 생성하고 단일 디스크를 여기에 연결하는 데 모두 사용할 수 있습니다.

컨트롤러 ICH10R

ICH10R에 내장된 RAID 컨트롤러는 우리가 테스트한 모든 것 중에서 가장 높은 성능을 발휘하는 것으로 나타났습니다(그림 18-25). RAID 어레이를 생성하지 않고 단일 드라이브로 작업할 때 성능은 Marvell 9128 컨트롤러의 성능과 거의 동일합니다. 최대 순차 읽기 및 쓰기 속도는 107MB이며 데이터 블록 크기는 16KB로 달성됩니다.

쌀. 18. 순차 속도
및 선택적 작업
Western Digital WD1002FBYS 디스크용(ICH10R 컨트롤러)

ICH10R 컨트롤러의 RAID 0 어레이에 대해 이야기하면 최대 순차 읽기 및 쓰기 속도는 스트라이프 크기에 따라 달라지지 않으며 212MB/s입니다. 최대 순차 읽기 및 쓰기 속도가 달성되는 데이터 블록의 크기만 스트라이프 크기에 따라 달라집니다. 테스트 결과에서 볼 수 있듯이 ICH10R 컨트롤러를 기반으로 하는 RAID 0의 경우 크기가 64KB인 스트라이프를 사용하는 것이 최적입니다. 이 경우 최대 순차 읽기 및 쓰기 속도는 16KB의 데이터 블록 크기로 달성됩니다.

따라서 요약하자면, ICH10R에 내장된 RAID 컨트롤러는 성능 면에서 다른 모든 통합 RAID 컨트롤러를 크게 능가한다는 점을 다시 한 번 강조합니다. 그리고 더 많은 기능도 가지고 있기 때문에 이 특정 컨트롤러를 사용하고 다른 모든 컨트롤러의 존재를 잊어버리는 것이 가장 좋습니다(물론 시스템이 다음을 사용하지 않는 한). SATA 드라이브 III).

컴퓨터에서 다음 문제 중 하나가 발생했거나 곧 발생할 것으로 예상되는 경우:

  • 단일 논리 드라이브로 하드 드라이브의 물리적 용량이 충분하지 않습니다. 이 문제는 대용량 파일(비디오, 그래픽, 데이터베이스)로 작업할 때 가장 자주 발생합니다.
  • 하드 드라이브의 성능은 분명히 충분하지 않습니다. 대부분의 경우 이 문제는 비선형 비디오 편집 시스템으로 작업하거나 많은 수의 사용자가 동시에 하드 드라이브의 파일에 액세스할 때 발생합니다.
  • 하드 드라이브의 신뢰성이 확실히 부족합니다. 대부분의 경우 이 문제는 절대로 손실되어서는 안 되는 데이터 또는 사용자가 항상 사용할 수 있어야 하는 데이터로 작업해야 할 때 발생합니다. 슬픈 경험에 따르면 가장 신뢰할 수 있는 장비라도 때로는 고장이 나고 일반적으로 가장 부적절한 순간에 고장이 납니다.

컴퓨터에 RAID 시스템을 생성하면 이러한 문제와 기타 문제를 해결할 수 있습니다.

"RAID"란 무엇입니까?

1987년에 버클리 캘리포니아 대학교의 Patterson, Gibson 및 Katz는 "RAID(Redundant Arrays of Inexpensive Disks)에 대한 사례"를 발표했습니다. 이 문서에서는 다양한 유형의 디스크 배열, 즉 RAID(독립(또는 저렴한) 디스크의 중복 배열(독립(또는 저렴한) 디스크 드라이브의 중복 배열))에 대해 설명했습니다. RAID는 다음 아이디어를 기반으로 합니다. 여러 개의 소형 및/또는 저렴한 디스크 드라이브를 어레이로 결합하면 가장 비싼 디스크 드라이브에 비해 용량, 속도 및 안정성이 뛰어난 시스템을 얻을 수 있습니다. 게다가 컴퓨터의 관점에서 볼 때 이러한 시스템은 하나의 단일 디스크 드라이브처럼 보입니다.

드라이브 어레이의 평균 고장 간격은 단일 드라이브의 고장 간격 평균 시간을 어레이의 드라이브 수로 나눈 것과 같다고 알려져 있습니다. 결과적으로 어레이의 평균 장애 간격은 많은 애플리케이션에 비해 너무 짧습니다. 그러나 디스크 어레이는 여러 가지 방법으로 단일 드라이브의 오류를 견딜 수 있도록 만들 수 있습니다.

이 문서에서는 RAID-1, RAID-2, ..., RAID-5의 다섯 가지 유형(레벨)의 디스크 어레이를 정의했습니다. 각 유형은 단일 드라이브에 비해 내결함성과 다양한 장점을 제공했습니다. 이 5가지 유형과 함께 중복되지 않는 RAID-0 디스크 어레이도 인기를 얻었습니다.

어떤 RAID 레벨이 있으며 어떤 레벨을 선택해야 합니까?

RAID-0.일반적으로 패리티가 없는 디스크 드라이브의 중복되지 않는 그룹으로 정의됩니다. RAID-0은 어레이에 포함된 드라이브에 정보가 배치되는 방식에 따라 "스트라이핑"이라고도 합니다.

RAID-0에는 중복성이 없기 때문에 하나의 드라이브에 장애가 발생하면 전체 어레이에 장애가 발생하게 됩니다. 반면, RAID-0은 최대 데이터 전송 속도와 디스크 드라이브 공간의 효율적인 사용을 제공합니다. RAID-0에는 복잡한 수학 또는 논리 계산이 필요하지 않으므로 구현 비용이 최소화됩니다.

적용 범위: 단일 드라이브로는 제공할 수 없는 고속 연속 데이터 전송이 필요한 오디오 및 비디오 애플리케이션. 예를 들어, 비선형 비디오 편집 스테이션을 위한 최적의 디스크 시스템 구성을 결정하기 위해 Mylex가 실시한 연구에 따르면 단일 드라이브에 비해 두 개의 드라이브로 구성된 RAID-0 어레이는 쓰기/읽기 속도가 96% 증가한 것으로 나타났습니다. 드라이브 3개 중 - 143% 증가(Miro VIDEO EXPERT 벤치마크 테스트에 따름).

RAID-1."미러링"("디스크 미러") 또는 동일한 정보를 포함하고 하나의 논리 디스크를 구성하는 디스크 드라이브 쌍으로 더 잘 알려져 있습니다.

드라이브 0드라이브 1

녹음은 각 쌍의 두 드라이브 모두에서 수행됩니다. 그러나 한 쌍의 드라이브는 동시 읽기 작업을 수행할 수 있습니다. 따라서 "미러링"은 읽기 속도를 두 배로 늘릴 수 있지만 쓰기 속도는 변경되지 않습니다. RAID-1은 100% 중복성을 가지며 한 드라이브의 오류가 전체 어레이의 오류로 이어지지 않습니다. 컨트롤러는 단순히 읽기/쓰기 작업을 나머지 드라이브로 전환합니다.

RAID-1은 다음을 제공합니다. 최고 속도특히 다중 사용자 환경에서 모든 유형의 중복 어레이에서 작동하지만 디스크 공간을 가장 많이 사용합니다. RAID-1에는 복잡한 수학 또는 논리 계산이 필요하지 않으므로 구현 비용이 최소화됩니다.

어레이의 최소 드라이브 수는 2개입니다.

쓰기 속도를 높이고 안정적인 데이터 저장을 보장하기 위해 여러 RAID-1 어레이를 RAID-0으로 결합할 수 있습니다. 이 구성을 "2레벨" RAID 또는 RAID-10(RAID 0+1)이라고 합니다.

어레이의 최소 드라이브 수는 4개입니다.

적용 범위: 데이터 저장의 신뢰성이 가장 중요한 저렴한 어레이.

RAID-2.디스크 드라이브 그룹 전체에 걸쳐 섹터 크기의 스트라이프로 데이터를 배포합니다. 일부 드라이브는 ECC(Error Correction Code) 스토리지 전용입니다. 대부분의 드라이브는 기본적으로 섹터별로 ECC 코드를 저장하므로 RAID-2는 특별한 이점 RAID-3과 비교하여 실제로 사용되지 않습니다.

RAID-3. RAID-2의 경우와 마찬가지로 데이터는 한 섹터 크기의 스트라이프에 분산되고 어레이 드라이브 중 하나는 패리티 정보를 저장하기 위해 할당됩니다.

RAID-3각 섹터에 저장된 ECC 코드를 사용하여 오류를 감지합니다. 드라이브 중 하나에 장애가 발생하면 나머지 드라이브의 정보를 이용하여 배타적 OR(XOR)을 계산하여 해당 드라이브에 저장된 정보를 복원할 수 있습니다. 각 레코드는 일반적으로 모든 드라이브에 분산되므로 이 유형의 어레이는 디스크 집약적 애플리케이션에 적합합니다. 각 I/O 작업은 어레이의 모든 디스크 드라이브에 액세스하기 때문에 RAID-3은 여러 작업을 동시에 수행할 수 없습니다. 따라서 RAID-3은 기록이 긴 단일 사용자, 단일 작업 환경에 적합합니다. 짧은 녹화 작업을 하려면 디스크 드라이브의 회전을 동기화해야 합니다. 그렇지 않으면 교환 속도의 감소가 불가피하기 때문입니다. 거의 사용되지 않기 때문에 디스크 공간 사용량 측면에서 RAID-5보다 열등합니다. 구현에는 상당한 비용이 필요합니다.

RAID-4. RAID-4는 스트라이프 크기가 ​​한 섹터보다 훨씬 크다는 점을 제외하면 RAID-3과 동일합니다. 이 경우 읽기는 단일 드라이브(패리티 정보가 저장된 드라이브는 제외)에서 수행되므로 여러 읽기 작업을 동시에 수행할 수 있습니다. 그러나 각 쓰기 작업은 패리티 드라이브의 내용을 업데이트해야 하므로 여러 쓰기 작업을 동시에 수행하는 것은 불가능합니다. 이 유형의 어레이는 RAID-5 어레이에 비해 눈에 띄는 장점이 없습니다.

RAID-5.이러한 유형의 배열을 "회전 패리티 배열"이라고도 합니다. 이 유형어레이는 여러 쓰기 작업을 동시에 수행할 수 없다는 RAID-4의 본질적인 단점을 성공적으로 극복했습니다. RAID-4와 같은 이 어레이는 큰 스트라이프를 사용하지만 RAID-4와 달리 패리티 정보는 하나의 드라이브가 아닌 모든 드라이브에 차례로 저장됩니다.

쓰기 작업은 데이터가 있는 한 드라이브와 패리티 정보가 있는 다른 드라이브에 액세스합니다. 서로 다른 스트라이프에 대한 패리티 정보는 서로 다른 드라이브에 저장되므로 여러 동시 쓰기를 수행하는 것은 데이터 스트라이프나 패리티 정보가 있는 스트라이프가 동일한 드라이브에 있는 드문 경우에만 불가능합니다. 어레이에 드라이브가 많을수록 정보 및 패리티 스트라이프의 위치가 일치하는 경우가 줄어듭니다.

적용 범위: 안정적인 대용량 어레이. 구현에는 상당한 비용이 필요합니다.

어레이의 최소 드라이브 수는 3개입니다.

RAID-1 또는 RAID-5?

RAID-5는 RAID-1에 비해 디스크 공간을 더 경제적으로 사용합니다. 중복성을 위해 정보의 "사본"이 아니라 검사 번호를 저장하기 때문입니다. 결과적으로 RAID-5는 여러 개의 드라이브를 결합할 수 있으며 그 중 하나만 중복 정보를 포함하게 됩니다.

그러나 디스크 공간 효율성이 높을수록 정보 교환 속도가 낮아집니다. RAID-5에 정보를 쓸 때마다 패리티 정보를 업데이트해야 합니다. 이렇게 하려면 어떤 패리티 비트가 변경되었는지 확인해야 합니다. 먼저, 업데이트할 기존 정보를 읽어옵니다. 그런 다음 이 정보는 새 정보와 XOR됩니다. 이 연산의 결과는 비트 마스크이며, 각 비트 = 1은 해당 위치의 패리티 정보 값을 교체해야 함을 의미합니다. 그러면 업데이트된 패리티 정보가 적절한 위치에 기록됩니다. 따라서 정보 쓰기에 대한 각 프로그램 요청에 대해 RAID-5는 두 번의 읽기, 두 번의 쓰기 및 두 번의 XOR 작업을 수행합니다.

디스크 공간을 보다 효율적으로 사용하려면(데이터 복사본 대신 패리티 블록을 저장) 비용이 듭니다. 패리티 정보를 생성하고 쓰는 데 추가 시간이 필요합니다. 이는 RAID-5의 쓰기 속도가 RAID-1보다 3:5 또는 1:3 비율로 낮다는 것을 의미합니다. 즉, RAID-5의 쓰기 속도는 쓰기 속도의 3/5에서 1/3입니다. RAID-1). 이 때문에 RAID-5는 소프트웨어에서 생성하는 것이 의미가 없습니다. 녹화 속도가 중요한 경우에도 권장되지 않습니다.

소프트웨어 또는 하드웨어 중 어떤 RAID 구현 방법을 선택해야 합니까?

다양한 RAID 레벨에 대한 설명을 읽은 후에는 RAID 구현에 필요한 특정 하드웨어 요구 사항에 대한 언급이 어디에도 없다는 것을 알 수 있습니다. 이를 통해 RAID를 구현하는 데 필요한 것은 필요한 수의 디스크 드라이브를 컴퓨터에서 사용 가능한 컨트롤러에 연결하고 컴퓨터에 특수 소프트웨어를 설치하는 것뿐이라는 결론을 내릴 수 있습니다. 이것은 사실이지만 전부는 아닙니다!

실제로 소프트웨어에서 RAID를 구현하는 것이 가능합니다. 예를 들어 Microsoft Windows NT 4.0 Server OS는 RAID-0, -1 및 RAID-5의 소프트웨어 구현이 가능합니다. 하지만 이 결정 RAID 어레이의 기능을 완전히 실현할 수 없으므로 극도로 단순화된 것으로 간주해야 합니다. RAID의 소프트웨어 구현을 통해 디스크 드라이브에 정보를 배치하고 제어 코드를 계산하는 등의 전체 부담이 발생한다는 점만 알아두면 충분합니다. 눕다 CPU이는 당연히 시스템의 성능과 신뢰성을 향상시키지 않습니다. 같은 이유로 여기에는 실질적으로 서비스 기능이 없으며 결함이 있는 드라이브 교체, 새 드라이브 추가, RAID 레벨 변경 등의 모든 작업은 데이터가 완전히 손실되고 다른 작업 수행이 완전히 금지되어 수행됩니다. 운영. RAID 소프트웨어 구현의 유일한 장점은 최소 비용입니다.

특수 RAID 컨트롤러를 사용하여 RAID를 하드웨어로 구현하면 훨씬 더 많은 가능성이 제공됩니다.

  • 특수 컨트롤러는 중앙 프로세서의 RAID 작업 부담을 크게 덜어주고 컨트롤러의 효율성은 RAID 복잡성 수준이 높을수록 더욱 두드러집니다.
  • 일반적으로 컨트롤러에는 거의 모든 널리 사용되는 OS에 대한 RAID를 생성할 수 있는 드라이버가 장착되어 있습니다.
  • 컨트롤러에 내장된 BIOS 및 포함된 관리 프로그램을 통해 시스템 관리자는 RAID에 포함된 드라이브를 쉽게 연결, 연결 해제 또는 교체하고, 여러 레벨에서도 여러 RAID 어레이를 생성하고, 디스크 어레이 상태를 모니터링할 수 있습니다. "고급" 컨트롤러를 사용하면 이러한 작업을 "즉시" 수행할 수 있습니다. 시스템 장치를 끄지 않고. "에서는 많은 작업을 수행할 수 있습니다. 배경", 즉. 현재 작업을 중단하지 않고 원격으로도 가능합니다. (물론 접근 권한이 있는 경우) 모든 직장에서;
  • 컨트롤러에는 마지막 몇 개의 데이터 블록이 저장되는 버퍼 메모리("캐시")가 장착될 수 있으며, 동일한 파일에 자주 액세스하면 디스크 시스템의 성능을 크게 향상시킬 수 있습니다.

하드웨어 RAID 구현의 단점은 RAID 컨트롤러의 비용이 상대적으로 높다는 것입니다. 그러나 한편으로는 모든 것(신뢰성, 속도, 서비스)에 대한 비용을 지불해야 합니다. 반면에, 최근에, 마이크로프로세서 기술의 발전으로 RAID 컨트롤러(특히 더 젊은 모델)의 가격이 급격히 떨어지기 시작했고 일반 디스크 컨트롤러의 가격과 비슷해졌습니다. 덕분에 고가의 메인프레임뿐만 아니라 다른 환경에서도 RAID 시스템을 설치할 수 있게 되었습니다. 서버 입문 단계심지어 워크스테이션까지요.

© Andrey Egorov, 2005, 2006. TIM 그룹 회사.

포럼 방문자들은 "가장 안정적인 RAID 레벨은 무엇입니까?"라는 질문을 합니다. 가장 일반적인 수준이 RAID5라는 것은 누구나 알고 있지만 비전문가에게는 분명하지 않은 심각한 단점이 없는 것은 아닙니다.

RAID 0, RAID 1, RAID 5, RAID6, RAID 10 또는 RAID 수준이란 무엇입니까?

이 기사에서는 가장 널리 사용되는 RAID 레벨을 특성화한 다음 이러한 레벨 사용에 대한 권장 사항을 공식화하려고 합니다. 기사를 설명하기 위해 안정성, 성능 및 비용 효율성의 3차원 공간에 이러한 수준을 배치하는 다이어그램을 만들었습니다.

JBOD(Just a Bunch of Disks)는 공식적으로 RAID 레벨이 아닌 단순한 하드 드라이브 확장입니다. JBOD 볼륨은 단일 디스크의 배열이거나 여러 디스크의 집합일 수 있습니다. RAID 컨트롤러는 이러한 볼륨을 작동하기 위해 계산을 수행할 필요가 없습니다. 다이어그램에서 JBOD 드라이브는 "단일" 또는 시작점 역할을 합니다. 안정성, 성능 및 비용 가치는 단일 드라이브와 동일합니다. 하드 드라이브.

RAID 0(“스트라이핑”)은 중복성이 없으며 작은 블록(“스트라이프”) 형태로 어레이에 포함된 모든 디스크에 정보를 즉시 배포합니다. 이로 인해 성능은 크게 향상되지만 안정성은 저하됩니다. JBOD와 마찬가지로 우리는 비용 대비 디스크 용량을 100% 확보합니다.

복합 볼륨에서 데이터 저장소의 신뢰성이 감소하는 이유를 설명하겠습니다. 포함된 하드 드라이브 중 하나라도 오류가 발생하면 모든 정보가 완전히 복구 불가능하게 손실되기 때문입니다. 확률 이론에 따르면 수학적으로 RAID0 볼륨의 신뢰도는 구성 디스크의 신뢰도의 곱과 동일하며 각 디스크의 신뢰도는 1보다 작으므로 총 신뢰도는 분명히 모든 디스크의 신뢰도보다 낮습니다.

좋은 수준 - RAID 1(“미러링”, “미러링”). 사용 가능한 하드웨어의 절반(일반적으로 두 개의 하드 드라이브 중 하나)의 오류로부터 보호하고 허용 가능한 쓰기 속도를 제공하며 요청 병렬화로 인해 읽기 속도가 향상됩니다. 단점은 하나의 하드 드라이브의 사용 가능한 용량을 얻으려면 두 개의 하드 드라이브 비용을 지불해야 한다는 것입니다.

처음에는 하드 드라이브가 신뢰할 수 있는 것으로 가정됩니다. 따라서 한 번에 두 개의 디스크가 고장날 확률은 (공식에 따라) 확률의 곱과 같습니다. 훨씬 더 낮아졌습니다! 불행히도 실제 생활은 이론이 아닙니다! 두 개의 하드 드라이브를 동일한 배치에서 가져와 동일한 조건에서 작동하며 디스크 중 하나에 장애가 발생하면 나머지 디스크의 부하가 증가하므로 실제로 디스크 중 하나에 장애가 발생하면 복구를 위한 긴급 조치를 취해야 합니다. 중복성. 이렇게 하려면 모든 RAID 레벨(0 제외)의 핫 스페어 디스크를 사용하는 것이 좋습니다. 핫스페어. 이 접근 방식의 장점은 지속적인 신뢰성을 유지한다는 것입니다. 단점은 훨씬 더 큰 비용입니다(예: 디스크 1개의 볼륨을 저장하는 데 하드 드라이브 3개가 필요함).

많은 디스크의 미러는 수준입니다. RAID 10. 이 수준을 사용하면 미러링된 디스크 쌍이 "체인"으로 배열되므로 결과 볼륨이 단일 하드 드라이브의 용량을 초과할 수 있습니다. 장점과 단점은 RAID1 레벨과 동일합니다. 다른 경우와 마찬가지로 작업자 5명당 예비 디스크 1개 비율로 배열에 HotSpare 핫 스페어 디스크를 포함하는 것이 좋습니다.

RAID 5, 실제로 가장 인기 있는 레벨은 주로 효율성 때문입니다. 중복성을 위해 어레이에서 단 하나의 디스크 용량을 희생함으로써 볼륨의 하드 드라이브 오류로부터 보호받을 수 있습니다. RAID5 볼륨에 정보를 쓰려면 추가 계산이 필요하기 때문에 추가 리소스가 필요하지만, 읽을 때는(별도의 하드 드라이브에 비해) 여러 어레이 드라이브의 데이터 스트림이 병렬화되므로 이점이 있습니다.

RAID5의 단점은 디스크 중 하나에 오류가 발생하면 나타납니다. 전체 볼륨이 위험 모드로 전환되고 모든 쓰기 및 읽기 작업에 추가 조작이 수반되고 성능이 급격히 떨어지며 디스크가 가열되기 시작합니다. 즉각적인 조치를 취하지 않으면 전체 볼륨이 손실될 수 있습니다. 따라서(위 참조) 반드시 RAID5 볼륨이 있는 핫 스페어 디스크를 사용해야 합니다.

표준에 설명된 기본 레벨 RAID0 - RAID5 외에도 여러 제조업체에서 다르게 해석하는 결합 레벨 RAID10, RAID30, RAID50, RAID15가 있습니다.

이러한 조합의 본질은 간략하게 다음과 같습니다. RAID10은 1과 0의 조합입니다(위 참조). RAID50은 "0" 레벨 5 볼륨의 조합입니다. RAID15는 "5"의 "미러"입니다. 등등.

따라서 결합된 레벨은 "부모"의 장점(및 단점)을 상속받습니다. 따라서 레벨에 "0"이 나타납니다. RAID 50신뢰성을 추가하지는 않지만 성능에 긍정적인 영향을 미칩니다. 수준 RAID 15, 아마도 매우 안정적일 수 있지만 가장 빠르지는 않으며 더욱이 극도로 비경제적입니다(볼륨의 유용한 용량은 원래 디스크 어레이 크기의 절반 미만입니다).

RAID 6각 데이터 행(영어)이 RAID 5와 다릅니다. 줄무늬)은 없지만, 체크섬 블록. 체크섬은 "다차원"입니다. 서로 독립적이므로 어레이의 두 디스크에 오류가 발생하더라도 원본 데이터를 저장할 수 있습니다. Reed-Solomon 방법을 사용하여 체크섬을 계산하려면 RAID5에 비해 더 집중적인 계산이 필요하므로 이전에는 6번째 레벨이 실제로 사용되지 않았습니다. 이제 필요한 모든 수학적 연산을 수행하는 특수 마이크로 회로를 설치하기 시작한 이후 많은 제품에서 지원됩니다.

일부 연구에 따르면 대용량 SATA 디스크(400 및 500GB)로 구성된 RAID5 볼륨에서 단일 디스크 오류 후 무결성을 복원하면 5%의 경우 데이터 손실이 발생합니다. 즉, 20개 중 1개는 RAID5 어레이를 핫 스페어 디스크로 재생성하는 동안 두 번째 디스크에 오류가 발생할 수 있습니다... 따라서 최고의 RAID 드라이브에 대한 권장 사항은 다음과 같습니다. 1) 언제나하다 백업; 2) 사용 RAID6!

최근에는 새로운 레벨의 RAID1E, RAID5E, RAID5EE가 등장했습니다. 이름에 있는 문자 "E"는 다음을 의미합니다. 향상된.

RAID 레벨-1 강화(RAID 레벨-1E)미러링과 데이터 스트라이핑을 결합합니다. 레벨 0과 1의 혼합은 다음과 같이 배열됩니다. 행의 데이터는 RAID 0과 동일하게 분산됩니다. 즉, 데이터 행에는 중복성이 없습니다. 데이터 블록의 다음 행은 한 블록 이동하여 이전 행을 복사합니다. 따라서 표준 RAID 1 모드에서와 마찬가지로 각 데이터 블록은 디스크 중 하나에 미러 복사본을 가지므로 어레이의 유용한 볼륨은 어레이에 포함된 하드 드라이브 전체 볼륨의 절반과 같습니다. RAID 1E를 작동하려면 3개 이상의 드라이브 조합이 필요합니다.

저는 RAID1E 레벨을 정말 좋아합니다. 강력한 그래픽을 위한 워크스테이션아니면 심지어 가정용 컴퓨터최적의 선택! 뛰어난 속도와 높은 신뢰성이라는 0레벨과 1레벨의 모든 장점을 갖추고 있습니다.

이제 레벨로 넘어가자 RAID 레벨-5 강화(RAID 레벨-5E). 이는 RAID5와 동일하지만 어레이에 백업 디스크가 내장되어 있다는 점만 다릅니다. 예비 드라이브. 이 통합은 다음과 같이 수행됩니다. 어레이의 모든 디스크에서 공간의 1/N 부분은 여유 공간으로 남겨져 디스크 중 하나에 오류가 발생할 경우 핫 스페어로 사용됩니다. 이로 인해 RAID5E는 RAID5에서와 같이 더 많은 수의 드라이브에서 동시에 읽기/쓰기가 병렬로 수행되고 예비 드라이브가 유휴 상태가 아니기 때문에 안정성과 함께 더 나은 성능을 보여줍니다. 당연히 볼륨에 포함된 백업 디스크는 다른 볼륨과 공유할 수 없습니다(전용 대 공유). RAID 5E 볼륨은 최소 4개의 물리적 디스크에 구축됩니다. 논리 볼륨의 유용한 볼륨은 공식 N-2를 사용하여 계산됩니다.

RAID 레벨-5E 강화(RAID 레벨-5EE) RAID 레벨-5E와 유사하지만 더 많은 기능이 있습니다. 효율적인 분배드라이브가 여유로워지고 결과적으로 복구 시간이 빨라집니다. RAID5E 레벨과 마찬가지로 이 RAID 레벨은 데이터 블록과 체크섬을 행으로 분산합니다. 그러나 이는 예비 드라이브의 사용 가능한 블록도 분배하며 이러한 목적을 위해 단순히 디스크 공간의 일부를 예약하지는 않습니다. 이렇게 하면 RAID5EE 볼륨의 무결성을 재구성하는 데 필요한 시간이 줄어듭니다. 볼륨에 포함된 백업 디스크는 이전 경우와 마찬가지로 다른 볼륨과 공유할 수 없습니다. RAID 5EE 볼륨은 최소 4개의 물리적 디스크에 구축됩니다. 논리 볼륨의 유용한 볼륨은 공식 N-2를 사용하여 계산됩니다.

이상하게도 레벨에 대한 언급이 없습니다. RAID 6E인터넷에서는 찾을 수 없었습니다. 지금까지 어떤 제조업체에서도 이 수준을 제공하거나 발표하지 않았습니다. 그러나 RAID6E(또는 RAID6EE?) 레벨은 이전 레벨과 동일한 원칙에 따라 제공될 수 있습니다. 디스크 핫스페어 반드시 RAID 6을 포함한 모든 RAID 볼륨과 함께 제공되어야 합니다. 물론 하나 또는 두 개의 디스크가 고장나더라도 정보가 손실되지는 않지만 시스템을 신속하게 가져오려면 가능한 한 빨리 어레이의 무결성 재생성을 시작하는 것이 매우 중요합니다. "중요" 모드입니다. 핫 스페어 디스크의 필요성은 의심의 여지가 없으므로 RAID 5EE에서 수행되는 것처럼 볼륨 전체에 "확산"하여 사용의 이점을 얻는 것이 논리적입니다. 더 많은 수량디스크( 최고의 속도읽기-쓰기 등 빠른 복구진실성).

"숫자"로 나타낸 RAID 레벨.

그 중 일부를 표로 모아봤습니다 중요한 매개변수거의 모든 RAID 레벨을 통해 서로 비교하고 그 본질을 더 잘 이해할 수 있습니다.

수준
~~~~~~~

오두막-
정확히
네스 호
~~~~~~~

사용
디스크 용량
~~~~~~~

생산
디텔-
네스 호
독서

~~~~~~~

생산
디텔-
네스 호
기록

~~~~~~~

내장
디스크
예약하다

~~~~~~~

최소 디스크 수
~~~~~~~

최대. 디스크 수

~~~~~~~

제외

제외

제외

제외

모든 "미러" 수준은 RAID 1, 1+0, 10, 1E, 1E0입니다.

이러한 수준이 어떻게 다른지 완전히 이해하기 위해 다시 시도해 볼까요?

RAID 1.
이것은 고전적인 "거울"입니다. 두 개(단 두 개만!)의 하드 드라이브가 하나로 작동하여 서로의 완전한 복사본이 됩니다. 두 드라이브 중 하나에 오류가 발생하더라도 컨트롤러는 나머지 드라이브에서 계속 작동하므로 데이터가 손실되지 않습니다. 숫자로 보는 RAID1: 2배의 중복성, 2배의 안정성, 2배의 비용. 쓰기 성능은 단일 하드 드라이브와 동일합니다. 컨트롤러가 두 디스크 간에 읽기 작업을 분산할 수 있으므로 읽기 성능이 더 높습니다.

RAID 10.
이 수준의 핵심은 어레이의 디스크가 쌍으로 결합되어 "미러"(RAID 1)로 결합된 다음 이러한 모든 미러 쌍이 차례로 공통 스트라이프 어레이(RAID 0)로 결합된다는 것입니다. 그렇기 때문에 때로는 다음과 같이 지칭되기도 합니다. RAID 1+0. 중요한 점– RAID 10은 짝수 개의 디스크만 결합할 수 있습니다(최소 4개, 최대 16개). 장점: 신뢰성은 "미러"에서 상속되고, 읽기 및 쓰기 성능은 "0"에서 상속됩니다.

RAID 1E.
이름의 문자 "E"는 "향상된"을 의미합니다. "향상". 이러한 개선의 원리는 다음과 같습니다. 데이터는 어레이의 모든 디스크에 걸쳐 블록 단위로 "스트립"된 다음 하나의 디스크로 이동하여 다시 "스트라이핑"됩니다. RAID 1E는 3~16개의 디스크를 결합할 수 있습니다. 신뢰성은 "10" 지표에 해당하며 "교대"가 커짐에 따라 성능이 조금 더 좋아집니다.

RAID 1E0.
이 레벨은 다음과 같이 구현됩니다. RAID1E 어레이에서 "null" 어레이를 생성합니다. 따라서 총 디스크 수는 3의 배수여야 합니다(최소 3개, 최대 60개). 이 경우 속도상의 이점을 얻을 수 없으며 구현의 복잡성으로 인해 안정성에 부정적인 영향을 미칠 수 있습니다. 가장 큰 장점은 매우 많은 수(최대 60개)의 디스크를 하나의 어레이로 결합할 수 있다는 것입니다.

모든 RAID 1X 레벨의 유사성은 중복성 표시에 있습니다. 즉, 신뢰성을 위해 어레이 디스크 총 용량의 정확히 50%가 희생됩니다.

선택한 RAID 사양에 따라 읽기 및 쓰기 속도 및/또는 데이터 손실 방지 기능이 향상될 수 있습니다.

디스크 하위 시스템으로 작업할 때 IT 전문가는 종종 두 가지 주요 문제에 직면합니다.

  • 첫 번째는 느린 속도읽기/쓰기, 때로는 SSD 드라이브의 속도조차 충분하지 않습니다.
  • 두 번째는 디스크 오류로, 이는 데이터 손실을 의미하며 복구가 불가능할 수 있습니다.

이 두 가지 문제는 여러 개의 물리적 디스크를 하나의 논리적 요소로 결합하는 가상 데이터 저장 기술인 RAID 기술(독립 디스크의 중복 배열)을 사용하여 해결됩니다.

선택한 RAID 사양에 따라 읽기/쓰기 속도 및/또는 데이터 손실 방지 기능이 향상될 수 있습니다.

RAID 사양 수준은 1,2,3,4,5,6,0입니다. 또한 01,10,50,05,60,06의 조합도 있습니다. 이 기사에서는 가장 일반적인 유형의 RAID 어레이를 살펴보겠습니다. 하지만 먼저 하드웨어 및 소프트웨어 RAID 어레이가 있다고 가정해 보겠습니다.

하드웨어 및 소프트웨어 RAID 어레이

  • 소프트웨어 어레이는 소프트웨어 제품 및 유틸리티를 사용하여 운영 체제를 설치한 후에 생성되는데, 이는 이러한 디스크 어레이의 주요 단점입니다.
  • 하드웨어 RAID는 운영 체제를 설치하기 전에 디스크 어레이를 생성하며 이에 종속되지 않습니다.

RAID 1

RAID 1("미러"라고도 함 - 미러) 한 물리적 디스크에서 다른 물리적 디스크로 데이터를 완전히 복제하는 작업이 포함됩니다.

RAID 1의 단점은 디스크 공간의 절반을 차지한다는 사실입니다. 저것들. 250GB 디스크 2개를 사용하는 경우 시스템 크기는 250GB 1개만 표시됩니다. 이 유형 RAID는 속도를 향상시키지는 않지만 하나의 디스크에 오류가 발생하면 항상 완전한 복사본이 있기 때문에 내결함성 수준을 크게 높입니다. 디스크에서 기록과 삭제가 동시에 발생합니다. 정보가 의도적으로 삭제된 경우 다른 디스크에서 해당 정보를 복원할 수 있는 방법이 없습니다.

RAID 0

RAID 0(스트라이핑이라고도 함)에는 정보를 블록으로 나누고 동시에 다른 블록을 다른 디스크에 쓰는 작업이 포함됩니다.

이 기술은 읽기/쓰기 속도를 높이고 사용자가 디스크의 전체 용량을 사용할 수 있도록 허용하지만 내결함성을 줄이거나 오히려 0으로 줄입니다. 따라서 디스크 중 하나에 오류가 발생하면 정보를 복원하는 것이 거의 불가능합니다. RAID 0을 구축하려면 신뢰성이 높은 디스크만 사용하는 것이 좋습니다.

RAID 5는 더욱 발전된 RAID 0이라고 할 수 있습니다.. 최대 3개의 하드 드라이브를 사용할 수 있습니다. Raid 0은 하나만 제외하고 모두 기록되고 마지막 체크섬에는 특수 체크섬이 기록됩니다. 이를 통해 그중 하나가 "죽음"인 경우(하나 이하) 하드 드라이브에 정보를 저장할 수 있습니다. 이러한 어레이의 작동 속도는 빠릅니다. 디스크를 교체하면 시간이 많이 걸립니다.

RAID 2, 3, 4

패리티 코드용으로 할당된 디스크를 이용하여 분산정보를 저장하는 방법입니다.. 블록 크기만 서로 다릅니다. 실제로 ECC 및/또는 패리티 코드를 저장하는 데 디스크 용량의 상당 부분을 할당해야 하고 성능이 낮기 때문에 실제로 사용되지 않습니다.

RAID 10

RAID 어레이 1과 0이 혼합되어 있습니다.그리고 각각의 장점을 결합합니다. 고성능그리고 높은 내결함성.

어레이에는 짝수 개의 디스크(최소 4개)가 포함되어야 하며 정보를 저장하는 데 가장 안정적인 옵션입니다. 단점은 디스크 어레이의 비용이 높다는 것입니다. 유효 용량은 디스크 공간 전체 용량의 절반입니다.

RAID 어레이 5와 0이 혼합되어 있습니다.. RAID 5가 구축되고 있지만 해당 구성 요소는 독립된 하드 드라이브가 아니라 RAID 0 어레이입니다.

특징.

RAID 컨트롤러가 고장나면 정보를 복원하는 것이 거의 불가능합니다(미러에는 적용되지 않음). 똑같은 컨트롤러를 구입하더라도 다른 디스크 섹터에서 RAID가 조립될 확률이 높으며, 이는 디스크의 정보가 손실된다는 것을 의미합니다.

일반적으로 디스크는 한 묶음으로 구매됩니다. 따라서 그들의 작업 수명은 거의 동일할 수 있습니다. 이 경우 어레이용 디스크를 구매할 때 즉시 여분의 디스크를 구매하는 것이 좋습니다. 예를 들어 디스크 4개로 구성된 RAID 10을 구성하려면 디스크 5개를 구입해야 합니다. 따라서 그 중 하나에 장애가 발생하면 다른 디스크에 장애가 발생하기 전에 신속하게 새 디스크로 교체할 수 있습니다.

결론.

실제로는 세 가지 유형의 RAID 어레이만 사용되는 경우가 가장 많습니다. RAID 1, RAID 10, RAID 5가 있습니다.

비용/성능/내결함성 측면에서 다음을 사용하는 것이 좋습니다.

  • RAID 1(미러링) 사용자 운영 체제에 대한 디스크 하위 시스템을 형성합니다.
  • RAID 10다음이 있는 데이터에 대해 높은 요구 사항쓰고 읽는 속도. 예를 들어 1C:Enterprise 데이터베이스, 메일 서버, AD를 저장하는 경우입니다.
  • RAID 5파일 데이터를 저장하는 데 사용됩니다.

대다수가 생각하는 이상적인 서버 솔루션 시스템 관리자 6개의 디스크가 있는 서버입니다. 두 개의 디스크가 "미러링"되고 운영 체제가 RAID 1에 설치됩니다. 나머지 4개의 드라이브는 빠르고 문제가 없으며 안정적인 시스템 작동을 위해 RAID 10으로 결합됩니다.