raid 이야기 ( RAID 0, RAID 1, RAID 5, RAID 1+0, RAID 10 ) |
이미지의 출처는 너굴너굴님 네이버 블로그.
RAID 가 뭐냐?
여러 디스크를 여러 형태로 결합시켜 하나의 디스크처럼 사용할 수 있도록 하면서, 신뢰성 혹은 성능 또는 둘 다를 향상시키는 저장장치 관리방법으로 보통 Server 의 디스크를 구성할 때 사용한다. 처음 이 기술의 도입은 고용량 저장장치가 비쌀때 저용량 저장장치들을 모아 하나의 디스크처럼 쓰려고 고안되었다.
Redundant Array Independent Disk 또는 Redundant Array Inexpensive Disk 의 약자이다.
HW RAID? SW RAID?
RAID 를 HW RAID 와 SW RAID 로 나누는데, 사실 우리가 서버구축하면서 이야기하는 RAID 는 거의 다 HW RAID 이다. SW RAID 라고 불리는 녀석은 Partition 을 말한다.
HW RAID
DISK 단위이며, 안전성이 높은 반면 가격이 비싸다.
SW RAID
Partition 단위이며 OS 에서 지원한다.
비용이 저렴하나 신뢰성이나 속도가 HW RAID 보다 떨어진다.
RAID 0 ( Stripe )
여러 드라이브에 데이터를 분산 저장하는 방식.
+ 여러 디스크에 자료를 나누어 저장하고 빼오기 때문에 입출력 속도가 빠르다.
+ 일반적으로 디스크의 수가 추가될수록 성능이 향상된다.
- 하나의 하드에 문제가 발생하면 RAID 0 으로 구성된 모든 하드의 데이터가 다같이 날아간다.
- 에러가 발생하면 백업한 내용이 없어 복구할 수 없다.
RAID 1 ( Mirroring )
하드 2개를 Pairing 하여 동일하게 유지하는 방법
+ 하나의 하드가 고장나도 다른 하드에 백업된 내용으로 완벽하게 복구 가능.
- 두개의 하드에 동시에 써야 해서 쓰기 속도가 떨어진다.
- 가용 용량이 반으로 줄어든다.
- 하드웨어 구성비용이 많이 들어간다.
RAID 2
데이터를 Bit 단위로 striping 하며, 각 비트별 parity를 별도의 디스크에 저장한다.
RAID 0 에 parity 용 하드 하나를 덧붙인 형태이다.
거의 사용되지 않는다.
+ 드라이브 장애시 복구할 수도 있다.
- 쓰기시 병목현상이 생겨 RAID 0 에 비해 속도가 느려진다.
- 하드웨어 비용이 늘어난다.
- Parity bit 를 가진 하드가 고장나면 복구가 불가능하다.
RAID 3
RAID 2 와 같으나, 데이터를 Byte 단위로 striping 한다
RAID 4
RAID 2, 3과 같으나 데이터를 Block 단위로 striping 한다.
+ Block 단위라 성능이 RAID 2, 3 보다 좋다.
RAID 5
RAID 4와 같으나 별도의 하드에 parity 를 저장하지 않고, parity 정보를 분산하여 저장한다.
기업환경에서 가장 많이 쓰이는 형태이다.
+ parity 를 분산하여 저장하기 때문에 병목현상이 발생하지 않는다.
RAID 6
RAID 5 보다 안정성을 고려한 방식으로 2차 패리티 정보를 가진다.
2차 패리티 사용으로 하나의 디스크 고장에는 버틸 수 있지만 2개 이상의 데이터 고장에는 버티지 못한다.
+ 2차 parity 정보가 있어 복구에 강하다.
- 구현이 복잡하다.
RAID 10 ( RAID 1 + 0 )
RAID 0 과 RAID 1 의 장점만을 결합한 형태.
RAID 0 + 1 과 대동소이하지만 운영관점에서 RAID 10 이 유리하다.
RAID 0+1에서는 하나의 디스크가 장애가 생기면, RAID 0 으로 묶인 디스크 set 전체가 복구되어야 한다. RAID 10 에서는 하나의 디스크에 에러가 나도 mirroring 을 통해 그 디스크만 복구가 가능하다.
'IT 놀이터 > Linux' 카테고리의 다른 글
[linux] command "grep" tutorial. (0) | 2013.10.10 |
---|---|
linux 에서 foreground, background process 전환하기 (0) | 2013.09.21 |
[세미나] GNOME Tutorial 세션에 등록하다. (0) | 2013.05.16 |
[Linux] Git 명령어 모음. (0) | 2012.07.06 |
[Ubuntu] 사용하지 않는 package 삭제하기. (0) | 2012.03.29 |
댓글