RAID 청소

공격

Redundant Array of Inexpensive Disks 또는 Redundant Array of Independent Disks의 약자

개념이 처음 나왔을 때 아이디어는 값싼 디스크 여러 개를 모아서 고성능 디스크로 사용하는 것이었습니다.

현재는 반드시 저렴한 디스크가 아니라 추가 독립 디스크를 함께 클러스터링하여 고성능 또는 고가용성의 개념입니다.

RAID는 구현 방법에 따라 여러 RAID 수준으로 표현됩니다.

단일 디스크 I/O

아래 다이어그램은 단일 디스크에서 발생하는 I/O를 보여줍니다.

모든 데이터는 슬라이스(블록 또는 클러스터로 표시됨)로 분할되어 디스크에 기록되며 그 결과는 아래 그림과 같습니다.

세그먼트 1이 디스크에 기록되는 동안 나머지 세그먼트는 대기하고 쓰기 1이 완료되면 쓰기 2와 3이 순차적으로 수행됩니다.

RAID 0(스트라이핑)

이 개념이 처음 등장했을 때는 여러 개의 값싼 디스크를 하나의 개념으로 모아서 고성능 디스크로 사용하는 것에서 파생된 수준이었다.

패리티(오류 감지 기능)가 없는 스트라이핑 형태를 말합니다.

적어도 두 개의 디스크가 필요하며 안정성보다는 고성능을 위해 사용됩니다.

RAID 0의 경우 I/O가 발생하면 데이터를 블록으로 나누어 각 디스크에 순차적으로 저장한다.

아래 그림과 같이 RAID-0이 2개의 디스크로 구성된 경우

첫 번째 블록이 디스크 1에 기록되는 동안 두 번째 블록은 기다리지 않고 디스크 2에 직접 기록됩니다.

조각 1이 쓰여진 후 디스크 1은 조각 3을 ​​쓰고 조각 2가 쓰여진 후에 조각 4를 씁니다.

성능은 단일 디스크의 거의 두 배입니다.

(물론 실제로는 2배가 되지는 않습니다)

그러나 두 디스크 중 하나에 오류가 발생하면 데이터의 절반이 손실되어 다른 디스크는 거의 쓸모가 없게 됩니다.

하나의 관리 지점이 추가될수록 안정성이 떨어집니다.

1+1=2

장점: I/O 성능이 빠르고 N개의 디스크를 구성하면 N개의 디스크 용량을 활용할 수 있다.

단점: 낮은 안정성

최소 드라이브 수: 2

최대 용량: 디스크 수 x 디스크 용량


RAID 1(미러링)

RAID 0과 달리 안정성에 중점을 둔 RAID 수준입니다.

아래 그림에서 조각 1이 디스크에 기록되면 동일한 데이터가 두 개의 디스크(DISK1, DISK2)에 동시에 기록됩니다.

즉, RAID 1은 데이터를 두 개의 디스크에 고르게 기록하여 한 디스크가 고장나더라도 다른 디스크를 통해 데이터에 액세스할 수 있도록 하여 안정성을 높이는 방법이라고 볼 수 있습니다.

일반적으로 서버에서 운영 체제가 설치된 디스크에 대한 필수 구성 방법입니다.

1+1=1

장점: 높은 안정성. 일반 구성에 비해 읽기 성능의 향상이 거의 없습니다.

단점: 사용 가능한 용량은 전체 디스크 용량의 절반입니다.

즉, 비용이 높습니다.

최소 드라이브 수: 2

최대 용량: (디스크 수/2) x 디스크 용량


RAID 2(해밍 코드 ECC)

이것은 현재 사용되지 않는 RAID 레벨입니다.

스트라이핑은 비트 단위로 수행되며 해밍 코드는 오류 정정에 사용됩니다.

m+1개의 데이터 디스크와 m개의 패리티 디스크로 구성된 것으로 보입니다.

(즉, N == (m+1) + m)

최소 3개의 디스크를 포함할 수 있습니다.

그리고 디스크 오류 발생 시 복구가 가능합니다.

(2개 이상의 디스크 오류에서 복구할 수 없음)

