728x90
반응형

RAID는 

 

Redundant Array of lndependent Disk(독립된 디스크의 복수 배열)

Redundant Array of lnexpensive Disk(저렴한 디스크의 복수 배열)

 

 

RAID 0 : 최소 2개 디스크, 데이터를 나누어 저장, 장애발생시 복구 불가

RAID 1 : 디스크 완전 이중화,많음 비용 발생, ReadWrite 병렬가능

RAID 2 : Hamming Code를 이용하여 오류 복구

RAID 3 : Parity 정보를 별도 디스크에 저장 

RAID 4 : Party 정보를 별도 시크그에 블록별 저장 Write 성능 저하 

RAID 5 : 분산 Parity 구현, 안정성 향상

RAID 6 : Parity 다중화, 장애발생 상황에서도 다른 정상 동작

 

말 그대로 RAID는 여러개의 디스크를 묶어 하나의 디스크처럼 사용하는 기술 

 

RAID를 사용하였을때 기대 효과는 

 

- 대용량의 단일 볼륨을 사용하는 효과

- 디스크 I/O 병렬화로 인한 성능 향상 

- 데이터 복제로 인한 안정성 향상 

 

RAID는 컴퓨터를 구성하는 여러 부품 중 기계적인 특성 때문에

상대적으로 속도가 많이 느린 하드디스크를 보완하기 위해 만든 기술입니다.

 

RAID를 구성하는 디스크의 개수가 같아도 RAID의 구성 방식에 따라 성능,용량이 바뀌게 됩니다.

이 구성 방식을 RAID Level(레이드 레벨)이라고 부릅니다.

여러 RAID레벨이 있습니다. RAID Level에 대해 알아보겠습니다.

 

2. Standard RAID Level

 

먼저 기본적인 RAID Level 입니다.

RAID 0 ~ RAID 6까지 있지만,

최근 출시된 RAID 컨트롤러에서 사용 가능한 RAID Level은 RAID 0,RAID 1,RAID 5,RAID 6 입니다.

RAID를 구성하는 디스크의 종류와 크기는 같다고 가정하면

 

성능의 경우 RAID 컨트롤러의 연산으로 인한 성능 저하는 제외하고 Sequential I/O시만 가정

RAID를 구성하는 디스크의 개수는 N으로 표현

 

RAID 0 

스트라이핑이라고도 부르는 방식 

 

RAID 0을 구성하기 위해 최소 2개의 디스크가 필요 

RAID를 모든 디스크에 데이터 분할하여 저장

전체 디스크를 모두 동시에 사용하여 성능은 

단일 디스크의 성능의 N배 

마찬가지로 용량 역시 단일 디스크의 용량의 N배가 된다. 

 

하지만 하나의 디스크라도 문제가 발생 할 경우 전체 RAID가 깨지는 불상사 발생.

안정성은 1/N으로 줄어든다 할 수 있다.

성능과 용량은 최대한으로 사용하는 대신 안정성은 극악이라고 볼 수 있습니다. 

 

RAID 1 

 

미러링이라고도 부르는 방식

RAID 1을 구성하기 위해 최소 2개의 디스크 필요 

RAID 컨트롤러에 따라 2개의 디스크로만 구성 가능

그 이상의 개수를 사용하여 구성 할 수도 있다.

RAID 1은 모든 디스크에 데이터를 복제하여 기록.

동일한 데이터를 N개로 복제하여 디스크에 저장 

때문에 여러 개의 디스크로 RAID를 구성해도

실제 사용 가능한 용량은 단일 디스크 용량과 동일 

Write 시엔 데이터를 복제하여 기록하기 때문에 

RAID 컨트롤러가 복제 연산하는 시간을 감안하면 

단일 디스크의 Write 성능보다 낮게 나올 수도 있습니다.

하지만 Read 시엔 전체 디스크에서 읽어오기 때문에 단일 디스크의 N배 성능이 나옴

RAID 1의 최대 강점은 안정성이 높다는 것

극단적으로 N-1개의 디스크가 고장나도 데이터 

극단적으로 N-1개의 디스크가 고장나도 데이터 사용 가능 

안정성이 중요한 시스템에서 사용 할 수 있겠으나 비용 문제로 거의 사용 안함

 

현재는 사용하지 않는 RAID Level 입니다.

bit 단위로 striping을 하고 error correction을 위해 Hamming code 사용

m+1개의 데이터 디스크와 m개의 패리티 디스크로 구성

최소 3개의 디스크로 구성 가능

1개의 디스크 에러시 복구 가능 

 

RAID 3 

 

현재는 사용하지 않는 RAID Level 입니다.

Byte 단위로 striping을 하고 error correction을 위해 패리티 디스크 1개 사용

용량 및 성능이 단일 디스크 대비 (N-1)배 증가

Byte단위로 striping하기 때문에 너무 작게 쪼개져 현재 사용 X

최소 3개의 디스크로 구성 가능

1개의 디스크 에러시 복구 가능. (2개 이상의 디스크 에러시 복구 불가능)

Block 단위로 striping하는 것은 RAID 5,RAID 6와 동일하지만

패리티 코드를 동일한 디스크에 저장하기 때문에

패리티 디스크 사용량 높아 해당 디스크 수명 줄어듬

RAID 4의 단점을 개선시킨 것이 RAID 5 입니다.

 

RAID 5

 

제일 사용 빈도가 높은 RAID Level 입니다.

Block 단위로 striping을 하고 error correction을 위해 패리티를 1개의 디스크에 저장

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

(RAID 4와 RAID 5의 그림을 비교해 보시면 이해 가능.)

용량 및 성능이 단일 디스크 대비 (N-1)배 증가.

최소 3개의 디스크로 구성 가능 

1개의 디스크 에러시 복구 가능. (2개 이상 디스크 에러시 복구 불가능)

RAID 0에서 성능,용량을 조금 줄이는 대신 안정성을 높인 RAID Level이라고 보면 된다.

 

RAID 6

 

RAID 5에서 성능,용량을 좀 더 줄이고, 안정성을 좀 더 높인 RAID Level 입니다.

Block 단위로 striping을 하고 error correction을 위해 패리티를 2개의 디스크에 저장 

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

용량 및 성능이 단일 디스크 대비 (N-2)배 증가합니다.

최소 4개의 디스크로 구성 가능 

그리고 2개의 디스크 에러시 복구 가능 (3개 이상의 디스크 에러시  복구 불가능)

RAID 5에서 성능, 용량을 조금 줄이는 대신 안정성을 높인 RAID Level이라 보면 된다.

조금 더 안정성을 높여야 하는 서버 환경에서 주로 사용 

3. Nested RAID (중첩 RAID)

 

Nested RAID는 Standard RAID를 여러개 중첩하여 사용 

복수의 Standard RAID를 RAID로 묶는다.

 

예를들어 2개의 RAID 0을 RAID 1로 묶습니다.

2개의 RAID 1을 RAID 0으로 묶을 수도 있다.

 

극단적으로 2개의 RAID 1을 묶는 RAID 0 2개를 RAID 0로 묶는 경우도 있는 것 같다. 

 

반응형

'IT' 카테고리의 다른 글

핫 스패어(Hot Spare)란 ??  (0) 2021.08.10
핫 스왑이란 ?  (0) 2021.08.10
깃허브란 ?  (0) 2021.08.09
젠킨스란 무엇 일까 ??  (0) 2021.08.09
WAS와 웹서버의 차이  (0) 2021.08.06

+ Recent posts