네트워크를 구성하려면 많은 트래픽을 견뎌야 하고 그렇게 되면 용량이 어마어마하게 필요해집니다.


일반 하드 1개의 용량으로는 큰 용량을 전부 감당하지 못하므로 여러개의 하드디스크를 사용하여 하나의 디스크처럼 사용하게 되는데요 이러한 개념을 RAID(Redundant Array of Inexpensive Disks) 라고 부릅니다. 


일반적으로 하드웨어 RAID라고 부르는 하드웨어 제조업체에서 여러 개의 하드디스클 가지고 장비를 만들어서 그 자체를 공급하는 방식은 안정적이지만 매우 비싸서 함부로 이용하기 부담스럽습니다. 


따라서 구성을 위해 좀 더 저렴하고 안전하게 데이터의 저장이 가능한 소프트웨어 RAID방식을 많이 사용합니다

고가의 하드웨어 RAID의 대안이며 운영체제에서 자체적으로 지원하는 방식이기도 합니다. 앞으로는 소프트웨어 RAID를 바탕으로 소개하겠습니다. 


일단 RAID의 종류는 대표적으로 Linear RAID, RAID 0,1,5,6 이 있으며 RAID 번호가 커질수록 좋은 성능을 갖췄습니다(물론 꼭 그렇지만은 않지만 일반적이라는 뜻입니다).  간단하게 표로 보자면 다음과 같습니다. 


위의 표만 보고 바로 이해가 안 될 수도 있기 때문에 이제부터 하나씩 각 RAID의 특징을 알아보겠습니다. 


가장 먼저 Linear RAID입니다. 아래 개요에 나왔듯이 Linear 는 뜻 그대로 이어붙인 하드디스크 입니다. 1TB 하드디스크가 3개라면 정보를 저장할 때 위에서부터 순차적으로 저장하여 3TB를 다 쓰는 방식입니다. 가장 고전적인 방법이라고 할 수 있겠습니다. 


RAID 0은 최소 2개의 하드디스크를 사용하여 하나의 정보를 동시에 2개 이상의 디스크에 나눠서 저장하게 됩니다. 아래 예시에 나온대로 '안녕하세요? 우재남입니다' 라는 12byte 짜리 정보를 4바이트씩 쪼개서 3개의 하드디스크에 동시에 저장하므로 1byte당 1초의 저장시간이 소요된다고 가정했을 때 총 4초가 걸리게 되며 Linear RAID에서 12초 걸리는 저장속도보다 효율이 좋게 됩니다. 하지만 1개의 디스크가 고장나게 되면 모든 정보를 사용할 수 없게 되므로 신뢰성이 낮다고 할 수 있습니다. 또한 1TB, 100TB, 100TB 이런 RAID 시키는 하드디스크의 용량이 각각 다르게 되면 공간효율이 100%가 될 수 업습니다. 왜냐하면 가장 작은 하드디스크의 용량에 맞춰서 저장되기 때문이죠. 그래서 RAID 0 방식을 사용하게 되면 당연히 서로 호환이 되는 동일한 제조사, 동일한 용량의 디스크를 사용하는게 일반적입니다. 



RAID 1은 미러링 방식이라고도 부르며 동일한 데이터를 2개 이상의 하드디스크에 동일하게 저장하므로 저장효율이 반토막 나게 됩니다. 공간효율이 좋지 않은 대신 하나의 하드디스크가 고장나도 다른 디스크는 문제 없이 사용가능하는 결함을 허용하므로 정보의 신뢰성이 높다고 할 수 있겠습니다. 동일한 정보를 서로 다른 디스크에 동시에 저장하므로 저장속도에 차이는 없겠습니다. 


따라서 RAID 0과 RAID 1을 비교하면 아래와 같이 구분됩니다. 



RAID 0과 RAID 1을 사용하면서 그러면 두 개의 방식의 장점만 조합해서 사용하면 더 좋은 것이 아니냐고 반문할 수 있겠습니다. 따라서 RAID 5 방식이 그 답이 될 수 있습니다. RAID 1이 데이터를 안전하게 보관할 수 있다면 RAID 0은 빠르고 공간효율이 좋기 때문에 두 방식의 장점만을 좝한게 RAID 5 방식입니다. RAID 5는 아래에서 설명하듯이 패리티(Parity)를 사용하게 되는데 일반적으로 하드디스크 7~10개를 연결하게 됩니다. 참고로 RAID 2,3,4 방식도 있지만 RAID 5보다 단연 효율이 떨어지므로 보편적으로 사용하지 않습니다. 



RAID 5는 다음과 같이 패리티라는 것을 통해서 하나의 디스크가 문제가 생겨도 잃어버린 데이터를 복구할 수 있습니다. 아래 예시는 짝수 패리티 방식으로 3개의 디스크에 정보를 나눠서 저장한 후 하나의 빈 정보를 따로 남은 디스크에 저장하게 됩니다. 그렇게 남은 디스크의 저장 공간을 패리티라고 부르며 만일 아래 예시처럼 sdb 디스크가 고장나게 되면 패리티를 포함한 데이터의 값을 짝수로 만들어야 하므로 이를 통해 패리티에 들어갈 숫자를 인식하여 데이터를 복구하게 됩니다. 하지만 결정적으로 디스크가 2개 이상 고장나게 되면 패리티로도 복구가 불가능하다는 단점이 있습니다. 


RAID 6의 경우 패리티를 2개 사용하므로 RAID 5보다 안전성이 높지만 패리티를 사용하는 디스크가 2개나 되므로 정보를 저장하지 않는 디스크가 2개나 생겨 공간효율과 성능이 떨어지므로 RAID 5에 비해 활용 빈도가 적습니다. 


RAID 6보다 더 안정적이면서 RAID 5의 장점을 극대화하기 위해서 RAID 1 과 RAID 0의 방식을 조합하여 사용하는 방식을 활용하게 되는데 이 방식이 RAID 1+0 방식입니다. 앞서 말한 RAID 5가 패리티를 사용해서 공간효율이 떨어졌지만 RAID 1과 RAID 0 방식을 직접 조합시켜 그러한 단점을 보완한 방식이라고 할 수 있겠습니다. 따라서 신뢰성과 성능 두 마리 토끼를 잡게 되었습니다. 



이번 포스팅에서는 간략하게 RAID의 개념과 종류에 대해서 알아보았으므로 다음 포스팅에서는 실제로 VMware를 통해 하드디스크를 설치해보면서 RAID 방식을 하나씩 구현해보도록 하겠습니다. 


+ Recent posts