2011년 5월 27일 금요일

RAID [redundant array of inexpensive disk]

RAID(Redundant Array of Inexpensive Disk) '작고 값싼 드라이브를 여러 연결해서크고 비싼 드라이브 하나(SLED : Single Large Expansive Disk) 대체하자' 개념이다. ·여러 개의 하드 디스크를 하나의 커다란 Virtual(가상) 하드 디스크로 구성하여 대용량 저장 장치로 각광받고 있다. 1987 캘리포니아 대학 버클리 분교의 패터슨, 깁슨, 카츠에 의해발표되어 논문 A Case for Redundant Arrays of Inexpensive Disks’에서 등장한 기술이다. 1~5단계로 제안된 자기 기억 장치의 새로운 기술과 SLED(single large expensive disk) 비교하여 설명하였다. 후로 여러 업체에서 제안한 0, 6, 10수준 등이 있다. 여러디스크를 병렬로 연결하여 사용하는 기법으로서 접근(access) 속도와 데이터 보존 신뢰가 우수할수록 높은 등급을 받는 5단계로 구분된다.

RAID의 장점

  1. 운영 체제에서 여러 개의 물리적 드라이브가 하나의 논리적 드라이브로 사용됨으로서 논리적 드라이브 수의 제한을 피할 수 있다.

  2. 여러 드라이브의 집합을 하나의 저장 장치처럼 다룰 수 있다.

  3. 장애가 발생했을 때 데이터를 잃어버리지 않게 각각에 대해 독립적으로 동작한다.

  4. 다수의 하드 디스크에 데이터를 분할하여 병렬 전송함으로서 전체적인 Virtual 하드 디스크의 데이터 전송 속도는 향상된다.

  5. 시스템 가동 중 하드 디스크에 문제가 발생하더라도 시스템 정지 없이 새로운 하드 디스크로 교체(Hot Swap)할 수 있다.

  6. 데이터가 항상 안정적으로 유지되어야 할 때나 입출력이 많은 업무에 편리하다.

RAID Level

RAID 0

  • 가장 기본적인 구현 방식으로 '데이터 Striping'이라고도 하며 빠른 입출력이 가능하도록 여러 드라이브에 분산 저장.

  • 추가적인 오류 교정 데이터 없이 데이터가 분산 저장되기 때문에 비교적 중요하지 않는 응용 프로그램에서 사용.

  • 성능은 매우 뛰어나지만 어느 한 드라이브에서 장애가 발생하게 되면 데이터는 손실 됨.

RAID 1

  • 하나의 드라이브에 기록되는 모든 데이터를 다른 드라이브에 복사해 놓는 방법으로Mirroring'이라고도 한다.

  • 하나의 드라이브가 고장나더라도 다른 드라이브가 작동 중이므로 속도와 안정성 측면에서 상당히 우수 함.

  • 두 대의 드라이브만으로 구현이 되기 때문에 큰 볼륨을 구현하기가 어려우며 전체 공간의 50%의 용량만 데이터를 저장할 수 있으므로 설치 비용이 비싸다.

  • 복구 능력을 제공하며 읽기 능력은 뛰어나지만 쓰기 능력은 약한 편이다.

RAID 2

  • 1988년 Berkeley 논문에서 제안된 Level로서 기본적인 Stripe Array에 데이터 보호 기능을 추가한 것이다.

  • 비트 단위의 인터리빙(Interleaving) 방식에 이용해서 에러를 체크하고 해밍 코드(Hamming Code)를 이용해 에러 체크 및 보정을 하도록 되어있다.

  • 해밍 코드를 저장하기 위한 여분의 드라이브가 필요하다.

  • 상업적으로 ECC(Error Correcting Code)를 지원하는 드라이브가 출시되지 않아 구현되지 않았다.

RAID 3

  • RAID 0 방식과 마찬가지로 Stripe를 이용하여 데이터를 저장하지만 에러의 체크 및 수정을 위해 별도의 패리티 드라이브를 사용한다.

  • 한 드라이브에 패리티 비트를 저장하고 나머지 드라이브들 사이에 데이터를 바이트 단위로 분산 저장한다.

  • 패리티 비트는 어느 한 드라이브에 장애가 발생했을 때 데이터를 복구하지만 매 쓰기 동작마다 패리티 비트를 갱신해야하므로 병목 현상을 초래한다.

  • 데이터가 저장된 드라이브에 장애가 발생되었을 경우에는 복구가 가능하지만 패리티 비트가 저장된 드라이브에 장애가 발생했을 경우 문제를 발생시킨다.

  • 오버헤드가 낮아지지만 드라이브끼리 동기화 되어야하므로 거의 사용되지 않는다.

RAID 4

  • RAID 3 방식과 비슷한 형식으로서 2개 이상의 데이터 드라이브와 패리티 드라이브를 가진다.

  • RAID 3 방식과 차이점은 데이터를 바이트 단위가 아닌 블록 단위로 분산 저장되므로 병목 현상을 줄이고 전송률이 향상된다.

  • Stripe의 Size가 커 작은 파일의 경우 하나의 Stripe에서 읽어드릴 수 있다.

  • 대용량의 읽기 중심의 서버용으로 사용하지만 한 번 쓰기 동작에 여러 번의 입출력이 발생하며 패리티 비트가 저장된 드라이브에 장애가 발생했을 경우 문제를 발생시킨다.

RAID 5

  • 일반적으로 가장 많이 사용되는 RAID 방식으로 RAID 3 방식과 RAID 4 방식의 단점을 극복한 방식이다.

  • 고정적인 패리티 드라이브 대신 패리티가 모든 드라이브에 분산되어 저장되므로 병목 현상을 줄여준다.

  • RAID 3 방식의 패리티 분산 알고리즘이 없는 관계로 Sequential 읽기에서는 더 뛰어나다.

RAID 6

  • UC Berkeley 의 연구자들이 1989년에 제안한 방식으로서 RAID 5 방식의 단점을 보안한 방식이다.

  • RAID 5 방식는 하나의 패리티를 사용하지만 RAID 6 방식은 두개의 패리티를 사용하므로 두개의 드라이브 장애 시에도 데이터의 복구가 가능하다.

  • 읽기에서는 RAID 5 방식과 큰 차이는 없으나 쓰기 작업의 구현이 아주 복잡하다.

RAID 7

  • 컨트롤러로서 내장되어 있는 실시간 운영체계를 사용하며, 속도가 빠른 버스를 통한 캐시, 독자적인 컴퓨터의 여러 가지 특성들을 포함하고 있다. 현재 단 하나의 업체만이 이 시스템을 제공한다.

RAID 10

  • Striping과 Mirroring의 혼합으로 RAID 0 방식으로 볼륨을 구성한 후 그 볼륨을 Mirroring하는 방식이다.

  • RAID 0 방식에서 데이터를 보호하지 못하는 문제점과 RAID 1 방식의 용량을 확장할 수 없다는 문제점을 극복한 방식으로 읽기, 쓰기 작업이 우수하다.

  • RAID 1 방식과 마찬가지로 전체 용량의 50%만 사용할 수 있다는 점에서 비용이 비싼 편이다.

댓글 없음:

댓글 쓰기

ETL 솔루션 환경

ETL 솔루션 환경 하둡은 대용량 데이터를 값싸고 빠르게 분석할 수 있는 길을 만들어줬다. 통계분석 엔진인 “R”역시 하둡 못지 않게 관심을 받고 있다. 빅데이터 역시 데이터라는 점을 볼때 분산처리와 분석 그 이전에 데이터 품질 등 데이...