그러나 이 방법은 ECC에 사용되는 드라이브가 손상되면 문제가 발생할 수 있으며 하나의 하드 드라이브에 패리티 정보를 저장하는 RAID 4의 등장으로 이 방법은 거의 사용되지 않습니다.


RAID 3(패리티가 있는 병렬 전송)

스트라이핑은 바이트 단위로 수행되며 오류 수정을 위해 전용 패리티 디스크가 사용됩니다.

나머지 디스크에 데이터를 고르게 분산하여 저장하는 방식입니다.

읽기 성능은 RAID 0과 유사하지만 패리티 처리로 인해 쓰기 성능이 떨어집니다.

단일 디스크에 비해 용량과 성능이 (N-1)배 증가합니다.

바이트 단위로 나누기 때문에 나누기가 너무 작아서 현재는 사용하지 않는다.

그리고 디스크에 오류가 발생하면 디스크를 검증하여 복구할 수 있습니다.

(2개 이상의 디스크 오류에서 복구할 수 없음)

데이터 복구는 서로 다른 드라이브에 기록된 정보의 배타적 논리합(XOR)을 계산하여 수행됩니다.

I/O 작업이 모든 드라이브에서 동시에 처리되기 때문에 RAID 3은 I/O를 겹칠 수 없습니다.

따라서 RAID 3은 장기 실행 응용 프로그램이 있는 단일 사용자 시스템에 가장 적합합니다.

RAID 3에는 드라이브 동기화가 필요합니다.

최소 드라이브 수: 3

최대 용량: (디스크 수 – 1) x 각 디스크 용량


RAID 4 (공유 패리티 디스크가 있는 별도의 데이터 디스크)

현재 (거의) 사용되지 않는 RAID 레벨.

RAID 5 때문에 거의 사용되지 않지만 NetApp 스토리지 구성에서 자주 볼 수 있습니다(NetApp은 RAID 4,6 사용).

RAID-3의 개선된 형태라고 생각하면 됩니다.

디스크는 스트라이핑 기술을 사용하여 블록으로 구성됩니다.

RAID 3과 마찬가지로 패리티 정보는 별도의 디스크에 저장됩니다.

그러나 블록 단위의 분산 스토리지에는 차이가 있으며 모든 블록이 각 디스크에 동일하게 저장되는 것은 아닙니다.

병목 현상이 발생하면 성능 저하가 발생할 수 있습니다.

RAID-2, RAID-3 및 RAID-4의 기능은 모두 ECC를 사용합니다.

RAID-2는 패리티를 비트로, RAID-3은 바이트로, RAID-4는 워드로 관리합니다.

그러나 특정 디스크에 ECC의 패리티를 저장하면 속도 문제로 인해 병목 현상이 발생하므로 현재 2, 3, 4는 거의 사용되지 않습니다.

RAID 4 구성은 RAID 3 구성과 거의 동일하며 단일 드라이브에서 데이터를 읽을 수 있도록 스트라이프를 사용합니다.

모든 쓰기 작업은 패리티 드라이브를 업데이트해야 하지만 별도의 디스크이므로 I/O 충돌이 없습니다.

RAID 3과 RAID 4를 배열하는 것은 RAID 0과 RAID 1의 문제점을 보완하기 위한 것입니다.

3과 4로 나누어져 있지만 RAID의 구성 방법은 그림과 유사합니다.

RAID 3 및 4는 기본적으로 RAID 0과 유사한 스트라이프 구성으로 성능을 보장하고 디스크 용량을 최대한 활용할 수 있습니다.

또한 패리티 정보는 오류 확인 및 수정을 위해 별도의 디스크에 별도로 저장됩니다.

RAID 3는 데이터를 바이트로 나누어 디스크 전체에 고르게 기록하는 반면, RAID 4는 데이터를 블록과 레코드로 나누어 약간의 차이가 있습니다.

스트라이핑은 블록 단위로 이루어지며 패리티 디스크는 오류 수정에 사용됩니다.

단일 디스크에 비해 용량과 성능이 (N-1)배 증가합니다.

최소 3개의 디스크를 포함할 수 있습니다.

그리고 디스크 오류 발생 시 복구가 가능합니다.

