서버 컴퓨터의 저장 장치 대부분은 RAID 방식을 사용한다.

RAID는 여러 개의 하드디스크를 하나의 하드디스크 처럼 사용 하는 방식이다. 비용을 절감하더라도 신뢰성을 높이며 성능까지 향상 시킬 수 있다.

RAID 레벨

RAID는 기본적으로 구성 방식에 따라 Linear RAID, RAID 0/…/6으로 나뉜다.
실무에서 주로 사용하는 방식은 Linear RAID, RAID 0, RAID 1, RAID 5와 RAID 5의 변형인 RAID 6 등이다.
RAID 2~4는 현재 실무에서는 거의 사용치 않으니 다루지 않겠다.

Linear RAID와 RAID 0

일단, 두 방식 다 최소 2개의 하드디스크를 요구한다. 2개 이상의 하드 디스크를 1개 볼륨으로 사용한 것이 공통점이다. 그럼 이 둘의 차이점은 뭘까?

Linear RAID의 방식은 앞 하드디스크에 데이터가 완전히 저장된 후 다음 하드디스크에 데이터를 저장한다. 말인 즉 앞 첫 번째 하드디스크에 데이터가 완전히 저장되지 않으면(데이터를 다 저장했는데 100% 사용량을 쓰지 않았다면) 뒤의 것들은 아예 안 쓴다.

Linear RAID는 각 디스크의 용량이 달라도 전체 용량을 문제 없이 사용해 공간 효율성이 100%다. RAID 0 같으면 100TB와 1TB 하드 2개로 구성했을 때 사용할 수 있는 총 용량이 2TB 밖에 안 된다.

저장 속도를 높이려고 언제나 항상 데이터를 나눠서 동시에 저장하도록 설계되어있기 때문이다. 즉, 작은 1TB 하드가 꽉 차면 두 번째 나머지 99TB를 사용 못 한다.

이와 달리 RAID 0은 모든 하드디스크를 동시에 쓴다. 굳이 데이터를 완전히 저장하지 않는다. 사진을 참고하면 된다.

RAID 0

만약 ‘Hello, SUWON!’이라는 12글자가 저장되는 시간이 한 글자당 1초면, Linear RAID에서는 저장되는데 총 12가 걸린다.

그러나 RAID 0에서는 동시에 하드디스크를 2개를 사용하기 때문에 12/2 해서 6초면 저장을 다 하는 것이다. 그래서 이 방식을 스트라이핑(stripping) 방식이라고 부른다.

장점 : 하드디스크가 가진 용량을 모두 사용하기 때문에 100% 공간 효율성을 가진다.
단점 : 하드디스크 중 하나라도 손상되면 데이터를 모두 잃게 된다.

RAID 1

RAID 1 방식은 또 다른 말로 ‘미러링’이라고 부른다. 아래 그림을 보자.

RAID 1

똑같은 데이터의 거울을 만들어 놓는 것이라 하여 미러링이라 하는 것이다.
그런데, 12바이트를 저장하는데 용량이 24바이트가 소요되었다. 즉, 데이터의 2배 용량을 사용한다.

장점 : 하나가 고장나도 데이터가 손상되지는 않는다
단점 : 총 하드디스크의 절반 밖에 사용이 되지않는다(공간 효율성 50%)
쓰는 경우 : 절대로 없어지거나 손상v되면 안되는 중요한 데이터 저장

RAID 5

RAID 5는 RAID 1의 안전성과 RAID 0의 공간 효율성 둘다 어느 정도 포용하는 방식이라고 보면 된다.
최소한 3개의 하드가 요구되고 대부분 5개 이상의 하드로 구성된다.

하드디스크에 오류가 발생하면 패리티(Parity)를 이용해 데이터를 복구한다.

아래 그림을 보자

RAID 5

알파벳 옆에 p 붙은게 패리티 비트다. 각 행에 하나씩 패리티를 사용한다.

짝수 패리티를 사용한다고 가정해보자. 그리고 A1 ~ A3가 다 0이라고 하자.

첫 행의 0+0+0+Parity에서 1의 개수는 0이거나 짝수여야 한다. 그러므로 첫 행 패리티에는 0이 입력된다. 다른 모든 행에도 같은 방식으로 패리티 비트가 적용되는 것이다.

그럼 2번째 하드인 Disk 1이 고장났다고 가정하고, 저장 상태를 유추해보자.

바로 앞에서 가정한 대로 첫 행에 1번 하드는 0, 2번 하드는 나갔고, 3번 하드는 0, 4번 하드에도 0이 들어있다고 해보자. 0 + [고장난 하드의 비트] + 0 + 0이 짝수여야 되므로 알 수 없는 Disk 1 값은 0이다.

숫자 설정은 안 했지만 나머지 행도 마찬가지의 방식으로 유추하면 되는 것이다.

장점 : 어느 정도의 결함을 허용 + 공간 효율성도 좋음. 하드디스크의 개수가 N 개라 하면, N-1 만큼 공간 활용이 가능. 따라서 RAID 5를 구성할 때는 여러 개의 하드디스크로 구성할 수록 효율 증가.

RAID 6

RAID 5 방식을 사용할 때는 하드 1개가 고장나도 데이터에 이상이 없음을 확인했다. 그러나 10개의 하드디스크로 RAID 5를 구성할 때 2개가 동시에 고장난다면? 그러면 역시 모든 데이터가 복구 불가능해지는 사태가 벌어진다.

이런 경우 여러개 하드디스크로 RAID 5를 구성할 때 신뢰성을 더 높이기 위한 방식이 바로 RAID 6이다.

RAID 6 방식은 RAID 5 방식이 개선된 것으로, RAID 5는 1개의 패리티를 사용하지만 RAID 6은 2개의 패리티를 쓴다. 공간 효율은 RAID 5보다 좀 낮추더라도, 2개 하드디스크가 동시에 나갔을 때 데이터에는 이상이 없게 만든다.

10개의 하드디스크로 RAID 6을 구성할 때 1개당 1TB라고 가정하면 하드디스크 개수 – 2 인 8TB 용량을 사용할 수 있다.

최소 4개의 하드디스크로 구성해야한다.

Regerence

https://www.hanbit.co.kr/store/books/look.php?p_code=B8529915277

Leave a Reply

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다