OS/Log2004. 6. 2. 05:07
반응형

  

RAID

 
수퍼컴퓨터와 메인 프레임으로 보급된 디스크 어레이는 대규모 시스템간의 데이터 전송 속도를 높이기 위해서 개발되었다. 초고성능인 드라이브와 전용 컨트롤러를 갖춘 초기의 디스크 어레이는 데이터 억세스를 복수의 드라이브로 확대해서 데이터가 전 드라이브의 합계속도로 전송할 수 있도록 했다. 초기의 이들 시스템은 효과적이기는 했지만 범용성이 없고 고가 였다. 소규모의 시스템이 보급됨에 따라서 보다 저렴한 솔루션에 대한 요구가 생겨났다.
  • RAID 의 출현


저 가격 디스크 리던던트 어레이(Redundant Array of Inexpensive Disks). 즉 RAID라고 하는 시스템은 공식적으로는 1987년에 버클리대학 연구원들이 정식으로 정의했다.
RAID의 중심 개념은 복수의 소형으로 저렴한 드라이브를 조합시킴으로써 단일의 대형 및 고가 디스크를 능가하는 성능을 이끌어내는 것이다. 이 RAID 시스템에는 복수의 드라이브가 필요하므로 드라브중 어느 1대의 고장에 의한 데이터 손실을 방지하는 메카니즘이 필요하게 된다. 어떤 메카니즘은 Redundant 라는 용어로서 나타내고 있다.

RAID 시스템은 개발 당시엔 성능을 향상시키는 목적으로 개발 되었지만 현재는 신뢰성에 대한 요구도 높아지고 있다

오늘날 RAID는 특정의 태스크에 맟춰서 성능이 최적화 되로록 구성된 인텔리전트하게 관리되는 디스크 드라이브의 집합으로서 판매되고 있다. RAID의 잇점이라고 한다면 다음과 같은 점을 들 수 있다.

전송속도의 증가
1초당 I/O트랜잭션 수의 증가
온라인 기억장치 용량의 증가
데이터 가용성과 시스템 신뢰성의 향상
대량의 데이터 관리 용이성
보수작업과 다운 타임의 감소

  • RAID 테크놀로지

RAID를 정의 하게된 동기 중 하나는 많은 시스템에 공통된 I/O에 의한 병목현상을 제거하려는 것이 없다 일반적으로 인용되는 이론에서는 디스크의 I/O작동에 10%의 시간만을 소비하는 어플리케이션조차 CPU성능이 10배가되더라도 시스템 처리량은 5배밖에 되지 않는 경우가 나타나고 있다. CPU성능이 향상됨에 따라서 CPU 성능과 시스템 성능이 차이는 확대 일로에 있으며 지원하는 I/O처리량의 개선 없이 많은 어플리케이션들은 고성능의 프로세서를 완전하게 효과적으로 활용할 수 없다

실제로 RAID가 I/O의 병목현상을 제거하고 시스템에 높은 수준의 성능을 추구할 수 있을까 어떤 상황하에서는 RAID가 극적으로 성능을 올릴 수 있겠지만 실제로는 성능을 저하시키는 경우도 있다 기억 시스템에 부과된 다양한 요구에 따라서 각기 다를 레벨의 RAID 가정의 되며 각레벨이 독자적인 특성을 가지고 있다.


RAID레벨의 개요

