본문으로 바로가기

RAID

category 서버 & 시스템/Hardware 2017. 9. 29. 10:13
반응형


RAID란?

(Redundant Array of Inexpensive / Independent Disk)



여러 대의 하드디스크를 RAID로 구성해 동일한 데이터를 다른 위치에 중복하여 저장하므로 다른 한쪽에서 파일이 삭제되더라도 다른 디스크에 저장되어있는 데이터를 실행시켜 복원하는 방법

여러대의 디스크는 MTBF(Mean Time Between Failures :  평균 무고장 시간)을 증가시키기 때문에 데이터를 중복해서 저장하면 고장에 대비하는 능력도 향상

여러 개의 하드디스크에 일부 중복된 데이터를 나눠서 저장하는 기술. Disk Array

여러 개의 하드디스크를 이용하여 속도, 용량증설, 전성, 효율성, 가용성 증대하는 기술

여러개의 디스크를 하나로 묶어 하나의 논리적 디스크로 작동시킴하드웨어적 방법소프트웨어적 방법이 있음.

하드웨어 운영체제에 디스크가 하나의 디스크처럼 보이게 함

소프트웨어 사용자에게 디스크가 하나의 디스크처럼 보이게 함


읽기속도 RAID 1 > RAID 0 > RAID 5 > Single

쓰기속도 RAID 0 > Single > RAID 1 > RAID 5



* RAID에 사용되는 기술

Striping : 하나의 디스크에 모두 기록할 수 없는 데이터를 여러 개의 디스크에 분배하여 기록할 수 있는 기술로 큰 용량을 만들어 사용하는데 사용


Mirroring : 같은 데이터를 한 개 이상의 디스크에 저장하여 복사본을 만드는 기술. 한 디스크에 장애가 발생하여도 살아있는 다른 디스크의 데이터는 영향을 받지 않으므로 데이터를 보호할 수 있음. 데이터의 변경을 계속 업데이트 하는 것으로 특정 시간에 데이터를 저장하는 백업과는 본질적으로 다름


Parity : 패리티는 하나의 디스크에 장애가 발생하였을 경우 다른 디스크에 별도로 저장된 패리티 정보를 통해 복구가 가능한 기술. 손상된 디스크의 패리티 정보는 나머지 디스크에 있는 데이터를 토대로 다시 생성 가능.


Parity bit : 정보의 전달 과정에서 오류가 생겼는지를 검사하기 위해 추가된 비트




1) RAID 0 (Striping)


보통 가정집에서 자주 사용

- 병렬방식 

최소 드라이브 수 2개 필요

최대용량 =디스크갯수*디스크용량

데이터를 블럭으로 쪼개서 저장하는데 각 블럭은 다른 디스크로 나뉘어 저장

모든 볼륨디스크의 데이터를 저장

스트라이핑 기술을 이용하여 읽기 쓰기가 가장빠름

데이터 보호 안됨(데이터 중복성 제공안함)

디스크가 1개라도 고장나면 모든 데이터 접속불가

- 모든 디스크에 분산되어 저장되어 있는 테이블을 동시에 읽어들일 수 있으므로 가장 빠른 속도의 성능을 냄

- 디스크 하나가 고장났을 시 복구가 어렵지만, 용량증설과 쓰기 속도가 향상되는 장점이 있음

- RAID방식 중 최적의 성능 제공

- 각 데이터는 block단위로 각각의 디스크에 저장

- Stripe : 논리적으로 연속된 데이터가 array(디스크의 집합)안의 여러 디스크에 분산된 조각 단위

- I/O성능은 Channel과 디스크 수를 늘림으로써 높아짐

- Controller 하나에 Disk 하나를 연결하여 여러개의 Controller를 통해 I/O를 분산함으로써 최대의 성능을 낼 수 있음

- Parity계산을 하지 않으며, Data Redundatnt 안됨

- Fault Tolerant가 아니므로 진정한 RAID라 할 수 없음







2) RAID1 (Mirror
)

최소드라이브 수 2

최대용량=(디스크수/2)*디스크용량 (실제 사용할 수 있는 용량은 1/2)

스토리지에 저장되는 모든 데이터는 물리적인 디스크에 각각 저장되고 모든 데이터는 중복

- 각 디스크를 동시에 읽을 수 있으므로 읽기 성능은 향상되며, 쓰기 성능은 단일 디스크 드라이브의 경우와 정확하게 같음

