
|
|
RAID 란?
RAID는 Redundant Array of Inexpensive Disks의 약자로서 여러 하드디스크를 하나의 디스크처럼 묶어주는 방법을 의미한다. 다수의 하드디스크를 Array로 연결하므로서 고용량의 하드디스크를 구성할 수 있고, 데이터가 저장될 때 분산 저장되기 때문에 속도상의 이점을 얻을 수 있다. 또한 하드디스크의 물리적 이상이 발생했을때 데이터의 손실없이 복구할 수 있고, 이를 위해 서버를 셧다운 할 필요가 없다.
RAID의 등장 배경
목적 및 이론의 근거
소량이면서 저가인 PC Type의 Disk error에 대한 연구.
중복구성된 Disk Group 에 대한 Data를 Byte,block,segment단위로 나누어 병렬로 동시에 기록.
Disk의 일부 용량에 Data가 아닌 Parity로 정보를 기록.
Data Disk가 파손되어도 Host에서는 RAID내의 Parity정보를 이용하여 read/write작업을 지속적으로 수행
Fail Disk 교체시 RAID내에서 Parity정보를 이용하여 Data복구 기능을 수행
RAID의 구성
RAID 전용 Controller.SW를 HOST System에 install하여 RAID기능을 수행하도록 제작된 제품도 있음.
Cache Memory : Data Input/Output성능향상.
Striping Data Recording 방식 : I/O성능 향상.
Redundant Power : 무정지 구동.
Hoy-swap & On-line data rebuild : 무정지 유지보수.
RAID의 기능
장애 발생요인을 최대로 제거한 고성능의 무정지 대용량 저장장치
시스템 가동중 Disk Module고장 시에도 시스템 정지없이 새 Disk로 교체 하면 원래의 Data를 자동복구.
여러개의 HDD를 하나의 Virtual Disk로 구설하므로 대용량저장장치 구축가능.
다수의 HDD에 Data를 분할하여 병렬 전송하므로 전송속도 향상.
HOT Swap : RAID의 기본적 기능으로 운영중 부품의 장애 발생시 system를 정상 운영하면서 교체, 보수가능
Data 자동복구 : System과의 On-Line Access를 수행 하면서 Disk에 Data를 자동 복구함
Hot Spare : RAID내에 여분의 Spare용 HDD를 구성하면 HDD불량이 나도 정상적인 작업이 계속 된다.
RAID의 장점
Data의 안정성
무정지성
탁월한 성능
풍부한 확장성
Raid의 Level?
Level 0
장애발생에 대비한 여분의 저장공간을 갖지 않는다. 엄밀히 애기하자면 RAID의 정의에 부합된다고 볼수 없다.
level0에서 data는 빠른 입출력이 가능하도록 여러 드라이브에 분산된다. 여분의 정보를 기록하지 않기 대문에 성능은 매우 뛰어나지만 어는 한 드하이브에서 장애가 발생하게 되면 데이터는 손실된다. 이 Levelstriping라고 부른다.
Level 1
한 드라이브에 기록되는 모든 데이터를 다른 드라이브에 복사해 놓는 방법으로 복구능력을 제공한다. Level 1 array는 하나의 드라이브를 사용하는 것에 비해 약간 나은 정도의 성능을제공한다. (읽을 때 더 빠르며, 쓸 때는 약간 느리다. 하지만 ECC를 계산 하지 않기 때문에
RAID 4나 5보다는 빠르다.) 이 경우 어느 드라이브가 고장나더라도 데이터의 손상은 일어나지 않는다. 이것은 단 두대의 드라이브만으로 시작할 수 있기 때문에 RAID시스템을 처음 구축하는 사람에게 입문용으로 적합하다. 하지만 전체용량의 절반이 여분의 데이터를 기록하기위해 사용되기 때문에 저장 용량 당 단가가 비싸다. 이 level은 morning 라고 부른다.
Level2
에러검출능력이 없는 드라이브를 위해 Hamming code를 사용한다. 모든 SCSI드라이브는 에러검출능력을 갖고 있기 때문에 SCSI드라이브를 사용할 경우 이 레벨은 별로 쓰이지 않는다.
Level3
한 드라이브에 패리티 정보를 저장하고 나머지 드라이브들 사이에 데이터를 바이트단위로 분산한다. 이것은 level 4와 유사하나 바이트 단위의 분산저장을 경제적으로 수행하기 위해선 하드웨어적인 자원이 필요하다.
Level4
한 드라이브에 패리티 정보를 저장하고 나머지 드라이브들 사이에 데이터를 블록단위로 분산한다. 패리티 정보는 어느 한 드라이브에 장애가 발생했을 때 데이터를 복구 할 수 있게 해준다. Level 4 array 는 데이터를 읽어들일 때 level 10에 필적하는 매우 우수한 성능을 보이나, 쓸 때는 매번 패리티 정보를 갱신하기 때문에 추가적인 시간을 필요로 한다. 실제적으로는 작고 랜덤하게 기록할수록 느리고, 크고 순차적인 기록을 행할 때는 그리 느리지 않다. 여러 드라이브들 중에서 한 대의 드라이브만이 여분의 패리티 정보를 기록하는데 사용되기 때문에 level 4의 용량당 비용은 그리 높지 않다.
Level5
패리티 정보를 모든 드라이브에 나누어 기록한다. 패리티를 담당하는 디스크가 병목현상을 일으키지 않기 때문에 level 5는 멀티프로세스 시스템에서와 같이 작고 잦은 데이터기록이 있을 경우 더 빠르다. 하지만 읽어들이기만 할 경우 각 드라이브에서 패리티 정보를 건너 뛰어야 하기 때문에 level 4 array 보다 상당히 느리다. 용량당 비용은 level 4 와 같다.