RAID 0 - 스트라이핑`
RAID 1 - 미러링
RAID 2 - 스트라이핑과 에러의 검출 및 정정
RAID 3 - 전용 패리티에 의한 스트라이핑
RAID 4 - 전용 패리티에 의해 개량돼 스트라이핑
RAID 5 - 삽입 패리티로 개량된 스트라이핑
RAID 0+1 - 스트라이핑과 미러링


RAID어레이가 과연 실제로 I/O 병목현상을 해소함으로써 대단히 높은 수준의 성능을 제공할 수 있을까? 경우에 따라서는 RAID 구성에 따라서 극적으로 성능을 개선 할 수 있지만 상황에 따라 반대로 성능을 해치는 경우도 있다. 기억 장치 시스템에 부과되는 다양한 요구를 지원하기 위해서는 각종의 RAID 수준이 정의되고 있으며 각각 고유의 특성을 갖추고 있다.

당시 버클리 논문에서는 5가지 RAID 레벨이 정의 되어있다. 현재는 이 5가지 레벨의 단순한 변경까지 포함해서 몇 개의 레벨이 추가되어 있다.

  • RAID 0 - 스트라이핑

스트라이핑이란 데이터 스트림을 똑같은 크기의 집합체로 분할해서 그것을 동등한 사이즈의 집합체(스트라이프블럭)로서 복수의 디스크에 배치하는 것을 나타내는 전문용어이다.각각의 집합체는 어레이내의 연속된 드라이브에 계속해서 기록된다. 최초의 드라이브에서 시작되어 마지막 드라이브에서 종료하는 연속된 집합체의 집합이 '스트라이프'를 형성한다. 어레이 관리 소프트웨어가 어래이 내의 전용컨트롤러와 호스트 상에서 (혹은 그 양쪽을 조합시킨 형태로)작동하거나 이 소프트웨어가 운용시스템과 어플리케이션에 대해서 어레이를 보통의 디스크 혹은 가상 디스크처럼 보이게 하는 역할을 담당한다..

일반적으로 한 개의 스트라이프에 속하는 각 디스크는 각각 고유의 독립된 데이터 채널 상에 있는 것으로 생각할 수 있다 RAID 0 방식의 시스템 전송속도는 각 드라이브의 전송속도의 합계와 근사한 값에 도달할 수 있다(단, 호스트 소프트웨어와 개재하는 하드웨어가 그와 같은 높은 데이터 전송속도를 처리할 수 있어야 한다는 점이 전제가 된다).
RAID 0은 뛰어난 IOPS성능을 제공한다. 이것은 데이터가 복수의 독립 스핀들과 액츄에이터로 분산되어 있으며 이 점이 I/O부하의 균등화에 유용하기 때문이다. RAID 0을 전송속도나 IOPS성능에 관해서 최적화 하기 위해서는 관리자들은 스트라이프내의 집합체 사이즈와 디스크 트랜잭션의 평균 사이즈와의 관계에 관해서 구성상의 결정을 할 필요가 있다.

  • RAID 1 - 미러링


이 타입의 어레이는 종래의 폴트 톨러런트 어플리케이션으로 사용된 쉐도우 또는 미러링이라고 한다. RAID 1은 속도보다도 데이터의 가용성을 최적화하기 위해서 설게되었으며 각 기록 트랜잭션을 한 개 이상의 미러 디스크로 복제한다.

미러링 시스템은 판독조직의 IOPS 성능을 개선하기 위해서 사용할 수 있다. 가장 부하가 낮은 드라이브를 선택해서 요구 처리에 소비할 수 있기 때문이다. 기록 오퍼레이션에는 양쪽의 드라이브를 관여시키지 않으면 안되므로 기록 성능은 독립된 드라이브보다도 약간 저하하는 경우가 있다.

  • RAID 5 - 스트라이핑과 패리티 삽입

RAID 5는 스트라이핑의 성능상 이점을 살리면서 데이터에 에러 수정 정보(패리티)를 추가함으로써 데이터 손실에 대한 약점을 줄인다.

RAID 5 에서는 스트라이핑된 데이터가 존재하는 그룹내의 각 드라이브에 대해서 각기 독립적으로 억세스 할 수 있다. 만약 데이터가 거의 모든 I/O요구 사이즈 이상의 크기인 데이터 블록으로서 이 드라이브 그룹내의 분산해서 배치되어 있다면 각 드라이브는 상호 독립된 형태로 요구를 지원할 수 있다. 또한 경우에 따라서는 복수의 드라이브를 함께작동시킬 수 있으므로 RAID 5 시스템부터 뛰어난 순차적 성능을 얻을 수 있게 된다.

RAID 5 에서는 패리티 정보와 데이터의 양쪽이 순환패턴으로 어레이내의 인터리브 (상호배치) 된다. 어느 한 디스크가 고장났을 경우는 단순한 알고리즘으로 상실한 데이터를 나머지 디스크에 복원한다. RAID 5 는 미러링에 대한 투자를 하지 않는 채 뛰어난 랜덤 성능을 원하는 사용자들에 있어서는 매력적인 안이다.

RAID 5 단점은 작은 기록의 성능이 나쁘다는 점이다. 1블록만을 쓰는 명령어가 RAID 5 구성에 대해서 실행되면 시스템은 4번의 I/O오퍼레이션과 2번의 패리티 계산을 판독/변경/기록의 시퀀스로서 완료하지 않으면 안 된다. 결과적으로 랜덤기록 성능은 저하된다.

  • RAID 0+1 - 스트라이핑 + 미러링

기존의 2가지 RAID 레벨을 결합시킴으로서 몇 가지 효과적인 구성을 만들어낼 수 있다
비교적 잘 알려져 있는 것 중 하나로 RAID 0+1이 있다 이것은 미러링(RAID 1)의 신뢰성을 스트라이핑 (RAID 0)의 성능과 조합시킨 것이다.
스트라이핑과 미러링을 적용한 시스템의 신뢰성은 미러링에 의해서 가능해지는 높은 리던던트 때문에 매우 뛰어나다. RAID 0+1 시스템은 각각의 단독 디스크의 장해를 견딜 수 있으며 게다가 RAID 5 와는 달리 성능의 약화를 거의 초래하지 않고 데이터 입. 출력을 고속으로 처리할 수 있다. 그러나 보호를 필요로 하는 데이터는 단순한 독립 스핀들의 2배의 디스크 공간을 점유함으로써 RAID 0+1 시스템은 미러링 시스템과 똑같은 비용이 필요하게 되면 RAID 5보다 고가가 된다.

반응형

'OS > Log' 카테고리의 다른 글

Perflib Error None 1008  (0) 2006.06.08
[펌] 서버상태 확인 sar  (0) 2004.09.20
[펌] 유용 싸이트 모음*:..:*  (0) 2004.06.02
Posted by [PineTree]