R A I D 란?
여러 물리적인 디스크를 묶어서 그룹을 만들어 하나의 논리적인 디스크처럼 사용하는 기술
- 컴퓨터를 구성하는 여러 구성품 중 상대적으로 속도가 많이 느린 하드디스크의 성능을 보완한다.
사용 이유
1. 안정성 확보 가능
- 하드디스크에 장애가 발생해도 데이터가 손실되지 않도록 데이터 저장을 이중화하여 복제로 인한 안정성을 향상시킨다.
2. 성능 확보 가능
- 일부 RAID 방식에 따라 디스크 I/O 병렬화로 인한 성능 향상
종류 및 방식
RAID 0
Striping 방식 (데이터를 나누어 균등 분산하며 저장)
- 최소 2개의 디스크가 필요하며 RAID를 구성하는 모든 디스크에 데이터를 나누어 분할하여 저장한다.
- 최대 사용 가능 용량 : 디스크의 수 * 디스크 용량
•장점
- 전체 디스크를 모두 동시에 사용하기 때문에 I/O 성능과 용량은 단일 디스크의 N배이다.
•단점
- 하나의 디스크라도 문제가 발생한다면 전체 데이터가 깨지는 문제가 발생한다. (안정성은 1/N배)
RAID 1
Mirroring 방식 (하드디스크에 데이터를 N개로 복제하여 저장)
- 최소 2개의 디스크가 필요하며 디스크의 데이터를 페어링된 다른 디스크에 복제하여 저장한다.
- 최대 사용 가능 용량 : 단일 디스크 용량과 동일
•장점
- 안정성이 높다
- 데이터 Read 시에 단일 디스크의 N배의 성능을 제공
•단점
- 데이터 write시 가장 낮은 성능을 가진 드라이브에 맞춰지기 때문에 쓰기 속도가 느림.
- 비용이 비쌈
RAID 2
Striping 방식 (데이터를 나누어 균등 분산하며 저장-bit 단위)
- 최소 디스크 개수 3개가 필요하며 디스크들 간의 Striping 구성
- 오류 검사 및 수정을 위한 ECC(Error Correcting Code)정보가 저장되어 있음
- ECC : Hamming code 기술을 사용 : 기존 데이터에 패리티 데이터들을 추가하여, 기존 데이터에 오류가 발생했을 때 에러가 발생된 코드를 원래 코드로 수정하기 위해 사용하는 기술
- 최대 사용 가능 용량 : (디스크 수 -1) * 디스크 용량
•장점
- 하나의 디스크 장애 시 Hamming code 기술을 사용하여 디스크 하나를 복구 가능
•단점
- 두 개 이상의 디스크 에러 또는 패리티 디스크에 에러가 발생하는 경우 복구가 어렵다.
- 하나의 디스크가 고장나도 ECC를 이용하여 정상적으로 작동할 수 있지만, 추가적인 연산이 필요하여 I/O속도가 느림
RAID 3
Striping 방식 (데이터를 나누어 균등 분산하며 저장– byte 단위)
- 최소 3개 이상의 디스크로 구성하며 데이터가 바이트 단위로 저장되고 별도의 전용 디스크에 Parity 정보를 저장
- 최대 사용 가능 용량 : (디스크의 수 -1) * 디스크의 용량
•장점
- 한 개의 디스크가 에러 나는 것을 복구할 수 있다.
- 순차적 I/O 성능이 좋다.
•단점
- 두 개 이상의 디스크 에러 또는 패리티 디스크에 에러가 발생하는 경우 복구가 어렵다.
RAID 4
Striping 방식 (데이터를 나누어 균등 분산하며 저장– Block 단위)
- 최소 3개 이상의 디스크로 구성하며 데이터가 Block 단위로 저장되고 별도의 전용 디스크에 Parity 정보를 저장
- 최대 사용 가능 용량 : (디스크의 수 -1) * 디스크의 용량
•장점
- 한 개의 디스크가 에러 나는 것을 복구할 수 있다.
- Block 단위로 저장되기에, 파일이 작을 때는 한 번의 작업으로 데이터를 read 할 수 있다.
- Block 크기(64kb ~ 512kb)를 지정해서 최적화 가능
•단점
- 두 개 이상의 디스크 에러 또는 패리티 디스크에 에러가 발생하는 경우 복구가 어렵다.
RAID 5
Striping 방식 (데이터를 나누어 균등 분산하며 저장– Block 단위)
- 최소 3개 이상의 디스크로 구성하며 데이터가 Block 단위로 저장되고 별도의 전용 디스크에 Parity 정보를 저장하는 것이 아닌
- 고정하지 않고, 번갈아가며 디스크에 저장한다.(RAID 2,3,4와의 차이점)
- 최대 사용 가능 용량 : (디스크의 수 -1) * 디스크의 용량
•장점
- 하나의 디스크에 장애가 발생하더라도 나머지 디스크에 데이터와 패리티 정보를 통해 손상된 데이터를 복구 가능
- 데이터와 패리티를 모든 디스크에 균등하게 분산 저장하기 때문에 용량을 효율적으로 사용 가능
- 여러 디스크에서 병렬로 read 하므로 성능이 향상됨
•단점
- 두 개 이상의 디스크 에러 또는 패리티 디스크에 에러가 발생하는 경우 복구가 어렵다.
- write 작업 시에는 추가적인 패리티 계산이 필요하므로 쓰기 성능이 떨어진다.
Striping 방식 (데이터를 나누어 균등 분산하며 저장– Block 단위)
- •최소 4개 이상의 디스크로 구성하며 데이터가 Block 단위로 저장되고 별도의 전용 디스크에 Parity 정보를 저장하는 것이 아닌
- 고정하지 않고, 번갈아가며 다른 디스크에 저장한다.(RAID 2,3,4와의 차이점)
- •RAID 5 방식과 유사하지만 추가적인 패리티를 제공하여 더 높은 안정성을 목표로 함
- •최대 사용 가능 용량 : (디스크의 수 -2) * 디스크의 용량
•장점
- 두 개의 디스크에 장애가 발생하더라도 두 개의 패리티 정보를 사용하기 때문에 두 디스크까지 복구 가능
- 데이터와 패리티를 모든 디스크에 균등하게 분산 저장하기 때문에 용량을 효율적으로 사용 가능
- 여러 디스크에서 병렬로 read 하므로 성능이 향상됨
•단점
- 새로운 정보를 저장할 때마다 함께 저장할 패리티 디스크가 2개이므로, 추가적인 패리티 연산으로 인해 write 속도가 RAID 5보다 떨어진다
RAID 1 + 0
Mirroring + Striping 방식 (데이터를 균등 저장 후 복제)
- RAID 1 방식으로 디스크를 복제하고 RAID 0 방식으로 데이터를 저장
- 안정성 및 속도 향상
- 최소 디스크 수 – 2개 (짝수)
- 사용 가능한 용량 N/2
RAID 0 + 1
Striping + Mirroring 방식 (데이터를 복제 후 균등 저장)
- RAID 0 방식으로 데이터를 저장하고, RAID 1 방식으로 디스크를 복제
- 최소 디스크 수 – 2개(짝수)
- 사용 가능한 용량 N/2