RAID 정리

공격

Redundant Array Inexpensive Disk 또는 Redundant Array Independent Disk의 약자

처음 개념이 나왔을 때는 저렴한 플래터 여러 개를 묶어서 고성능 플래터로 사용하자는 생각에서 시작됐다.

현재는 반드시 저렴한 하드 드라이브가 아니라 추가 독립 하드 드라이브를 하나로 결합하여 고성능 또는 고가용성 개념에 가깝습니다.

RAID는 구현 방법에 따라 여러 RAID 레벨로 표현됩니다.

단일 디스크 I/O

다음 그림은 단일 디스크에서 I/O가 발생하는 상황을 보여줍니다.

모든 데이터는 부분(블록 또는 클러스터로 표현됨)으로 분할되고 디스크에 기록되어 다음 이미지가 생성됩니다.

프래그먼트 1이 디스크에 기록되는 동안 나머지 프래그먼트는 대기하고 쓰기 1이 완료되면 쓰기 2, 3이 순서대로 수행됩니다.

RAID 0(스트라이핑)

그래서 개념이 처음 등장했을 때 여러 개의 저렴한 디스크를 하나로 결합하여 고성능 디스크로 사용한다는 개념에서 파생된 레이어였습니다.

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

적어도 두 개의 하드 드라이브가 필요하며 안정성보다는 고성능을 위해 사용됩니다.

RAID 0의 경우 I/O 작업 시 데이터를 여러 부분으로 나누어 순서대로 각 디스크에 저장한다.

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

트랙 1이 디스크 1에 기록되는 동안 트랙 2는 기다리지 않고 디스크 2에 직접 기록됩니다.

1장 쓰기가 끝나면 디스크 1이 3장을 쓰고, 2장 쓰기가 끝나면 4장을 쓰고 성능은 단일 디스크의 2배 가까이 된다.

(물론 현실에서는 2배까지는 아니다)

그러나 두 디스크 중 하나가 실패하면 데이터의 절반이 손실되어 다른 디스크는 사실상 쓸모 없게 됩니다.

관리 포인트가 증가할수록 안정성이 떨어집니다.

1+1=2

이점: 빠른 I/O 성능, N개의 디스크가 구성되면 모든 N개의 디스크 용량을 사용할 수 있습니다.

단점: 낮은 안정성

최소 드라이브 수: 2

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


RAID 정리 1

RAID 1(미러링)

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

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

즉, RAID 1은 양쪽 디스크에 동일하게 데이터를 기록하여 한 디스크가 고장나더라도 다른 디스크를 통해 데이터에 접근할 수 있도록 하여 안정성을 높이는 방법으로 볼 수 있다.

일반적으로 서버에서 운영체제가 설치되는 하드디스크에 필수적인 구성 방법이다.

1+1=1

장점: 높은 안정성. 일반적인 구성과 비교하여 읽기 성능은 아주 작은 개선만을 보였습니다.

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

즉, 높은 비용.

최소 드라이브 수: 2

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


RAID 정리 2

RAID 2(해밍 코드 ECC)

현재 사용되지 않는 RAID 수준입니다.

스트라이핑은 비트 단위로 이루어지며 오류 정정을 위해 해밍 코드가 사용됩니다.

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

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

최소 3개의 데이터 캐리어로 구성될 수 있습니다.

그리고 하드 드라이브 장애 시 복구가 가능합니다.

(2개 이상의 디스크 오류에서 복구 불가)

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


RAID 정리 3

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

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

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

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

단일 하드 드라이브에 비해 용량과 성능이 (N-1)배 증가합니다.

바이트 단위로 스트라이핑되기 때문에 너무 작게 세분화되어 현재 사용되지 않습니다.

그리고 디스크 장애 시 패리티 디스크를 통해 복구가 가능합니다.

(2개 이상의 디스크 오류에서 복구 불가)

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

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

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

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

최소 드라이브 수: 3

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


RAID 정리 4

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에 비해 뛰어난 성능

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


RAID 정리 5

※ 패리티 사용 방법

– 아래 그림에서 데이터 #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개의 디스크 중 하나의 패리티 정보를 저장합니다.

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

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

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

탁월한 안전성과 효율성.

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

최소 디스크 수: 3

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


RAID 정리 6

RAID6 (두 개의 독립적인 분산 패리티 체계가 있는 독립 디스크)

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

RAID7

구성은 하드웨어 컨트롤러에 통합된 운영 체제를 통해 이루어집니다.

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

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

RAID 01

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

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

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

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

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

최소 디스크 수: 4

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


RAID 정리 8

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 정리 9

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 컨트롤러는 디스크를 구성한 다음 OS에 전달하므로 OS는 디스크가 RAID 구성인지 여부를 알 수 없습니다.

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

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

소프트웨어 RAID: 운영 체제가 RAID 구성을 지원하는 방법. 운영 체제는 장치에 연결된 모든 하드 드라이브를 인식할 수 있으며 운영 체제에서 제공하는 기능을 통해 RAID 구성이 가능합니다.

별도의 RAID 컨트롤러가 필요하지 않기 때문에 다소 저렴할 수 있지만 하드웨어 RAID 방식에 비해 성능이 떨어집니다.

Windows 운영 체제에서 RAID는 동적 디스크로, UNIX 시스템에서는 LVM으로 구성할 수 있습니다.

(HP나 IBM에서는 LVM을 통해 Mirror를 구성한 경우, 즉 소프트웨어 RAID 방식을 사용하더라도 하드웨어 RAID 방식과 비교했을 때 성능 차이가 거의 없다고 합니다.

성능 저하뿐만 아니라 복구 시 안정성도 떨어집니다.

)