이거만 보면 Raid 장인될 수 있음

정현·2024년 12월 9일
post-thumbnail

Raid가 뭐임?

Raid란 저장 장치를 여러개 묶어서 고용량,고성능 저장 장치가 마치 한 개의 저장 장치처럼 작동시키려고 개발한 기술이다.

실제로 Raid의 약자를 살펴보면
Redundant Arrays of Inexpensive Disks
말 그대로 저렴한 디스크의 중복된 배열
즉, 싸게 최대한의 효율로 쓰려는 것이다.

엥? 걍 여러개 쓰면 되는거 아님?

이거에 대한 질문에 '디스크가 고장났을때 백업'을 위해라고 대답하는 사람들이 있다
하지만 이것은 잘못된 답변이다
사실 백업을 위해서라면 그냥 똑같은 파일 하나 더 백업용으로 만들어 두는게 가장 안전하다
심지어 대부분의 레이드는 동시적으로 여러개의 디스크가 고장나면 복구가 안 되는 경우가 많다.

진짜는 가용성임

가용성이란 서버,네트워크,프로그램의 정보 시스템이 정상적으로 작동 가능한 장도를 의미한다.
레이드는 가용성이 높다고 할 수 있다.

예시

대기업처럼 다량의 서버를 보유중이거나 은행처럼 서비스가 중간에 잠시라도 끊기면 사람들에게 큰 불편함을 주는 경우가 있다고 해보자

이런 상황에서는 디스크가 손상 되었을때, 최대한 빠른 시간에 복구가 되는 것이 최우선일 것이다.
만약 디스크를 단순히 백업하였으면 이것을 다시 복구하는데 시간이 꽤 걸린다
하지만 레이드를 사용하면 일부 디스크가 손상되어도 빠른 시간 안에 복구할 수 있다

즉, 가용성이 높다고 볼 수 있다

그 외에도 복제 백업을 위해서는 사용할 용량의 2배가 필요한데, 이것은 점점 서비스가 커지면 커질 수록 필요한 비용이 증가한다. 이럴때 사용할 수도 있다.

그럼 Raid 종류는요?

Raid는 여러 종류가 있다.

Raid 0

레이드 0은 진짜 단순히 여러개의 디스크를 묶는 방식이다
그렇기에 용량만큼은 가장 효율이 높다
하지만 당연하게 실제로는 거의 사용되지 않는다

Raid 1

레이드 1은 진짜 단순히 디스크를 복제하는 방식이다
그렇기에 안정성이 미쳐날뛴다
하지만 당연하게 실제로는 거의 사용되지 않는다

Raid 4

레이드 4는 무려 패리티 코드가 들어가서 드디어 하나의 디스크가 고장나도 복구가 가능하다.
하지만 패리티 코드를 하나의 장치가 관리하므로 성능이 저하되며, 해당 디스크의 수명 역시 줄어든다
그래서 이 단점을 보완한게 레이드 5이다.

잠깐 패리티 코드가 오류를 어떻게 복구시킴?

쉽게 설명하자면
아래의 그림과 같이 비트가 한 디스크에 0,1,0이 있다고 가정하자
패리티 비트 코드는 항상 합을 짝수로 맞추기 때문에 0,1,0이 있으면 자연스럽게 패리티 비트 코드는 1이 된다
이때 하나의 디스크가 고장나도 나머지 3개의 수 가지고 다른 하나의 수가 예측이 되므로 이것을 통해 에러 수정을 진행한다

Raid 5

레이드 5는 패리티가 각 디스크마다 다른 위치에 배치시켜서 할 일을 분할 시킨 버전이다.
실제로 레이드 5는 현재도 여러 분야에서 사용되고 있다.

또한 Raid 6는 이 패리티를 각 디스크마다 2개씩 둬서 안정성을 높인 버전이다.

Raid 10(Nested Raid)

Nested Raid는 중첩 레이드라고 부른다
실제로 Raid 버전을 하나로 합치는 방식이다
RAID 1과 0을 합친 RAID 10이 바로 이것이다
말 그대로 합쳤기 때문에 두개의 레이드가 존재하면 이것을 다른 하나의 레이드로 구동시킨다.

본 내용은 공부를 위한 목적으로 작성 되었기 때문에 틀린 부분이 매우 많을 수 있습니다

profile
노력으로 재능을 이길 수 없다면, 노력으로 재능을 만드는 개발자 서정현입니다

2개의 댓글

comment-user-thumbnail
2024년 12월 9일

좋은 글 감사하빈다...^^

답글 달기
comment-user-thumbnail
2024년 12월 10일

이거 보면 나도 Raid 장인?

답글 달기