[컴퓨터 구조] RAID(Redundant Array of Inexpensive/Independent Disk)

byeol·2023년 3월 17일
0
post-thumbnail

오늘 여러개의 독집된 저장장치를 연결해서 하나의 고성능 저장 장치와 같이 사용하는 기술인 RAID에 대해서 배웠다.

왜 굳이 이 기술을 사용할까?

저장 장치에 수명이 있기 때문이다.
오래 사용하다 보니 아주 비싼 고성능의 하드 디스크 일부 섹터에서 자기 물질이 날라갔다고 가정하자.
그러면 이 고성능이면서 비싼 하드 디스크는 버려진다.
왜냐하면 데이터의 무결성을 보장하지 못하기 때문이다.

그래서 등장하게 된 것이 RAID라는 기술이다.
저렴하고 독립적인 여러 개의 저장장치를 연결해서 마치 하나의 고성능의 저장장치처럼 작동하게 하는 것이다.

이를 어떻게 구현해내는지 알아본다.

오늘도 🏃‍♀️🏃‍♀️🏃🏃‍♂️

RAID의 종류

여러 개의 저장장치를 어떻게 구성하느냐에 따라 RAID의 종류가 나눠지며 이는 RAID Levle로 표현된다.

그 중에서 대중적인 RAID 0, RAID 1, RAID 4, RAID 5, RAID 6에 대해서 알아보자.

RAID 0

여러 개의 보조기억장치에 단순히 데이터를 나눠서 저장하는 방식이다.


즉 위와 같은 방식으로 데이터를 나눠서 저장하는데 그 모양이 멀리서 보면 줄무늬를 형성하고 있는 거 같다. 따라서 분산되어 저장된 데이터를 스프라입(stripe)이라고 한다. 또한 이런 방식을 스트라이핑(striping)이라고 한다.

이 방식은 하나의 큰 하드 디스크에 데이터를 저장하거나 읽을 때보다 더 효율적이다. 왜냐하면 하나의 하드 디스크에 데이터를 저장했다면 위 예시의 경우 16번을 읽고 써야하지만 RAID 0의 경우 4번 읽고 쓰면 되기 때문이다.

하지만 이 방식에 단점이 있는데 바로 하나의 하드 디스크가 고장난다면 데이터의 무결성을 보장하지 못한다.

이 단점을 보완해서 등장한 것이 RAID 1이다.

RAID 1

RAID 0의 단점을 보완하기 위해서 RAID 1이 택한 방법은
바로 복사본을 만들어 놓는 것이다. 이를 미러링(mirroring)이라고 한다.

따라서 하나의 저장장치가 고장나도 백업해 둔 것이 있기 때문에 안전하다.

하지만 하드 디스크의 개수가 한정되어있을 때 저장하지 못하는 데이터가 존재할 수 있다. 그래서 디스크의 개수가 RAID 0에 비해서 더 많이 필요하고 이에 따라 비용이 많이 든다. 또한 데이터를 쓸 때 복사본과 원본을 만들어야 하기 때문에 RAID 0에 비해서 쓰는 속도가 느리다.

RAID 4

RAID 4 = RAID 0 + 오류를 검출하고 복구하는 패리티 비트(parity bit)

RAID 4는 복사본을 만드는 RAID 1의 방식이 아니라 패리티 비트를 통해서 데이터를 안전하게 저장한다.

패리티 비트는 오류를 검출하고 복귀하기 위한 정보를 저장한 저장장치이다.

RAID 4는 RAID 1에 비해서 저장할 수 있는 데이터 용량이 늘어나기 때문에 적은 하드 디스크로 데이터를 안전하게 보관할 수 있다.

하지만 이 방식은 패리티 비트를 저장하는 하나의 하드 디스크에 병목현상이 일어난다.

왜냐하면 세곳에 저장하는 데이터를 페리티 비트에도 써야하기 때문에 패리티 비트를 저장하는 하드 디스크는 쉴틈 없이 계속 일해야 한다.

패리티 비트에 패리티A를 저장하고 있는 사이에 B1, B2, B3에 대한 쓰기 작업이 끝나면 패리티 B를 입력하는 작업은 패래티 A 저장 작업이 마무리 될 때까지 기다리고 있어야 한다.

따라서 이런 병목현상을 해결해주는 RAID 5 기법이 등장했다.

RAID 5

RAID 5는 패리티 비트를 저장하는 하나의 하드 디스크에 병목현상이 일어나지 않도록

하나의 하드 디스크에 패리티 비트를 저장하는 것이 아니라
각 하드 디스크에 패리티 정보를 저장하도록 분산했다.

RAID 6

RAID 6는 RAID 5와 구성 방식을 같으나 서루 다른 두개의 패리티 비트를 구성하는 방식이다.

이로써 RAID 4, RAID 5, RAID 6에 비해서 더 안전하다.
그러나 저장해야할 패리티 비트가 2개여서 RAID 5에 비해서 읽고 쓰는 속도가 느리다.

profile
꾸준하게 Ready, Set, Go!

0개의 댓글