- 드라이브 장애 발생 시 미러링 된 데이터를 읽어오기 때문에 고장 대비 능력도 좋음

읽기 성능은 단일드라이브에서의성능과 같거나 훨씬 좋음

- 단점 : 용량이 반으로 줄고 쓰기 속도가 느림

- 장점 : 읽기 속도가 빠르고 복원이 비교적 간단

각 드라이브는 미러링되기 때문에 전체 용량의 절반밖에 사용 불가.

서버연구목적에 이용

멤버 디스크를 늘리더라도 저장공간은 증가하지 않으며 대신 안전성이 크게 증가

- 복구 디스크에 데이터를 실시간 복사

- 다중 사용자 시스템에서 최고 성능 및 최고의 고장 대비 능력








3) RAID 5 (Independent Data Disk with Distributed Parity Blocks)

최소드라이브 수 3개 (보통 3-5개)

최대용량 = (디스크수-1)*디스크 용량

- HDD 1개 Fail까지 보호

볼륨의 디스크 전체와 데이터 블록당 하나의 패리티 블록에 데이터를 기록

데이터의 안전성과 용량 확보를 위한 기술

- 회전식 parity array를 포함하지만 데이터를 중복 저장하지는 않음

패리티 비트라는 것을 두어 안전성을 보장

패리티를 한 디스크에 밀어 넣지 않고 각 멤버 디스크에 돌아가면서 순환적으로 저장하여 입출력 병목현상 해결

읽기와 쓰기 속도 향상

- 하나의 디스크에 장애가 생기면 나머지 디스크의 패리티 정보로 복원이 가능한 기술

하나의 멤버 디스크 고장에는 견딜 수 있지만 디스크 두개 이상 고장나면 데이터가 모두 손실

데이터베이스 서버등 큰 용량과 무정지 복구기능을 동시에 필요로 하는 환경에서 주로 쓰임

디스크 재구성(rebuild)가 매우 느리고 쓰기 성능은 패리티 정보를 끊임없이 갱신해야하기 때문에 우수하다고 할 수 없음

- 패리티 피트가 있어 레이드 0보다 용량이 적음.

- 레이드 0보다 안전하다는 인식과 달리 오히려 많은양(8개 이상)의 디스크를 스토리지로 묶으면, 연산오류 발생확률이 높아져 RAID0으로 묶은것보다 깨질 확률이 높음

- 대단위 스토리지를 만드려면 RAID 6이나 RAID10을 권함

- 디스크 사용 효율이 매우 좋음

- RAID1과 비교시 Data Rebuild가 어려움

- 주로 Fille 및 Application Server, Data Base Server, WWW, Email, Internet Server에 사용

- 작은 데이터 기록이 수시로 일어날 때 성능이 좋아짐. parity bit를 건너뛰어야 하기 때문에 읽기 성능이 저하









4) RAID 6

최소 드라이브 갯수 4

최대용량 = (디스크수-2)*디스크용량

- HDD 2개 Fail까지 보호

읽기 성능이 우수

쓰기 성능은 패리티를 여러번 갱신해야하기 때문에 RAID5보다 매우 나쁨

디스크를 재구성하는 동안 성능이 매우 나빠질 수 있음

볼륨의 디스크 전체와 데이터 블록 당 두개의 패리티 블록에 데이터 기록

더블디스크 보안 덕에 안전

더블 패리티 사용으로 인해 고장 난 디스크와의 동기화가 RAID5보다 느림

하드디스크를 대단위로 물려야하고데이터의 안전성 필요성이 RAID 5보다 높아야 하는 상황에서 쓰임

- RAID5보다 parity가 dual로 존재해서 조금 더 느림








5) RAID 0+1


최소 필요 디스크 4

디스크를 먼저 스트리핑(RAID 0)하고디스크를 미러링(RAID 1)

(A1~A8까지 있을 경우, A1,A3,A5,A7/A2,A4,A6,A8로 묶은 후 미러링)

볼륨이 깨졌을 경우 RAID 10에 비해 복구가 번거로움

디스크 하나가 고장이 났다면해당 Array 전체가 깨져버림

(A1과 A2가 동시에 나갈경우 전체 볼륨이 깨짐)










6) RAID 10




디스크를 먼저 미러링(RAID 1)스트리핑(RAID 0)



























반응형

'서버 & 시스템 > Hardware' 카테고리의 다른 글

하드웨어 (cpu, memory, hdd, server)  (0) 2017.10.01