통칭 RAID 시스템이라 불리는 디스크 성능 향상 법에 대한 내용

Topology

메모리와 프로세서와는 다르게, 속도를 높이는 것이 힘든 디스크로서는 가격이 낮다는 특성을 이용해서 좀 다른 길을 걸어가기 시작했는데...

그의 일환으로 나온것들 중의 하나가 RAID 이다.

레이드는 속도를 높여줄 뿐만 아니라, redundency 를 높여주어 MTBF(http://terms.co.kr/MTBF.htm)(평균 무고장 시간) 을 높여주는 효과가 있다.

RAID 0


stripe 라고도 하며, 저가형 RAID 카드에서 주로 지원하는 방식이다. 하드 디스크의 속도를 향상시킬 목적이라면 이것이 최적이다. 병렬로 하드 디스크들을 묶어서, 데이터를 읽거나 쓸때 병렬로 기록하고, 병렬로 읽어오는 방식이다. 이론상으로는 n 개의 하드디스크를 stripe 로 묶었을때 n 배의 성능 향상이 있게 된다. 묶인 하드 디스크들이 하나의 논리적인 드라이브를 구성하는 방식이며, 이것이 하드웨어 레벨에서 지원되기때문에 OS 에서는 완벽하게 하나의 하드디스크로 동작한다. 단점으로는, 하나의 하드 디스크에 결함이 생겼을때, 논리적으로 하나인 드라이브이므로, 같이 사망 되겠다.

RAID 1


shadowing 혹은 mirroring 이라고 부르며, 단어 그 자체 대로, 여러개의 디스크에 완벽하게 동일한 자료를 저장한다. 물론 읽어오는 작업을 할 때에는 병렬로 읽어올 수 있기때문에 성능향상이 있지만, 쓰기작업을 수행할때는 하나의 디스크를 사용하는 것과 차이가 없다. 조금 무식한 방법이지만 자료의 무결성을 보장하려고 할때 가장 확실한 방법이기도 하다.

RAID 2


워드를 바이트 단위로 쪼개서 스트라이프 하고, 그에대한 ECC 코드를 ECC 디스크들에 저장한다. ECC 에 의해 실시간으로 에러 정정이 가능하며 빠른 읽기가 가능하다. 다만, 자료를 기록할때마다 ECC 가 그에 반영되어야 하므로 ECC 디스크들에 병목현상이 나타날 수 있으며, 이 이유로 쓰기 성능은 그다지 향상되지 않는다. 이 레벨의 RAID 를 지원하는 하드웨어는 없다.

RAID 3


디스크들을 스트라이프 하고, 하나의 다른 디스크에 스트라이프 된 디스크들의 패리티를 저장한다. 비교적 간단하게 구현되는 편이며, 이것 역시 RAID 2 처럼 패리티 디스크에 병목현상이 발생한다.

RAID 4


RAID 3 과 여러가지 면에서 비슷하다. RAID 4 에서는 스트라이프 되는 단위가 일반적으로 디스크의 섹터 단위이며 그에 따라, 섹터 하나에 담기는 정도의 작은 파일을 입출력할때에는 성능향상이 없다. 다만 섹터 여러개에 저장되는 파일이거나, 아니면 동시에 여러 파일을 접근할때에 성능향상이 있게 된다. 그리고 또한 섹터단위의 패리티가 패리티 디스크에 저장되므로 RAID 3 처럼 패리티 디스크에 병목현상이 생기게 된다.

RAID 5


RAID 3 과 4 와 비슷 하지만, 패리티가 하나의 독립된 디스크에 저장되지 않고, 스트라이프를 구성하는 각 디스크에 분산되어 저장된다는 점이 다르다. 이로 인해서 패리티 디스크에 부담을 막을 뿐만 아니라 패리티 디스크의 병목현상까지 방지한다.

RAID 6


기본적으로 RAID 5 와 비슷한 구성이다. 2-dimentional array 로 디스크들을 구성하며, 각각의 row 와 column 에 패리티를 사용하여 두개까지의 디스크가 동시에 문제를 일으키더라도 정상 동작을 가능하게 한다. 1987년에 제정된 최초의 RAID 표준으로부터 처음 나온 추가 레벨이다.

Thread

  • 남훈인가.. 멋지다. :) --상민



Retrieved from http://wiki.zeropage.org/wiki.php/RedundantArrayOfInexpensiveDisks
last modified 2021-02-07 05:27:53