(2개 이상의 디스크 오류에서 복구할 수 없음)

블록 단위의 스트라이핑은 RAID 5, RAID 6와 동일하지만 패리티 코드가 동일한 디스크에 저장되기 때문에 패리티 디스크의 사용률이 높고 디스크 수명이 단축됩니다.

RAID 5는 RAID 4의 향상된 버전입니다.

최소 디스크 수: 3

용량: (디스크 수 – 1) X 디스크 용량

장점: RAID 0보다 안정성, RAID 1보다 우수한 성능

단점: 패리티 전용 디스크에 부하가 걸리면(더 많은 패리티 작업이 필요함) 전반적인 성능이 저하됩니다.

읽기 전용)


※ 패리티 체크 사용 방법

– 아래 그림에서 첫 번째 행의 1번, 2번, 3번 데이터와 P가 그룹을 이룬다.

간단히 말해서 데이터 1의 실제 값이 1이고 데이터 2의 실제 값이 0이고 데이터 3의 실제 값이 1이라고 가정합니다.

(이렇게 추측할 수 있는 이유는 컴퓨터가 실제로는 0과 1로만 구성된 데이터를 교환하기 때문입니다.

)

윗줄의 패리티 검사는 같은 위치에 있는 데이터 1~3번의 실제 값을 검사하여 1이 홀수이면 1의 값을 쓰고 짝수이면 1의 값을 쓴다.

0의 값을 씁니다.

이 예에서 첫 번째 패리티는 데이터 1에 1, 데이터 2에 0, 데이터 3에 1 -> 즉 1의 총 개수가 짝수이므로 패리티 값은 0입니다.

이후 DISK 1이 파손되어 1번 데이터 구간이 없어져도 패리티 값을 이용하여 1번 데이터 구간의 값이 무엇인지 추적이 가능하기 때문에 복구가 가능하다.

RAID 5 (분산 패리티 블록이 있는 별도의 데이터 디스크)

RAID 4 병목 문제를 해결하기 위한 RAID 구성 수준입니다.

이것은 가장 일반적으로 사용되는 RAID 레벨입니다.

패리티 비트가 하나의 디스크에 집중되지 않고 분산되기 때문에 RAID 4의 병목 현상을 크게 줄일 수 있습니다.

구성은 패리티가 있는 블록 수준 스트라이핑을 기반으로 합니다.

패리티 정보는 각 디스크에 분산되어 하나의 드라이브에 장애가 발생하면 다른 어레이가 장애 조치할 수 있습니다.

어레이 아키텍처는 여러 드라이브에 읽기 및 쓰기를 분산시킬 수 있기 때문에 개별 드라이브 성능은 일반적으로 RAID 0 어레이보다 낫지만 그만큼 높지는 않습니다.

RAID 5에는 3개 이상의 디스크가 필요하지만 성능상의 이유로 최소 5개 디스크가 권장됩니다.

단일 디스크에 비해 용량과 성능이 (N-1)배 증가합니다.

최소 3개의 디스크를 포함할 수 있습니다.

그리고 디스크 오류 발생 시 복구가 가능합니다.

(2개 이상의 디스크 오류에서 복구할 수 없음)

RAID 0에서는 성능과 용량이 약간 줄어든 것이 아니라 안정성이 더 높은 RAID 수준이라고 생각하시면 됩니다.

3개 이상의 디스크를 연결하여 각각 패리티 정보가 있는 하나의 디스크로 사용하는 방식입니다.

어느 정도 안정성과 성능을 보장할 수 있는 가장 많이 사용되는 스토리지 구성 방법입니다.

RAID 4와 마찬가지로 N개의 디스크가 있는 경우 실제 사용 가능한 디스크 수는 N-1개입니다.

장점: RAID 5는 RAID 3 및 4에서 패리티 정보에 대해 별도의 디스크를 사용하는 문제를 보상하는 방법으로 스트라이프 디스크에서 패리티 정보를 사용할 수 있도록 합니다.

하나의 하드 드라이브가 고장나더라도 나머지 하드 드라이브를 통해 데이터를 복구할 수 있다는 장점이 있습니다.

