최종 수정 : 25.1.8
1. RAID 개요
CPU의 속도에 비해서 디스크의 성능은 느리기 때문에 CPU와 디스크의 속도에 차이가 나고, CPU의 속도가 증가하더라도 시스템의 전체 성능은 디스크의 I/O속도에 의해 결정된다. RAID(Redundant Array of Inexpensive Disks)란 이런 문제를 완화시키는 방법이다.
RAID란 여러 개의 하드 디스크를 마치 1개의 하드 디스크처럼 다루는 방법이다. 즉, 속도의 증가를 높이는 것이다. 같은 데이터를 다른 디스크에 중복해서 저장하면 입출력 작업이 균형도 이루고 중복이 되어 전체적을 성능도 개선된다. 또한 고장에 대비하는 능력도 향상되고 한 디스크에 집중되지 않으므로 병목현상도 해결되는 장점이 있다. 이처럼 데이터를 여러 개의 디스크에 분산 저장하는 기술을 디스크 인터리빙(disk interleaving) 방식이라고 한다.
RAID는 하드웨어 RAID와 소프트웨어 RAID로 나눌 수 있다.
- 하드웨어 RAID
☞ 여러 하드 디스크를 이용해서 장비를 만들고 공급하는 방식으로 안정적이지만 가격이 고가이다. - 소프트웨어 RAID
☞ 하드 디스크만 있으면 운영체제에서 RAID를 구성하는 방식이다. 신뢰성은 떨어지지만 저렴하게 데이터의 저장이 가능하다
.2. 레이드(RAID) 종류
1) RAID - 0
데이터의 빠른 입출력을 목적으로 데이터를 여러 개의 하드 디스크에 분산하여 저장하는 스트라이필(striping) 방법을 사용한다. 즉, 하나의 디스크에 저장하는 데 걸리는 시간을 여러 개의 디스크에 동시적으로 분산하여 저장하는 방식이다. 주로 빠른 데이터 입*출력 성능이 요구되는 동영상 편집과 출판작업 등에 적합하다.
RAID - 0은 성능이 매우 뛰어난 반면, 장애발생에 대비한 여분의 저장 공간이 없기 때문에 하나의 디스크에서 장애가 발생하더라도 데이터를 전부 손실하 수 있는 위험이 있다.
2) RAID - 1
Mirroring 기법이라고 하고, 한 드라이브에 기록되는 모든 데이터를 다른 드라이브에 복사하는 방식이다. 빠른 기속 속도와 함께 장애복구능력이 요구되는 경우에 사용하며, 2대의 드라이브만으로도 구성할 수 있다. 이를 디스크 반사(disk mirrioring) 방식이라고 한다. 이런 기법은 하나의 드라이브가 고장이 나면, 다른 드라이브를 통해 완벽하게 복구하는 방법이다. 2개의 디스크에 데이터가 동일하게 기록되므로 데이터의 복구 능력은 높지만, 전체 하드 디스크 용량의 50%만을 사용할 수 있기 때문에 저장용량당 단가가 비싸다.
3) RAID - 2
에러 검출능력이 없는 드라이브를 위해, 검사 디스크를 추가하고 해밍(hamming)이라는 오류정정코드를 사용하여 에러를 검출하고 정정도 한다. 실시간 에러 수정이 가능한 장점이 있지만, 현재의 SCSI 드라이브들이 자체 에러 검출능력을 갖고 있기 때문에 별로 쓰이지 않고 있다.
4) RAID - 3
RAID - 0의 빠른 입출력 기능에 에러 보정기술이 첨가된 구성이다. 데이터를 분산, 저장하고 에러검출과 수정을 위해 별도의 패리티 드라이브를 사용한다. 보통 바이트 단위로 데이터를 분산 저장하기 때문에 드라이브의 장애 발생 시 패리티 정보를 이용한 복구가 가능하다.
5) RAID - 4
RAID - 4는 최소 3개의 드라이브를 구성하며, 패리티 드라이브를 사용하는 것은 RAID - 3과 같다. 다른 점은 드라이브에 데이터를 블록 단위로 분산 저장하는 것이다. 데이터 출력 시에 빠른 성능을 갖지만, 저장 시에는 어떤 블록의 내용을 변경하면 해당 패리티 블록도 변경해야 하는 단점이 있다.
6) RAID - 5
RAID - 3과 RAID - 4의 단점을 보완한 것이다. 패리티 갱신을 위한 디스크 액세스들이 분산되어 패리티 디스크에 대한 병목 현상을 일으키지 않기 때문에 좋은 성능을 구현하고 쓰기 동작을 병렬로 수행할 수 있다.
7) 다중중첩레벨
RAID를 중복으로 활용하여 성능 및 안정성을 향상시키는 방식이다. 대표적인 예로는 RAID - 01, 10, 03, 30, 50, 51, 53 등이 있다.
참고
독학사 교재
댓글