이 글은 혼자 공부하는 컴퓨터 구조 + 운영체제 (저자 : 강민철)의 책과 유튜브 영상을 참고하여 개인적으로 정리하는 글임을 알립니다.


1TB 하드 디스크 네 개로 RAID를 구성하면 4TB 하드 디스크 한 개의 성능과 안전성을 능가할 수 있다.

 

RAID의 정의

우리가 글로벌 IT 기업의 서버를 관리하는 엔지니어라고 생각해 보자.

매일 수십, 수백 TB 데이터가 서버로 쏟아지고, 데이터에는 개인 정보, 결제 정보와 같이 민감한 정보도 포함되어 있다.

또한 보조기억장치에는 수명이 존재한다. 이런 정보를 안전하게 관리할 수 있는 방법 중 하나가 RAID이다.

RAID(Redunadant Array of Independent Disks)는 주로 하드 디스크와 SSD를 사용하는 기술로, 데이터의 안전성 혹은 높은 성능을 위해 여러 개의 물리적 보조기억장치를 마치 하나의 논리적 보조기억장치처럼 사용하는 기술이다.

 


 

RAID의 종류

RAID 구성 방법을 RAID 레벨이라 표현한다.

RAID 레벨에는 대표적으로 RAID 0 ~ 6이 있고, 그로부터 파생된 RAID 10, 50등이 있다.

이들 중 가장 대표적인 RAID 0, 1, 4, 5, 6에 대해 정리하고자 한다.

 

각 RAID 레벨마다 장단점이 있으므로 어떤 상황에서 무엇을 최우선으로 원하는지에 따라 최적의 RAID 레벨은 달라질 수 있다. 그렇기에 각 RAID 레벨의 대략적인 구성과 특징을 아는 것이 중요하다.

 

RAID 0

여러 개의 보조기억장치에 데이터를 단순히 나누어 저장하는 구성방식

 

어떠한 데이터를 저장할 때 각 하드 디스크는 아래와 같이 번갈아 가며 데이터를 저장

즉, 저장되는 데이터가 하드 디스크 개수만큼 나누어 저장

A, B, C, D라는 4개의 데이터를 각각 여러개씩 쪼개서 저장하는 방식이다.

위 그림에선 4개의 데이터를 각 4개씩 분할했으니 총 16가지의 데이터 그룹이 나오는데, 이를 A1, A2, A3 ... D3, D4라하고 A1,B1,C1,D1의 데이터는 HDD1에 저장하는 방식이다. 나머지 데이터 그룹도 이와 마찬가지로 저장한다.

  • 스트라입(Stripe) : 마치 줄무늬처럼 분산되어 저장된 데이터
  • 스트라이핑(Strinping) 분산하여 저장하는 것 

위와 같이 데이터가 스트라이핑 되면 저장된 데이터를 읽고 쓰는 속도가 빨라진다.

데이터를 읽고 쓰는 속도가 빨라지는 이유는 하나의 대용량 저장 장치를 이용했다면 여러 번에 걸쳐 읽고 썼을 데이터를 동시에 읽고 쓸 수 있기 때문이다.

따라서 4TB 저장 장치 한 개를 읽고 쓰는 속도보다 RAID 0으로 구성된 1TB 저장장치 네 개의 속도가 이론상 4배 정도 빠르다.

하지만 4개로 스트라이핑 된 HDD 중 하나라도 문제가 생긴다면 전체의 데이터가 위험해질 수 있다.

이러한 단점을 보완한 것이 RAID 1이다.

 


 

RAID 1

복사본을 만드는 방식이다.

거울처럼 완전한 복사본을 만드는 구성이기에 미러링(Mirroring)이라고도 부른다.

4TB의 하드 디스크를 쓴다고 가정하면 2TB는 원본 데이터를 저장하고 나머지 2TB는 복사본을 저장하게 된다.

RAID 1에 어떠한 데이터를 쓸 때는 원본과 복사본 두 군데에 쓴다. 그렇기에 쓰기 속도는 RAID 0보다 느리다.

  • 장점 : 복구가 매우 간단하다
  • 단점 : 사용 가능한 용량이 적어진다.

 


 

RAID 4

RAID 1처럼 완전한 복사본을 만드는 대신 오류를 검출하고 복구하기 위한 정보를 저장한 장치를 두는 구성 방식

오류를 검출하고 복구하기 위한 정보를 패리티 비트(parity bit)라고 한다.

RAID 4는 패리티를 저장한 장치를 이용해 다른 장치들의 오류를 검출하고, 오류가 있다면 복구한다.

패리티 비트
패리티 비트는 저장된 데이터의 1bit 오류를 검출하는 코드 방식
패리티 비트는 오류 검출만 가능할 뿐 오류 복구는 불가하다. 하지만 RAID에서 패리티 값으로 오류 수정도 가능하다.

이로써 RAID 4는 RAID 1보다 적은 하드 디스크로도 데이터를 안전하게 보관할 수 있다.

하지만 어떤 새로운 데이터가 저장될 때마다 패리티를 저장하는 디스크에도 데이터를 쓰게 되므로 패리티를 저장하는 장치에 병목현상이 발생한다는 문제가 있다.

 


 

RAID 5

RAID 4의 단점을 보완하기 위해 만들어진 방식

패리티 정보를 분산 저장하여 병목 현상을 해소한다.

 


 

RAID 6

기본적 구성은 RAID 5와 같으나, 서로 다른 두 개의 패리티를 두는 방식이다.

이는 오류를 검출하고 복구할 수 있는 수단이 두 개가 생긴 것이다.

따라서 RAID 6는 4나 5보다 안전한 구성이라 볼 수 있다.

하지만 새로운 정보를 저장할 때마다 함께 저장할 패리티가 두 개이므로, 쓰기 속도는 RAID 5보다 느리다.