하드디스크가 4개인 경우, 1개의 하드디스크를 4개로 분할하고 나머지 3개의 하드디스크 중 1개의 검증정보를 저장하기 위해 1개의 하드디스크를 검증디스크로 할당한다.

이 단면 구성에서는 하나의 하드 디스크가 고장나더라도 나머지 세 개의 하드 디스크의 패리티 정보를 수집하여 복원할 수 있습니다.

3개 이상이면 RAID-5를 구성할 수 있습니다.

하드 디스크의 개수가 N이면 N-1 용량을 사용할 수 있습니다.

안전성과 효율성이 뛰어납니다.

3개 구성의 경우 33.3%, 4개 구성의 경우 25%, 5개 구성의 경우 20%가 패리티 공간으로 사용됩니다.

최소 디스크 수: 3

용량: (디스크 수 – 1) X 디스크 용량


RAID 6 (두 개의 독립적인 분산 패리티 모드가 있는 별도의 데이터 디스크)

RAID 6는 RAID 5와 유사한 구성이지만 다른 드라이브에 분산된 보조 패리티 정보를 삽입하여 최대 2개의 디스크 장애로부터 복구하도록 설계되어 있어 RAID 5보다 더 많은 데이터 보안이 보장됩니다.

그러나이 추가 보호에는 대가가 따릅니다.

패리티를 저장하는 디스크는 고정되어 있지 않고 매번 다른 디스크에 저장된다.

RAID 5의 성능과 용량을 줄이는 대신 안정성이 더 높은 RAID 수준이라고 생각하십시오. 더 많은 안정성이 요구되는 서버 환경에서 주로 사용됩니다.

그러나 패리티를 여러 번 업데이트해야 하므로 쓰기 속도가 RAID 5보다 느립니다.

디스크를 재구축하는 동안 성능이 저하될 수 있습니다.

두 개의 디스크에 패리티를 할당하여 저장하는 방식입니다.

최소 4개의 디스크를 구성해야 합니다.

공간 효율성과 처리 속도는 떨어지지만 보안은 크게 향상됩니다.

4의 경우 50%, 5의 경우 40%, 6의 경우 33.3%를 패리티 공간으로 사용한다.

최소 디스크 수: 4

용량: (디스크 수 – 2) X 디스크 용량

장점: RAID 4,5에 비해 높은 안정성

단점: RAID 4,5에 비해 비용 증가


RAID 7

하드웨어 컨트롤러에 내장된 운영 체제를 사용하여 구성됩니다.

각 공급업체는 몇 가지 고유한 기능을 제공합니다.

대부분의 경우 RAID-6만 표준 분류로 언급되는 반면 RAID-7은 일반적으로 공식 분류로 간주되지 않습니다.

습격 01

RAID 0 스트라이프로 구성된 하드디스크를 그룹화하여 RAID 1 미러링을 구성하는 방법입니다.

RAID 0과 RAID 1의 조합입니다.

최소 4개 이상의 디스크를 먼저 RAID 0(스트라이핑)으로 결합한 다음 RAID 1(미러링)로 결합하는 것입니다.

RAID 1의 단점은 RAID 0의 복구할 수 없는 문제를 해결하면서 성능을 향상시킬 수 있습니다.

하지만 안정성과 성능을 보장하는 대신 비용이 많이 든다는 단점이 있다.

최소 디스크 수: 4

용량: (디스크 수/2) X 디스크 용량


RAID 10

RAID 0+1의 반대 개념입니다.

RAID 1+0은 RAID 0+1보다 더 일반적입니다.

RAID 1과 RAID 0을 결합한 이 구성은 추가 비용으로 RAID 1보다 높은 성능을 제공합니다.

이는 RAID 1+0에서 데이터가 미러링되고 미러가 스트라이프되기 때문입니다.

최소 디스크 수: 4

용량: (디스크 수/2) X 디스크 용량

차이점: RAID 0+1은 복구 중에도 다른 세트의 전체 복사본이 필요하지만 RAID 10은 하나의 디스크만 복제하면 됩니다.


RAID 5+3

RAID 3 방식에서 별도의 스트라이프를 구성하는 방식입니다.

