미래산업 ICT/IT과학·기술

RAID란? RAID 구성 및 기능 설명

Flying Gander 2017. 3. 26. 14:43

1. RAID 개요.

 

System Engineer 들 이 자주 사용하지 않는 것들 중 하나가 사실 RAID 구성입니다. 물론 서버를 판매하고 서버를 설치 해 주는 업체의 Engineer라면 뭐 자주 작업을 하겠지만, 일반적인 서버를 설치 및 관리하는 IT Engineer에게는 직접 설정하는 경우가 흔하지 않은 경우들이 대부분입니다.

이유는 당연히 업체가 납품 시 설정 해 주기 때문입니다. 그렇다 보니 가끔은 쉽게 잊어버리거나 헷갈려 하는 경우가 생기게 됩니다.

RAID(Redundant Array of Inexpensive Disks) 구성이란 무엇인가?

쉽게 말해 물리적인 디스크를 병렬로 연결하여 어떻게 사용할 것인가를 구성하는 다양한 방법입니다.

논리적으로 연속된 데이터 세그먼트들을 일정 크기의 바이트나 섹터 단위로 나누어 물리적인 여러 개의 HDD에 저장하는 (1) Disk Striping 방식 과 데이터를 서로 다른 디스크에 동일하게 복제하는 Mirroring방식으로 저장을 하게 됩니다.

Striping 방식은 보다 빠르게 데이터를 읽고 쓸 수 있다는 장점이 있는 반면, 하나의 디스크가 잘못되면 데이터의 손실이 생기는 위험이 있습니다.


(1) Disk Striping: 디스크 스트라이핑

디스크 스트라이핑은 한 디스크가 아니라 여러 디스크 드라이브에 데이터를 기록합니다. 디스크 스트라이핑에는 각 드라이브 저장소 공간을 다양한 크기의 스트라이프로 분할하는 과정이 수반됩니다. 이러한 스트라이프는 반복적인 순차 방식으로 인터리브됩니다. 결합된 저장소 공간은 각 드라이브의 스트라이프로 구성됩니다.

 

 2. RAID 구성 및 기능

1) RAID 0: Striped disk array without fault tolerance

빠른 데이터 입출력을 위해 Disk Striping 사용하는 방식으로 디스크 용량도 모두 활용할 수 있습니다. 쉽게 설명하면 WindowsPC의 개인 사용자들이 한 개의 HDD에 모든 데이터를 보관하는 것과 같은 개념입니다.

이 경우는 하나의 디스크가 잘못되면 데이터를 읽어버릴 수 있다는 위험이 있기 때문에 Backup에신경을 써야 합니다.

일반적인 Backup은 다른 Chapter에서 설명 하겠지만, 보통은 Daily, weekly, Monthly, Quarterly, 6month, 1year 등의 순으로 Backup을 권 장합니다.



 

2) RAID 1: Mirroring and duplexing

두 개 이상의 디스크를 Mirroring을 통해 하나의 디스크 처 럼 사용하는 방식입니다. 완전히 동일하게 데이터를 복제하기 때문에 HDD의 가용 량은 절반 밖에 되지 않지만, 하나의 디스크에서 에러가 발생하면 Mirroring 된 디스크를 통해 복구가 가능합니다.

 

 

3) RAID 2: Hamming code ECC

오류 정정을 위한 Hamming code 방식으로 최근 디스크 드라이브가 기본적으로 에러 검출 기능이 있기 때문에 거의 사용되지 않는다.

4) RAID 3: Parallel transfer with parity

하나의 디스크를 Parity 정보를 위해 사용하고 나머지 디스크에 데이터를 균등하게 분산 저장하는 방식입니다. 읽기 성능은 RAID 0과 비슷하나 쓰기는 Parity 처리로 인해 일부 성능 저하가 있을 수 있습니다. 하나의 디스크에서 에러가 발생하면 Parity 디스크를 통해 복구할 수 있습니다.

 

5) RAID 4: Independent data disks with shared parity disk

RAID 3와 같이 Parity 정보를 독립된 디스크에 저장합니다. 다만 Block 단위로 분산 저장하는 차이가 있으며 모든 Block이 각 디스크에 균등하게 저장되지는 않게 됩니다. 이 경우, 병목 현상이 발생하면 성능상 저하가 발생할 수 있어 일반적으로는 사용되지 않습니다.

 

 

6) RAID 5: Independent data disks with distributed parity blocks

3개 이상의 디스크를 붙여서 하나의 디스크처럼 사용하고 각각의 디스크에 Parity 정보를 가지고 있는 방식입니다. 하나의 디스크에 에러가 발생해도 다른 두 개의 디스크를 통해 복구할 수 있게 되어 있으며, Parity 디스크를 별도로 사용하지 않음으로써 병목 현상은 발생하지 않습니다.

 


 

7) RAID 6: Independent data disks with two independent distributed parity schemas

하나의 Parity를 두 개의 디스크에 분산 저장하는 방식입니다. Parity를 이중으로 저장하기 때문에 두 개의 디스크에 에러가 발생해도 정상적으로 복구할 수 있다.

다만, 쓰기 속도는 Parity를 지속적으로 사용해야 하기 때문에 속도가 저하 될 수 있지만, 안정성이 높아지는 장점도 있습니다.

 


 

8) RAID 0+1

RAID 0 RAID 1을 결합하여 사용하는 방식으로, 최소 4개 이상의 디스크에서 먼저 2개씩 RAID 0구성으로 묶고, 이어 RAID 1로 결합하는 방식 입니다.

RAID 0의 복구 하지 어려운 문제를 보완하면서 RAID 1의 단점을 개선할 수 있습니다. 다만 안정성과 성능을 보장하는 대신 비용이 높아진다는 단점이 있습니다.

 


 

9) RAID 1+0

RAID 0+1과 비슷하지만 먼저 2개를 Mirroring으로 묶고 이후에 Striping 으로 결합하는 방식입니다. 예를 들어 4개의 디스크를 사용할 경우 RAID 0+1과 비슷해 보일 수 있습니다.

그러나, 6개의 디스크를 사용하면 RAID 0+1 3개의 디스크를 먼저 Striping으로 묶고 Mirroring을 하기 때문에 2개의 그룹으로 나누어진다.

반면, RAID 1+0방식은 2HDDMirroring한 후, Striping을 하기 때문에 3개의 그룹으로 나누어지게 됩니다.

복구 시에도 RAID 0+1은 다른 그룹에서 전체 복사를 해야 하지만, RAID 1+0은 하나의 디스크만 복제해도 된다는 차이가 있습니다.

 

-Posted by FlyingGander-