기록공간

RAID 개념과 종류 그리고 구성방식 본문

OS

RAID 개념과 종류 그리고 구성방식

입코딩 2021. 7. 12. 09:01
반응형

RAID는 왜 사용하는 것인가?

서버 사용자가 서버 운영에 있어 가장 당혹스러울 때는 하드디스크 장애로 인한 데이터 손실일 것이다. 하드디스크는 사실상 소모품이며 I/O 작업이 많은 서버에서는 고장이 잦은 것이 당연하다고 할 수 있다. 하지만 서버에 저장되는 데이터의 경우 손실 또는 유출되는 경우 치명적인 것이 대부분일 것으로 대표적으로는 은행과 같은 금융, 군사적 목적의 데이터가 있을 것이다. 이로 인해 백업이 절대적으로 필요한 경우가 있을 것이며, 디스크 용량을 증설하려고 할 때 데이터 손실이 없어야 하는 경우가 있을 것이다. 그래서 많은 서버 관리자는 RAID 구성을 통해 하드디스크 가용성을 높이고 서버 데이터의 안정성을 확보해야 한다.

 

RAID?

RAID는 Redundant Array of Inexpensive Disks의 약자이다. 한글로 번역하면 복수 배열 독립 디스크이다. 독립적인 디스크를 여러개로 배열하여 I/O 속도, 안정성, 효율성 그리고 가용성을 증가하는 기술이다. 

 

장점

  1. 운용 가용성, 데이터 안정성이 증가
  2. 디스크 용량 증설에 용이
  3. 디스크 I/O 성능 향상

패리티(Parity)?

RAID를 접하다 보면 패리티라는 단어를 마추치게 될것이다. 패리티가 무엇일까?

패리티는 데이터를 담은 블록과 연결된 중복 정보로서, 오류에 대해 데이터를 재구축하는데 사용되는 계산된 값이다.

패리티는 정수의 홀수와 짝수 특성을 이용한다.

 

종류와 구성방식

RAID 0

RAID 0에는 Concatenate 방식과 Stripe 방식 두 가지가 존재한다.

RAID 0은 중복된 블록이 존재하지 않기 때문에, 사용 가능 용량은 모든 디스크를 합친 용량과 같다.

 

1) Concatenate 방식

Concatenate는 두 개 이상의 디스크에 데이터를 순차적으로 쓰는 방식이다.

 

이 방식의 장점은 디스크 공간이 부족할 때, 데이터는 보존하면서 용량 증설이 가능하다. 단점은 RAID 0의 특성상 디스크 중 하나라도 장애가 발생하면 복구가 어렵고, 패리티를 지원하지 않는다.

 

2) Stripe 방식

RAID 0이라고 하면 흔히 이 방식을 말한다.

데이터를 두 개 이상의 디스크에 분산 저장하는 방식이다. 

 

 

이 방식의 장점은 데이터를 사용할 때 I/O를 디스크 수만큼 분할하여 쓰기 때문에 I/O 속도가 향상된다. (I/O controller나 I/O board 등 I/O를 담당하는 장치가 별도로 장착된 경우 더 큰 속도 향상 효과) 

단점은 Concatenate 방식과 동일하며 추가로 Stripe를 구성할 시 기존 데이터는 모두 삭제 되어야 한다.

 

RAID 1

Mirror 볼륨 내의 패리티를 사용하지 않고 같은 데이터를 중복 기록하여 데이터를 보존하는 방식이다. 

이 방식의 경우 적어도 디스크가 2개 이상 필요하다.

 

장점은 볼륨 내 디스크 중 하나만 정상이여도 데이터 보존이 가능하기 때문에 가용성이 높고, 복원이 비교적으로 간단하다.

단점은 용량이 기존에 절반으로 줄고, 미러링 기술이 데이터 쓰기에 도움을 주지 않기 때문에 쓰기 속도가 느려진다.

 

RAID 2

RAID 0 방식처럼 stripe 방식이지만 에러 체크와 수정을 할 수 있도록 Hamming code(ECC, 오류 정정 부호)를 사용하는 것이 특징이다. 하드 디스크에서는 ECC를 지원하지 않기 때문에 별도의 드라이브에 저장하는 방식으로 처리된다.

 

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

 

RAID 3 / RAID 4

RAID 3, 4는 RAID 0, 1의 문제점을 보완하기 위해 나온 방식이다. 기본적으로 RAID 0과 같은 stripe 구성을 하고 있어 성능을 보완하고 디스크 용량을 온진히 사용할 수 있게 해준다. 여기에 추가로 에러 체크 및 수정을 위해 패리티 정보를 별도의 디스크에 따로 저장하게 된다.

 

RAID 3는 데이터를 바이트 단위로 나누어 디스크에 동등하게 분산 기록하며, RAID 4는 데이터를 블록 단위로 나눠 기록한다는 점에서 단위 차이가 존재한다. RAID 3는 드라이브 동기화가 필수적이라 많이 사용되지 않는다.

 

단점으로는 패리티 정보를 한 디스크에 모두 저장하기 때문에 패리티 디스크가 손상될 경우에는 데이터 복구가 어려울 수 있다.

 

RAID 5

RAID 5는 RAID 3, 4에서 별도의 패리티 정보 디스크를 사용하여 발생하는 문제점을 보완하는 방식으로 패리티 정보를 stripe로 구성된 디스크 내에서 처리하게 만들었다.

 

 이 경우 1개의 하드가 고장나더라도 남은 하드를 통해 데이터를 복구 할 수 있다는 장점이 존재한다. 

성능 면에서는 RAID 0보다 부족하지만 성능, 안정성, 용량 세 부분을 모두 고려하기 때문에 실제로 많이 사용되는 방식이다. 

 

RAID 6

RAID 6는 RAID 5와 같은 개념이지만 다른 드라이브들 간에 분포되어 있는 2차 패리티 정보를 넣는다는 점에서 차이가 있다. 

 

이 방식은 2개의 하드에 문제가 생겨도 복구할 수 있다는 장점 때문에 RAID 5보다 더욱 데이터 안전성을 고려하는 시스템에서 사용된다.


이 내용의 출처는 https://12bme.tistory.com/286 입니다.

반응형
Comments