이 방법은 RAID 3보다 높은 성능을 제공하지만 구성 비용이 많이 듭니다.

전임자)

6개의 디스크가 있습니다.

RAID 0+1 예 3개의 디스크가 먼저 스트라이프된 다음 미러링되기 때문에 2개의 그룹로 나누어진다

RAID 1+0 있음 한 번에 2개의 디스크를 미러링한 후 스트라이프왜냐하면 3개 그룹로 나누어집니다

하지만 6세트에서 1+0의 안정성이 높은 이유는?

6개의 디스크를 1+0으로 구성하면 2+2+2 형태로 구성 가능(2개 구성 미러링 후 3개 그룹 스트라이핑)

6개의 디스크를 0+1로 구성하면 3+3으로 구성 가능(스트립 3개, 미러 2셋 구성 후)

이 경우 2+2+2 상태에서는 각 그룹에서 하나의 디스크가 고장나도 전체 데이터를 사용할 수 있는 반면, 3+3 상태에서는 각 그룹에서 하나의 디스크만 고장이 허용되지만 다른 경우에는 실패하면 모든 데이터가 손실됩니다.

즉, 2+2+2 상태에서는 최대 3개의 디스크 장애를 커버할 수 있고, 3+3 상태에서는 최대 2개의 디스크 장애를 커버할 수 있습니다.

장점: 성능, 탄력성 및 비용은 RAID의 주요 장점입니다.

RAID는 여러 개의 하드 드라이브를 함께 설치할 때 단일 하드 드라이브의 성능을 높이는 데 사용할 수 있고 구성 방식에 따라 충돌 후 컴퓨터 속도와 안정성을 높일 수 있기 때문입니다.

단점: 중첩 RAID 수준은 많은 디스크가 필요하기 때문에 기존 RAID 수준보다 구현 비용이 더 많이 듭니다.

중첩 RAID는 대부분의 디스크가 중복성을 위해 사용되기 때문에 저장 비용도 비쌉니다.

그러나 높은 비용에도 불구하고 중첩 RAID는 표준 RAID 수준과 관련된 일부 안정성 문제를 극복하는 데 도움이 되므로 널리 사용되고 사용됩니다.

와는 별개로

RAID 03(RAID 0+3), RAID 53(RAID 5+3)

RAID 50(RAID 5+0)

RAID 7(비표준, RAID 3, 4를 기반으로 하지만 캐싱이 추가됨)

추가의

하드웨어 RAID: 하드웨어 관점에서 RAID를 구성하는 방법입니다.

별도의 RAID 컨트롤러 구성을 사용하며 RAID 컨트롤러가 디스크를 구성한 다음 운영 체제로 보내므로 운영 체제는 디스크가 RAID로 구성되었는지 여부를 알 수 없습니다.

운영 체제가 RAID에 참여하지 않고 별도의 하드웨어가 RAID 관련 작업을 처리하므로 소프트웨어 RAID보다 우수한 성능을 기대할 수 있습니다.

그러나 RAID 컨트롤러가 중복되지 않으면 컨트롤러가 실패하는 경우에만 전체 디스크를 사용할 수 없게 될 수 있습니다.

소프트웨어 RAID: 운영 체제가 RAID 구성을 지원하는 방식입니다.

운영 체제는 장치에 연결된 모든 디스크를 인식할 수 있으며 RAID는 운영 체제에서 제공하는 기능을 통해 구성할 수 있습니다.

별도의 RAID 컨트롤러가 필요하지 않기 때문에 비용면에서 약간 나을 수 있지만 성능은 하드웨어 RAID 방식보다 낮습니다.

Windows 운영 체제에서는 동적 디스크를 사용하여 RAID를 구성할 수 있으며 UNIX 시스템에서는 LVM 구성을 사용할 수 있습니다.

(HP나 IBM은 Mirror를 LVM, 즉 Software RAID 방식을 통해 구성하더라도 Hardware RAID 방식과 거의 성능차이가 없을 뿐만 아니라 성능이 저하될 뿐만 아니라 복구시 안정성도 떨어진다고 합니다.

역시 매우 낮다)