RAID (Redundant Array of Independent Disks)
주로 하드 디스크와 SSD를 사용하는 기술로, 데이터의 안전성 혹은 높은 성능을 위해 여러 개의 물리적 보조기억장치를 마치 하나의 논리적 보조기억장치처럼 사용하는 기술.
RAID는 왜 사용하나?
서버의 사용자가 서버 운영에 있어 가장 당혹스러울 때는 하드디스크의 장애로 인한 데이터 손실일 것이다.
하드 디스크는 사실상 소모품으로 분류되며 I/O가 많은 서버에서는 고장이 잦은 것이 당연하다고 볼 수 있다. 하지만 서버에 저장되는 데이터의 경우 손실 또는 유출이 되었을 때 치명적인 것이 대부분일 것이다. 예를 들어 개인 정보, 결제 정보, 군사 목적의 데이터 등이 있다.
이로 인해 백업이 절대적으로 필요한 경우가 있고 또한, 여분의 디스크가 있어서 용량 증설을 하려고 할 때 데이터 손실 없이 증설이 필요한 경우가 있다. 그래서 많은 서버 관리자는 RAID 구성을 통해 하드 디스크의 가용성을 높이거나 서버 데이터의 안정성을 확보해야 한다.
RAID의 장점
1) 운용 가용성, 데이터 안정성 증대
2) 디스크 용량 증설의 용이성
3) 디스크 I/O 성능 향상
RAID의 종류
여러 개의 하드 디스크나 SSD를 마치 하나의 장치처럼 사용하는 RAID를 구성하는 방법은 여러 가지가 있다. RAID 구성 방법을 RAID 레벨이라 표현하는데, RAID 레벨에는 대표적으로 RAID 0 ~ 6이 있고 그로부터 파생된 RAID 10, 50 등이 있다.
1️⃣ RAID 0
RAID 0은 여러 개의 보조기억장치에 데이터를 단순히 나누어 저장하는 구성 방식이다.
이때 마치 줄무늬처럼 분산되어 저장된 데이터를 stripe이라고 하고, 분산하여 저장하는 것을 striping이라고 한다.
위와 같이 데이터가 분산되어 저장되면, 다시 말해 스트라이핑이 되면 저장된 데이터를 읽고 쓰는 속도가 빨라진다. 하나의 대용량 저장 장치를 이용했다면 여러 번에 걸쳐 읽고 썼을 데이터를 동시에 읽고 쓸 수 있기 때문이다.
예를 들어 4TB 저장 장치를 한 개 읽고 쓰는 속도 보다 1TB 하드 디스크 네 개로 RAID 0을 구성한 저장 장치의 속도가 이론상 네 배가량 빠르다.
하지만 RAID 0에 단점이 있다. 저장된 정보가 안전하지 않다. RAID 0으로 구성된 하드 디스크 중 하나에 문제가 생긴다면 다른 모든 하드 디스크의 정보를 읽는데 문제가 생길 수 있다. 그리하여 등장한 것이 RAID 1이다.
✅ 흔히 RAID 0이라고 하면 stripe 방식을 말하는 것이다. (concatenate 방식도 존재함)
2️⃣ RAID 1
RAID 1은 복사본을 만드는 방식이다. 마치 거울처럼 완전한 복사본을 만드는 구성이기에 미러링(mirroring)이라고도 부른다.
볼륨 내의 패리티를 사용하지 않고 디스크에 같은 데이터를 중복기록하여 데이터를 보존하게 되며, 적어도 동일한 용량의 디스크 두 개가 필요하다.
볼륨 내 디스크 중 하나의 디스크만 정상적이어도 데이터는 보존되어 운영이 가능하기 때문에 가용성이 높고, 복원이 비교적 간단하다.
하지만, 용량이 절반으로 줄고, 쓰기 속도가 느려진다. 많은 양의 하드 디스크가 필요하게 되므로 이는 비용이 증가한다는 단점으로 작용한다.
✅ RAID 2, RAID 3는 잘 활용하지 않는다.
3️⃣ RAID 4
RAID 4는 RAID 1처럼 완전한 복사본을 만드는 대신 오류를 검출하고 복구하기 위한 정보를 저장한 장치를 두는 구성 방식이다.
오류를 검출하고 복구하기 위한 정보, 패리티 비트(parity bit)를 포함하고 있다.
기본적으로 RAID 0과 같은 striping 구성을 하고 있어 성능을 보완하고 디스크 용량을 온전히 사용할 수 있게 해 주는데 여기에 추가로 여러 체크 및 수정을 위해서 패리티 정보를 별도의 디스크에 따로 저장하게 된다.
앞서 언급한 것처럼 RAID 3은 데이터를 바이트 단위로 나누어 디스크에 동등하게 분산기록하며,
RAID 4는 데이터를 블록 단위로 나눠 기록하므로 완벽하게 동일하진 않다는 차이가 있다. 하여 RAID 3은 드라이브 동기화가 필수적이라 많이 사용하지 않는다.
4️⃣ RAID 5
RAID 4에서는 어떤 새로운 데이터가 저장될 때마다 패리티를 저장하는 디스크에도 데이터를 쓰게 되므로 패리티를 저장하는 장치에 병목 현상이 발생한다는 문제가 있다.
RAID 5는 아래 그림처럼 패리티 정보를 분산하여 저장하는 방식으로 RAID 4의 문제인 병목 현상을 해소한다.
5️⃣ RAID 6
RAID 6의 구성은 기본적으로 RAID 5와 같으나, 아래의 그림과 같이 서로 다른 두 개의 패리티를 두는 방식이다. 이는 오류를 검출하고 복귀할 수 있는 수단이 두 개가 생긴 셈이다.
다만 새로운 정보를 저장할 때마다 함께 저장할 패리티가 두 개이므로, 쓰기 속도는 RAID 5보다 느리다. 따라서 RAID 6은 데이터 저장 속도를 조금 희생하더라도 데이터를 더욱 안전하게 보관하고 싶을 때 사용하는 방식이다.
참고자료 -
'CS' 카테고리의 다른 글
cs 정리 & 코테 준비 (0) | 2024.04.23 |
---|---|
[CS] 보조기억장치(플래시 메모리편) (0) | 2023.03.09 |
[CS] 보조기억장치(하드 디스크편) (2) | 2023.03.07 |
[CS] 캐시 메모리 (0) | 2023.03.02 |
[CS] 메모리의 주소 공간 (0) | 2023.02.28 |