본문 바로가기
System Engineering

리눅스 raid 기초

by 낫싱 2023. 4. 14.
728x90
반응형

RAID 안전성, 성능때문에 디스크를 묶어서 사용.

종류는 0~6

사실상 2,3,4번은 효율적이라 사용하지 않는다.

 

쓰더라도 0, 1, 5, 0+1, 1+0 한도 안에서만 사용한다.

 

RAID 0

 - 디스크 2장을 Stripe형태로 사용

 

RAID 설명 블로그

https://12bme.tistory.com/286

 

 

RAID의 종류와 구성방식

 

RAID 0 (많이 사용된다.)

: RAID 0에는 Concatenate 방식과 Stripe 방식 두 가지 방식이 있습니다.

 

1) Concatenate 방식 (두개 이상의 디스크에 데이터를 순차적으로 쓰는 방법)

 

장점: 디스크 기본 공간이 부족할 때 데이터는 보존하며 여분의 디스크를 볼륨에 포함하여 용량 증설이 가능하게 됩니다.

단점: RAID 0의 특성상 디스크 중 하나의 디스크라도 장애가 발생하면 복구가 어렵고, 패리티(오류검출기능)를 지원하지 않습니다.

용량: 모든 디스크의 용량을 합친 용량 (300GB disk * 2ea = 600GB)

 

2) Stripe 방식 (흔히 RAID 0라고 하면 Stripe 방식을 말함)

 

 

두개 이상의 디스크에 데이터를 랜덤하게 쓰는 방법입니다.

 

장점: 데이터를 사용할 때 I/O를 디스크 수만큼 분할하여 쓰기 때문에 I/O 속도가 향상되고 I/O Controller나 I/O board 등 I/O를 담당하는 장치가 별도로 장착된 경우 더 큰 I/O 속도 향상 효과를 볼 수 있씁니다.

단점: Stripe를 구성할 시 기존 데이터는 모두 삭제 되어야 합니다. 그외의 단점은 위의 Concat 방식과 같습니다.

용량: 위의 Concat 방식과 같습니다.

 

 

RAID 1(Mirror) - 가장 많이 사용되는 방식

: Mirror 볼륨 내의 패리티를 사용하지 않고 디스크에 같은 데이터를 중복 기록하여 데이터를 보존하게 되며, 적어도 동일한 용량의 디스크 두 개가 필요합니다.

미러링되는 것을 리빌딩작업이라고 한다.

운영중에도 디스크 교체가 가능하기 때문에 유연성이 좋다.

RAID 0 보다는 속도는 떨어진다.

 

 

장점: 볼륨 내 디스크 중 하나의 디스크만 정상이어도 데이터는 보존되어 운영이 가능하기 때문에 가용성이 높고, 복원이 비교적 매우 간단합니다.

단점: 용량이 절반으로 줄고, 쓰기 속도가 조금 느려집니다.

용량: 모든 디스크의 절반의 용량 (300GB *2ea = 300GB)

 

 

RAID 2

: RAID 2는 RAID 0처럼 striping 방식이지만 에러 체크와 수정을 할 수 있도록 Hamming code를 사용하고 있는 것이 특징입니다. 하드 디스크에서 ECC(Error Correction Code)를 지원하지 않기 때문에 ECC를 별도의 드라이브에 저장하는 방식으로 처리됩니다. 

하지만 ECC를 위한 드라이브가 손상될 경우는 문제가 발생할 수 있으며 패리티 정보를 하나의 하드 드라이브에 저장하는 RAID 4가 나오면서 거의 사용되지 않는 방식 입니다.

 

 

RAID 3, RAID 4

: RAID 3, RAID 4는 RAID 0, RAID 1의 문제점을 보완하기 위한 방식으로 3, 4로 나뉘긴 하지만 RAID 구성 방식은 거의 같습니다. RAID 3, 4는 기본적으로 RAID 0과 같은 striping 구성을 하고 있어 성능을 보완하고 디스크 용량을 온전히 사용할 수 있게 해주는데 여기에 추가로 에러 체크 및 수정을 위해서 패리티 정보를 별도의 디스크에 따로 저장하게 됩니다.

 

RAID 3은 데이터를 바이트 단위로 나누어 디스크에 동등하게 분산 기록하며 RAID 4는 데이터를 블록 단위로 나눠 기록하므로 완벽하게 동일하진 않다는 차이가 있습니다.

 

RAID 3은 드라이브 동기화가 필수적이라 많이 사용되지 않고 RAID 4를 더 많이 쓴다고 보시면 됩니다.

 

 

 

RAID 5 - RAID 1 만큼 많이 사용된다.

: RAID 5는 RAID 3,4에서 별도의 패리티 정보 디스크를 사용함으로써 발생하는 문제점을 보완하는 방식으로 패리티 정보를 stripe로 구성된 디스크 내에서 처리하게 만들었습니다. 만약 1개의 하드가 고장나더라도 남은 하드들을 통해 데이터를 복구할 수 있다는 장점이 있습니다.

 

parity 들어가게 된다. 특정 디스크에 문제가 생겨도 parity 경로를 통해서 데이터를 복구할 있다.

 

 

RAID 6

: RAID 6은 RAID 5와 같은 개념이지만 다른 드라이브들 간에 분포되어 있는 2차 패리티 정보를 넣어 2개의 하드에 문제가 생겨도 복구할 수 있게 설계되었으므로 RAID 5보다 더욱 데이터의 안전성을 고려하는 시스템에서 사용됩니다.

 

 

 

0+1 방식

 :

 

 

0+1 방식은 그림의 셋트를 RAID 1 으로 묶어놓는 것을 말한다.

단점 : 디스크 하나가 문제가 생기면 그대로 1 묶이기 때문에 여기에도 사실 RAID1이라는 의미는

크게 없다.

만약 A2라는 부분에 문제가 생긴다면, 복제된 RAID 0 A2에도 문제가 발생된다.

 

 

1+0 안정성이 0+1 보다 좋다

A1 문제가 생겨도 A1 문제가 생기지 않는다.

우리 제품은 에버런이 있는데 무조건 RAID 1+0으로 묶어야 한다.

*우리가 주로 쓰는건 1, 5 많이 쓴다.

*디스크쪽에 문제가 있다고 한다면 1+0 사용한다.

 

 

728x90
반응형

'System Engineering' 카테고리의 다른 글

리눅스 bonding 구성 방법  (0) 2023.04.14
리눅스 raid 구성 테스트  (1) 2023.04.14
리눅스 top 명령어  (0) 2023.04.14
리눅스 - 의존성 무시하고 rpm 설치  (0) 2023.04.14
리눅스 run level  (0) 2023.04.14

댓글