본문 바로가기
HARDWARE

RAID (Redundant Array of Independent Disks)

by 타마마임팩트_쫀 2009. 3. 5.

RAID level 0, 1, 5 정리 운영체제

2007/05/20 23:02

복사 http://blog.naver.com/kih0703/130018005686

RAID (Redundant Array of Independent Disks)

 

# RAID의 개념
 RAID는 본래 Redundant Array of Inexpensive(or Independent) Disks의 약어로, 1988년 미국 U.C.버클리 소속 과학자 David a Patterson, Garth Gibson, Randyh Kats에 의해 정의되었다. 기본적인 RAID의 개념은, 작고 값싼 드라이브들을 연결해 비싼 대용량 드라이브 하나(Single Large Expensive Disk)를 대체하자는 것이었지만, 그동안 하드 디스크를 포함한 스토리지 기술의 지속적인 발달로 인해 이제는 그 의미가 퇴색되어 버렸다.

 

# RAID의 정의
 여러 개의 하드 디스크를 하나의 Virtual Disk로 구성하여 대용량 저장장치로 사용 여러 개의 하드 디스크에 데이터를 분할·저장하여 전송속도를 향상시켜주며 또한 시스템 가동 중 생길 수 있는 하드 디스크의 에러를 시스템 정지 없이 교체, 데이터 자동복구 하는 것을 말한다.

 

# RAID의 레벨
 RAID의 제안자들로부터 6개로 구분되었던 RAID의 각 레벨은 그간 보다 다양화되었으며, 그 구성과 기능면에 있어 서로 다르기 때문에, 사용자의 목적에 맞는 RAID 레벨 구성이 필수다. 현재는 이 중 RAID 0, 1, 0+1 이렇게 3개정도가 보편적으로 사용되고 있다. 

 

# RAID의 장점
1. 운영 체제에서 여러 개의 물리적 드라이브가 하나의 논리적 드라이브로 사용됨으로서

   논리적 드라이브 수의 제한을 피할 수있다.

 

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

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

 

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

   Virtual 하드 디스크의 데이터 전송 속도는 향상된다.

 

5. 시스템 가동 중 하드 디스크에 문제가 발생하더라도 시스템 정지 없이

   새로운 하드 디스크로 교체(Hot Swap)할 수 있다.

 

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


 

 





RAID 1-6 레벨 이해하기

 

1부터 6까지의 RAID 레벨의 장단점을 알아보고, 스토리지를 구성할 때 목적에 맞는 최적의 레벨을 찾아보자.

데이터는 많은 조직에서 가장 중요하고 요즘 같은 인터넷 시대에는 데이터를 빠르고 믿을 수 있게 접근하는 것이 매우 중요하다. 그렇게 조직은 대부분 데이터를 무결하게 유지하기 위해 RAID의 어떤 레벨을 사용한다.

요즘은 대부분 그렇지만 RAID 5가 쉽고 최선일 것 같기 때문에 얼마나 많은 서버에 RAID 5를 적용하고 있을까? 대부분의 경우 RAID 5가 옳은 선택이지만 쓰기 성능을 고려한다면 다른 RAID 레벨이 최선일지도 모른다.

지금 얼마나 많은 사람들이 RAID 10과 50를 즉석해서 설명할 수 있을까?
 
새로 발명된 RAID 레벨이 RAID 5의 단점을 보완할 수 있고 아직도 스토리지 시스템에서는 많은 것을 예비용으로 사용한다.
 
