스토리지 레이드(Storage RAID) 구성 종류, 서버 레이드(Server RAID) 구성 종류와 RAID구성의 장단점에 대해서 정리를 해보았습니다. 서버나 스토리지를 운영하면서 늘 고민을 하게 되는게 레이드(RAID)구성입니다. 어떻게 레이드(RAID)를 구성하는 것이 효율적인 방법인지 판단하기 어려운 부분이 있어요. 비용, 안정성, 효율성등을 고려해서 서버관리자가 판단하겠지만 비용을 집행하는 입장이라면 한번 공부해보는 것도 나쁠게 없겠죠. 저도 예전에 공부하던걸 더듬어 다시한번 스토리지 레이드(Storage RAID)종류, 서버 레이드(Server RAID)종류를 통해 효율적인 RAID구성을 정리해 보았습니다. 현업에서 일하는 엔지니어나 시스템 도입을 위해 의사결정을 해야 하는 분들에게 도움이 되었으면 좋겠어요. 그래서 쉽게 설명하려니 좀 어렵기도 하네요.ㅋㅋ
레이드(RAID)이론의 과거와 현재
하드디스크는 스토리지나 서버내의 우리가 사용하는 데이터를 저장하는 공간이죠. 과거에는 하드디스크 용량이 지금 처럼 넉넉하지 않고 비싸서 고민을 많이 했답니다. 그렇다보니 용량이 적고 성능도 낮은 하드디스크를 조금 더 저렴한 비용으로 구매를 해서 고가의 대용량 하드디스크처럼 사용하고 싶었던게 레이드(RAID)이론의 출발이었습니다.
파티션과 레이드의 차이점
PC포맷을 하고 나면 하나의 하드디스크를 둘 이상으로 나누는 걸 파티션이라고 합니다. 여유가 있으면 하드디스크를 2개 붙여서 사용하기도 하지만요. 레이드는 여러개의 하드디스크를 하나의 하드디스크처럼 구성하는 것을 말합니다. 설명을 할때 일반인이 알아듣기 어렵게 설명하기도 해요. 예를 들면 물리적인 하드디스크 하나를 C드라이브, D드라이브등 논리적으로 나누는 것을 파티션이라고 말합니다. 레이드는 복수개의 물리적인 하드디스크를 하나의 논리적인 드라이브롤 구성하는 방식이라고 설명합니다. ㅋㅋ 저도 익숙해진 말이지만..
레이드(RAID)의 기본 구성 종류
레이드(RAID)는 같은 데이터를 여러 개의 하드디스크에 중복 저장합니다. 또한 OS(운영체계)가 한개의 하드디스크로 인식시킴으로써, 내고장성의 증가와 데이터 접근성을 효율적으로 관리해주는 장점이 있습니다. 그럼 레이드(RAID)의 기본 구성의 종류에 대해 알아 볼까요. 먼저 패리티라는 용어가 이해하는게 중요합니다. 간단하게 말하면 정보전달시 에러의 발생여부를 표시하기 위해 정보비트에 더해지는 비트를 말합니다. 다시말해 데이터가 저장시 문제가 생길때 체크를 해놓은 정보라고 생각하면 됩니다.
레이드(RAID) 레벨 0
필요한 하드디스크 : 2개이상의 동일모델, 동일용량의 하드디스크
운영방식 : 레이드(RAID) 레벨 0은 데이터를 보관할때 분리해서 보관하는 방식입니다. 예를 들어 하드디스크가 2개라면 데이타를 한개의 하드디스크에 저장하지 않고 1/2씩 나누어 하드디스크에 저장합니다. 좀 더 디테일하게 말하면 2개의 금고가 있다고 생각해 보자구요. 첫번째 금고에는 손목시계의 초침을 두번째 금고에는 시계판을 보관하는 방식입니다. 그래서 한개의 금고를 사용할 수 없다면 시계는 없는거죠.
고려사항 : 같은 데이터를 분산해서 저장하는 것이니 중복해서 저장하는 방식이 아니므로 백업시스템과 연동해서 반드시 백업을 받아야 합니다.
장점 : 빠른 입출력
단점 : 안정성이 낮다. 위의 예에서 3개의 하드디스크 중 하나가 문제가 생기면 데이터의 손상이 발생될 수 있습니다.
레이드(RAID) 레벨 1
필요한 하드디스크 : 2개의 동일모델, 동일용량의 하드디스크
운영방식 : 레이드(RAID) 레벨 1은 데이터를 저장할때 1개의 하드디스크에 저장하고 저장된 데이터를 나머지 1개의 하드디스크에 복사(Mirroring)하는 방식입니다.
장점 : 안정성이 레이드(RAID) 레벨 0보다 우수합니다. 그리고 같은 데이터가 2개의 하드디스크에 각각 저장이 되고 데이터를 읽을때 1개의하드디스크에서 읽다보니 읽기가 빠릅니다.
단점 : 비용이 증가합니다. 같은 데이타를 똑같이 다른 하드디스크에 저장하기 때문이죠.
레이드(RAID) 레벨 2
필요한 하드디스크 : 2개의 동일모델, 동일용량의 하드디스크
운영방식 : 레이드(RAID) 레벨 2는 거의 사용하지 않은 방식입니다. 레이드(RAID) 레벨 0와 비슷한데 다른점이라면 하드디스크에 문제가 생기면 복구할 수 있는 Hamming Code를 사용하고 있다는 점입니다.
단점 : 비효율적이면서 비용증가
레이드(RAID) 레벨 3
필요한 하드디스크 : 3개이상 동일모델, 동일용량의 하드디스크
운영방식 : 데이터를 Byte단위로 저장하는 방식입니다. Byte단위로 저장할때 동기화 과정을 거쳐야 하는게 성능이 좀 낮죠. 레이드(RAID) 레벨 0에 백업용 하드디스크를 하나 더 붙였다고 보면 이해가 쉽겠군요.
장점 : 드라이브에 저장된 데이타에 장애가 발생하면 복구할 수 있습니다.
단점 : 장애를 복구할 수 있는 패리티비트가 하드디스크에 있으면 복구가 어렵습니다. 하드디스크에 병목현상이 생겨 속도저하가 발생할 수 있습니다.
레이드(RAID) 레벨 4
필요한 하드디스크 : 3개이상 동일모델, 동일용량의 하드디스크
운영방식 : 데이터를 Block단위로 저장하는 방식입니다. Block단위로 저장할때 동기화 과정을 거쳐야 하는게 성능이 좀 낮죠. 레이드(RAID) 레벨 3과 마찬가지로 레이드(RAID) 레벨 0에 백업용 하드디스크를 하나 더 붙였다고 보면 이해가 쉽겠군요.
장점 : 작은 파일의 경우는 한번의 작업으로 데이터를 읽을 수 있기 때문에 레이드(RAID) 레벨 3보다는 성능이 좋습니다.
단점 : 장애를 복구할 수 있는 패리티비트가 하드디스크에 있으면 복구가 어렵습니다. 하드디스크에 병목현상이 생겨 속도저하가 발생할 수 있습니다.
레이드(RAID) 레벨 5
필요한 하드디스크 : 3개이상 동일모델, 동일용량의 하드디스크
운영방식 : 패리티 정보를 모든 하드디스크에 분산하여 저장합니다. 레이드(RAID) 레벨 3, 레이드(RAID) 레벨 4의 방단점을 보완한 방식입니다.
장점 : 레이드(RAID) 레벨 3, 레이드(RAID) 레벨 4에서 발생하는 병목현상을 최소화할 수 있습니다.
단점 : 레이드(RAID) 레벨 5의 장점이 단점입니다. 무슨 말이냐면 패리티정보를 쓸때는 분산해서 안정적이지만 장애시 분산된 패리티를 읽어야 하기 때문에 성능저하가 발생하게 되거든요. 물론 컨트롤러에 지능형 캐쉬를 내장하여 속도 저하를 최소화시키기는 하지만요.
레이드(RAID) 레벨 6
필요한 하드디스크 : 4개이상 동일모델, 동일용량의 하드디스크
운영방식 : 레이드(RAID) 레벨 5보다 데이터의 안정성을 고려가 방식입니다. 방식은 레이드(RAID) 레벨 5와 비슷하지만 다른게 있다면 다른 드라이브들 간에 분포되어 있는 2차 패리티 정보를 넣어 2개의 하드디스크에 문제가 생겨도 데이터를 복구할 수 있다는게 강점이죠.
장점 : 패리티를 2개의 하드디스크에 저장해서 복구에 강하다.
단점 : 작업구현이 복잡합니다. 그래서 엔지니어들이 잘 사용하지 않죠.
스토리지/서버 레이드 구성은 어떻게?
지금까지 7개의 레이드(RAID)구성을 보면서 도대체 어떤게 좋은지 잘 모르겠죠. 그러나 대부분 엔지니어들이 잘 알고 있으니 너무 걱정을 안해도 될 겁니다. ㅋㅋ 레이드는 7가지중에 주로 레이드(RAID) 레벨 0와 레이드(RAID) 레벨 1을 복합구성하는 방식으로 많이 사용합니다. 흔히 0+1( ZeroPlus1, ZeroPlusOne) 1+0(1PlusZero, OnePlusZero)로 부른답니다.
0+1, 1+0은 하나의 데이터를 여러 드라이브에 분산 저장하는 스트라이핑(Striping)방식을 사용하는 레이드(RAID) 레벨 0과 하나의 하드디스크에 저장되는 데이터를 전부 다른 하나의 하드디스크에 고스란히 복사되는 미러링(Mirroriong)방식을 사용하는 레이드(RAID) 레벨 1의 장점을 합친 방식이라고 보면 됩니다.
따라서 레이드 0+1, 레이드1+0 방식은 최소6개의 하드디스크가 필요합니다. 레이드 0+1, 레이드1+0 방식은 분산 저장을 통한 성능 향상과 데이터의 안정성을 확보할 수 있게 됩니다. 그러나 레이드(RAID) 레벨 1의 장점이면서 단점인 미러링(Mirroriong)방식으로 하드디스크를 1/2밖에 사용하지 못한다는 점이죠.
6개의 드라이브를 레이드(RAID) 0+1은 RAID 0으로 구성된 드라이브들을 최종적으로 RAID 1로 묶는 것이라 각각 3개씩 하드디스크가 나눠지며, 레이드(RAID) 1+0은 2개씩 RAID 1로 묶여있는 하드디스크들이 RAID 0로 구성됩니다. 복잡하죠. 간단히 레이드 0+1, 레이드1+0의 차이점을 말하면 어느쪽의 레이드를 먼저 구축하느냐의 차이로 보면 됩니다.
그런데 레이드(RAID) 구축후 문제가 발생을 했다고 가정하면 레이드 0+1의 경우 1개의 하드만 고장나서 복구해도 다른 RAID 0 구성에서 나머지 하드까지 데이터 전체를 복구해야 합니다.
그러나 레이드 1+0는 고장난 하드가 1개라고 하면 미러링된 다른 하드디스크를 통해 데이터를 쉽게 복구할 수 있어 레이드 0+1보다 작업하기가 수월합니다. 엔지니어도 편하지만 빨리 복수가 됨으로 업무복귀도 빠르겠죠.
결론은 스토리지/서버의 레이드 구성을 어덯게 하면 좋은가겠죠. ㅋㅋ 레이드구성은 기본적으로 7개입니다. 7개를 조합해서 설계하면 됩니다. 그러나 레이드0+1, 레이드1+0이외의 조합방식은 비용이 많이 들어가게 되는 단점이 있으니 비용에 관계가 없다면 엔지니어와 상담을 하시면 되겠죠. 성능과 안정성 중에 성능에 무게중심을 둔다면 레이드(RAID) 0+1를 사용하시구요. 성능은 좀 떨어지더라도 안전하게 운영을 하겠다고 생각하시면 레이드(RAID)1+0를 선택하면 될 것 같아요.
[관련글]
와이파이 공유기 Archer C7 후기 - 성능에 놀란 무선 듀얼밴드 기가비트 공유기
엑스페리아X 퍼포먼스, 엑시프레이X, 엑스페리아 XA 스펙 차이!! 소니의 낮은 포복~
시놀로지 나스(NAS) DS214 하드(HDD) 장착후기 - 소규모사무실 및 개인용 데이터 저장용으로
댓글