여러 개의 하드디스크로 디스크 배열을 구성하고, 파일을 구성하는 데이터 블록들을 서로 다른 디스크에 분산하여 저장할 경우 저장된 블록들을 여러 디스크에서 동시에 읽고 쓸 수 있으므로 디스크의 속도가 매우 향상되는데, 이 기술을 RAID라고 한다. 레이드 방식 중 패리티가 없는 스트라이핑된 2개 이상의 디스크를 병렬로 연결하여 구성하는 이 방식은 디스크의 개수가 증가할수록 입•출력 속도 및 저장 용량이 배로 증가하지만, 하나의 디스크만 손상되어도 전체 데이터가 유실되는 문제가 발생한다.
위와 같은 설명에 해당하는 RAID의 레벨은 무엇일까요?
Level 0 은 위와 같이 데이터베이스에 데이터를 나누어서 저장합니다. 이 같은 방식을 '스트라이핑(스트리핑) 방식'이라고 합니다. 이렇게 저장하게 되면, 하나의 파일을 저장하더라도 두 개의 저장소에 나누어서 저장하게 되므로, 접근 속도가 엄청 빨라지는 효과를 얻을 수 있습니다. 그리고, 이곳에 저장된 파일을 읽을 때도 속도가 빨라지는 효과를 얻을 수 있습니다. 만약에 이런 하드디스크가 3개라면 3배로 빨라집니다. 그런데, 문제는 하나의 파일을 나누어서 저장하면 입출력 속도는 엄청나게 향상이 되나, 만약 하나의 하드디스크라도 고장이 나면 나머지 하드디스크의 정보들도 쓸모가 없는 정보가 되어 버립니다. 이런 것을 RAID Level 0 이라고 합니다.
Level 1 은 데이터 유실을 막기 위해서 그냥 아예 같은 파일을 양쪽에 똑같이 저장을 해버립니다. 이 방식을 '미러링 방식' 이라고 부르며, RAID Level 1 이라고 지칭합니다. 이런 경우 한쪽의 디스크가 망가지더라도 데이터 유실을 걱정할 필요는 없습니다. RAID Level 1 의 장점은 신뢰도가 엄청나게 상승한다는 것이지만, 단점도 명확합니다. 저장 공간을 엄청나게 차지하는 것이죠.
RAID Level 2 는 빠른 속도를 포기할 수 없는 사람들이 고안한 방식입니다. 스트라이핑 방식과 동일하게 각각의 하드디스크에 각각의 파일들을 쪼개서 저장하는 것은 같습니다. 여기까지는 RAID Level 0 과 같습니다. RAID Level 2 는 RAID Level 0 의 데이터 유실이라는 단점을 보완하기 위해서 오류를 검출할 수 있게 '헤밍 코드'를 사용해서 오류를 검출할 수 있게 해줍니다. 하드디스크 3개를 더 준비해서 1번부터 4번까지의 '헤밍 코드' 를 가지고 오류 검사한 내용을 저장하고, 이런 식의 반복을 통해서 '헤밍 코드'를 또 다른 하드디스크 3개에 저장을 해두는 것이죠. 그랬다가 오류가 발생하면 헤밍 코드를 통해서 복원을 하여 다시 사용할 수 있는 시스템입니다. '헤밍 코드' 를 저장해 둔 하드디스크가 망가지면 헤밍 코드도 의미가 없기 때문에 똑같은 '헤밍 코드' 를 3개의 하드디스크에 저장하여 가지고 있는 것이 RAID Level 2 입니다.
RAID Level 3 은 '헤밍 코드' 대신 '패리티' 라는 것을 사용합니다. RAID Level 3 이후부터는 '패리티'를 사용하여 에러 검증을 수행합니다. 이때 오류 검사를 하는 패리티의 단위는 바이트 단위로 검사를 하고 저장을 하는데요. RAID Level 2 번의 방식보다는 적은 용량으로 처리가 가능해지는 장점이 있습니다.
RAID Level 4 은 RAID Level 3 과 전체적인 구조는 같습니다. 그런데, 패리티 단위를 바이트 단위가 아니라 블록 단위로 처리합니다. 이것은 모래를 운반하는 것으로 예를 들 수 있는데요. 바이트 단위를 사용하는 RAID Level 3 에서는 손으로 모래를 옮겼다면, RAID Level 4 에서는 큰 접시로 모래를 옮기는 것으로 이해할 수 있는 것이죠.
RAID Level 5 은 패리티 저장 방식의 신뢰도 문제를 해결하기 위해서 나왔는데요. 패리티를 저장한 저장공간이 날아가면 모든 정보를 잃을 위험에 처하게 되는데, RAID Level 5 에서는 별도의 패리티 만을 위한 저장공간을 추가하는 것이 아니라 하드디스크 중간 중간에 패리티 정보를 기입해 놓습니다. 패리티 디스크를 없애는 대신에 패리티에 관한 정보들을 각각의 하드디스크에 나누어서 저장을 한 것이죠. 패리티 블록들을 여러 개의 디스크에 분산하여 저장하는 방식을 RAID Level 5 라고 합니다. 그런데, 이 방식도 저장 공간을 덜 쓰는 장점이 있지만, 하나의 디스크가 통채로 날아가면 복구를 하지 못하기 때문에 또 다른 Level 이 등장하는데요.
RAID Level 6 의 방식이 바로 위와 같습니다. 패리티 정보를 한 번만 저장하는 것이 아니라 같은 패리티 정보를 2번 씩 각각 다른 디스크에 저장되도록 한 것입니다. 이렇게 된다면 하나의 하드디스크가 통째로 작동을 하지 않는 상황이 오더라도 문제없이 복구를 진행할 수 있습니다.
이것을 표로 정리하면 위와 같습니다.
문제에서 '패리티가 없는' 방식 중에서 스트라이핑을 사용하고, 데이터 유실의 오류 검증을 지원하지 않는 것은 RAID Level 0 밖에 없습니다. 주의사항!! 괄호 안에 숫자로 쓰라고 했으므로 Level ( ) 이니까 0만 써주면 됩니다.