이 글에서 기본적인 RAID 레벨의 장단점을 소개하고 다음 글에서 나는 RAID 10같이 네스티드(nested)라고 불리는 좀 더 복잡한 RAID 레벨을 소개하려고 한다.
(주: http://www.acnc.com/04_00.html에서 각 RAID 레벨의 그림을 볼 수 있다.)

 

RAID 0(디스크 스트라이핑)

 
* 최소 드라이브 개수 : 2
 
* 최대 용량 : 디스크의 수 x 디스크의 용량
 
* 설명 : 데이터를 블럭으로 쪼개서 저장하는데 각 블럭은 다른 디스크로 나뉘어 저장된다.

* 장점 : 매우 빠르다. 데이터는 여러 개의 "모터(spindles)"로 스토리지에서 읽고 쓴다. 즉, I/O 로드가 분산되는 것을 의미하기 때문에 매우 빠르다. 이론적으로 디스크를 추가하는 족족 성능은 향상된다. 보통 엄청난 성능이 필요할 때 사용하는데 성능이 정말 좋은지 알아 보기 위해 스토리지를 아이오미터(IOmeter)같은 도구를 사용하여 확인한다.
 
* 단점 : 드라이브 하나가 고장 나면 이 RAID 레벨은 어떤 안전장치도 없기 때문에 천체 어레이가 고장 날 수 있고 디스크를 추가할 수록 위험이 증가한다.(주: 어레이는 여러 개의 디스크 배열을 의미)

 

 

RAID 1 (디스크 미러링)

* 최소 드라이브 개수 : 2

 
* 최대 용량 : (디스크의 수/2) x 디스크의 용량

 
* 설명 : 스토리지에 저장되는 모든 데이터는 두 개의 물리적인 디스크에 각각 저장되고 모든 데이터는 중복된다.

* 장점 : 드라이브 하나가 고장 나면 똑같은 내용의 다른 드라이브가 하나 더 있기 때문에 매우 안전하다. RAID 1은 읽기 성능이 단일 드라이브에서의 성능과 같거나 훨씬 좋다.

* 단점 : 각 드라이브는 미러링되기 때문에 전체 용량의 절반밖에 사용하지 못한다. 드라이브 두 개에 동일한 데이터를 써야 하기 때문에 쓰기 성능이 나빠질 수 있지만 아직 다른 RAID 레벨의 쓰기 성능보다는 훨씬 낫다.
RAID Level 1 : Mirroring and Duplexing
 
 
RAID 2: 이 레벨은 더 이상 사용되지 않는다
RAID Level 2 : Hamming Code ECC

 
 
RAID 3(패리티를 사용하고 디스크를 병렬로 처리한다)

 
* 최소 드라이브 개수 : 3

 
* 최대 용량 : (디스크의 수 - 1) x 각 디스크의 용량

 
* 설명 : 데이터는 바이트 단위로 쪼개져서 모든 디스크에 균등하게 나뉘어 저장되고 패리티 정보는 별도의 전용 디스크에 저장된다.

* 장점 : 한 개의 드라이브가 고장 나는 것을 허용하며 순차적 쓰기(sequential write) 성능과 순차적 읽기(sequential read) 성능이 우수하다.
 
* 단점 : 잘 사용되지 않고 문제를 해결하는 것이 어려울 수 있다. 하드웨어 RAID가 되어야 실제로 쓸만하다. RAID 3은 보통 매우 효율적이지만 임의 쓰기(random write) 성능이 나쁘고 임의 읽기(random read) 성능은 꽤 좋다. .
 
RAID Level 3 : Parallel Transfer with Parity

 

RAID 4 (각 디스크는 패리티 블럭을 공유한다)
 
* 최소 드라이브 개수 : 3
 
* 최대 용량 : (디스크의 수 - 1) x 디스크의 용량
* 설명 : 모든 파일은 블럭으로 쪼개지고 각 블럭은 여러 디스크에 저장되지만 균등하진 않다. RAID 3처럼 RAID 4도 패리티를 처리하기 위해 별도의 디스크를 사용한다. 동시 트랜잭션 사용량이 많은 시스템에서 읽기 속도는 매우 중요한데 이런 시스템에 적합하다.
 
* 장점 : 드라이브 하나가 고장 나는 것을 허용하고 읽기 성능이 매우 좋다.
* 단점 : 쓰기 성능이 나쁘지만 블럭 읽기(block read) 성능은 괜찮다.

RAID Level 4 : Independent Data Disks with Shared Parity Disk
 
 

RAID 5(패리티를 순환시키는 것 없이 각 어레이에 접근한다)

* 최소 드라이브 개수 : 3
 
* 최대 용량 : (디스크의 수 - 1) x 디스크의 용량

 
* 설명 : RAID 4처럼 데이터의 블럭은 모든 디스크에 나뉘어 저장되지만 항상 균등하진 않고 패리티 정보도 모든 디스크에 나뉘어 저장된다.
 
* 장점 : 지원하는 회사가 많고 한 개의 드라이브가 고장 나는 것을 허용한다.

 
* 단점 : 디스크 재구성(rebuild)이 매우 느리고 쓰기 성능은 패리티 정보를 끊임없이 갱신해야 하기 때문에 우수하다고 할 수는 없다.
 
 
RAID 6(각 디스크에 패리티 정보가 두 번 독립적으로 분산된다)
* 최소 드라이브 개수 : 3
 
* 최대 용량 : (디스크의 수 - 2) x 디스크의 용량
* 설명 : RAID 4처럼 데이터의 블럭은 모든 디스크에 나뉘어 저장되지만 항상 균등하진 않고 패리티 정보도 모든 디스크에 나뉘어 저장된다.
 
* 장점 : 두 개의 드라이브까지 고장 나는 것을 허용하고 읽기 성능이 우수하고 매우 중요한 경우에 적합하다.
* 단점 : 쓰기 성능은 패리티를 여러 번 갱신해야 하기 때문에 RAID 5보다 매우 나쁘다. 디스크를 재구성하는 동안에 성능이 매우 나빠질 수 있다.
 
RAID Level 6 : Independent Data Disks with Two Independent Distributed Parity Schemes
 
 
RAID 10(고신뢰도 + 고가용성)
 
* 최소 드라이브 개수 : 4
* 최대 용량 :
 
* 설명 & 장점 :
RAID 10 is implemented as a striped array whose segments are RAID 1 arrays

RAID 10 has the same fault tolerance as RAID level 1

RAID 10 has the same overhead for fault-tolerance as mirroring alone

High I/O rates are achieved by striping RAID 1 segments

Under certain circumstances, RAID 10 array can sustain multiple simultaneous drive failures

Excellent solution for sites that would have otherwise gone with RAID 1 but need some additional performance boost

 
* 단점 :
Very expensive / High overhead

All drives must move in parallel to proper track lowering sustained performance

Very limited scalability at a very high inherent cost

* 사용하기 좋은 곳 :

Database server requiring high performance and fault tolerance

 
 
RAID 10 : Very High Reliability Combined with High Performance
 
 
 
RAID 50(고속 입출력 & 고속 데이터 전송)
 
* 최소 드라이브 개수 : 6
 
* 최대 용량 :
 
* 설명 & 장점 :

RAID 50 should have been called "RAID 03" because it was implemented as a striped (RAID level 0) array whose segments were RAID 3 arrays (during mid-90s).

 

Most current RAID 50 implementation is illustrated above RAID 50 is more fault tolerant than RAID 5 but has twice the parity overhead .

 

High data transfer rates are achieved thanks to its RAID 5 array segments.

High I/O rates for small requests are achieved thanks to its RAID 0 striping.

 

Maybe a good solution for sites who would have otherwise gone with RAID 5 but need some additional performance boost.

* 단점 :

Very expensive to implement.

All disk spindles must be synchronized, which limits the choice of drives.

Failure of two drives in one of the RAID 5 segments renders the whole array unusable.

 

* 사용하기 좋은 곳 :

RAID 5를 이용하는 곳 중에서 추가적인 성능향상을 하고자 하는 곳.

 
RAID Level 50 : High I/O Rates and Data Transfer Performance
 
 
 
RAID 1+0(고속 데이터 전송)
 
* 최소 드라이브 개수 : 4
 
* 최대 용량 :
 
* 설명 & 장점 :
RAID 0+1 is implemented as a mirrored array whose segments are RAID 0 arrays.
RAID 0+1 has the same fault tolerance as RAID level 5.
RAID 0+1 has the same overhead for fault-tolerance as mirroring alone.
High I/O rates are achieved thanks to multiple stripe segments.
Excellent solution for sites that need high performance but are not concerned with achieving maximum reliability
 
* 단점 :

RAID 0+1 is NOT to be confused with RAID 10.

A single drive failure will cause the whole array to become, in essence, a RAID Level 0 array.

Very expensive / High overhead.

All drives must move in parallel to proper track lowering sustained performance.

Very limited scalability at a very high inherent cost.

 

* 사용하기 좋은 곳 :

Imaging applications

General fileserver

 
RAID Level 0+1 : High Data Transfer Performance
 
 
 
작성자 : Scott Lowe ( TechRepublic )
작성일 : 2006/04/06
 
 



 

 

조금 더 RAID에 대해 아시고 싶은 분들은 아래 포스트를 참고해 보시는 것도 좋을 듯 합니다.

제가 수집한 자료 중에 RAID에 대해 나온 글들입니다.

 

[RAID 강좌]애플리케이션별 RAID '궁합'|■ 하드웨어(H/W) 200603240000
... 서비스 - 높은 가용성을 필요로 하는 애플리케이션 아직 상용화되지 않은 RAID 2 RAID 2는 시스템 작동 중 데이터 에러 수정이 가능하며, 매우 높은 데이터...

 

[스텝바이스텝]30년 역사의 RAID, 넌 누구니|■ 하드웨어(H/W) 2006/02/14
... 상의 병목 지점이 될 수 있는 단점이 있다. ·RAID 5 : 스트라이프 패리티 RAID 5는 RAID 4 방식에서 패리티가 하나의 전용 디스크에 저장되는 것이 아니라,...

 

[RAID] 1. RAID란?|■ 하드웨어(H/W) 2005/10/21
... 저장용량당 단가가 비싸다. 이 레벨은 mirroring이라고 부른다. Raid 2 RAID level 2는 에러검출능력이 없는 드라이브를 위해 hamming 오류정정코드를...

 

[시스템 관리 노하우를 말한다] ② 고가용성·시스템 용량 산정|■ 프로그·램/래머 2005/03/18
... 구성 요소가 동일한 크기를 가질 필요가 있다는 것이다.Raid-2 : Hamming EncodingRaid-2는 디스크에 씌어지는 데이터의 정확성을 체크하기 위해 ECC 메모리의...

 

[서버용량계획하기 4] 윈도우 서버 용량 계획하기|■ 프로그·램/래머 2006/02/02
... 사용하라고 제안했다. 고객사는 RAID를 선택했고 레벨은 0+1을 선택했다.... 물리적으로 구분하거나 RAID 도입을 고려해야 한다. ② Current Disk...

 

[서버용량계획하기 3] 성능 테스트 분석|■ 프로그·램/래머 2006/02/02
... 한계가 어디까지인지, 어느 시점에서 메모리, CPU, 하드디스크 혹은 RAID 도입을 결정해야 하는지를 알아보도록 하자. 서버 교체 시점도 같이 파악하도록...

 

 






'HARDWARE' 카테고리의 다른 글

"RAID 1 + 0"과 "RAID 0 + 1"의 차이점  (0) 2009.03.05
싱글 / 듀얼 / 3중 메모리 모드  (0) 2008.12.05