본문 바로가기

TECH ZOOM

HCP S10, 이레이저 코딩을 통해 대용량 데이터 보호의 포문을 열다

HDS는 최근 오브젝트 스토리지 솔루션 포트폴리오에 새롭게 추가된 HCP S10 스토리지 노드를 발표했습니다. (관련기사보기)


대용량의 상용 디스크 시스템인 HCP S10은 Hitachi만의 특허 기술이 적용된 복구 기술 및 이레이저-코딩(erasure-coding)을 통해 RAID 6가 지원되는 엔터프라이즈 디스크 시스템보다 더 높은 가용성과 빠른 복구 시간(rebuild time)을 제공합니다.


데이터 보호를 위한 “이레이저 코딩”

네트워크 업계에서는 보편화 되어 있는 “이레이저 코딩(Erasure Coding)”은 데이터 보호를 위한 방법론 중 하나로 스토리지 업계에서는 다소 생소했으나 최근 주목 받기 시작한 기술입니다. 이레이저 코딩은 데이터 코드 삭제를 위한 기술이 아닙니다. 삭제된(더 이상 접근이 불가능한) 데이터의 규모 및 범위를 파악하여 중복된 영역의 삭제된 블록을 복구 하는 데이터 보호 기술입니다.


HCP S10의 소프트웨어는 로우 디스크(Raw disk)를 64MB 단위로 나누어 20(n)개의 데이터 영역과 6(m)개의 보호 영역으로 구성합니다. 20+6 이레이저 코딩이란 26개의 영역에서 6개의 동시 삭제 영역을 유지하는 것을 의미하며, 이를 통해 최고 수준의 데이터 안정성과 77%의 스토리지 효율성을 유지할 수 있습니다. 각각의 그룹 영역은 서로 다른 HDD에 쓰기 작업이 이루어집니다. 즉 디스크에 오류가 발생할 경우 손상된 영역만 복구되는 것입니다. 오류 디스크 주위에 입력되는 새로운 데이터는 완벽하게 보호되는 동시에 분산된 전체 가용 디스크에서 복구 작업이 이루어집니다. 즉각적으로 디스크를 교체할 필요가 없으며, 이를 통해 유지 보수 비용을 절감할 수 있습니다. 디스크가 아닌 데이터를 복구함으로써 더 빠르고 리스크를 최소화하는 것은 물론 비용도 절감할 수 있는 것입니다.



3가지 영역으로 그룹화 된 위 그림을 통해 오류 디스크 주변의 새로운 데이터 쓰기 영역을 도식화하여 복구 원리를 보여드리고자 합니다. 오류 디스크는 노란색 영역의 그룹에 영향을 미치지 않으므로 해당 그룹은 복구 대상에서 제외됩니다. 오류 디스크 부분의 파란색, 빨간색, 초록색 그룹만이 복구되어야 할 부분으로, 이 영역의 데이터는 나머지 정상 디스크에 다시 쓰기 작업이 이루어질 것입니다. 특정 디스크에 문제가 발생할 경우 완벽한 보호를 위해 새로운 디스크에 쓰기 작업이 이어지게 되며 보라색으로 표시된 그룹이 바로 오류 디스크 주변에 새로운 쓰기 작업이 이루어지는 영역으로 복구가 완료된 것을 의미합니다.


“n+m” 이레이저 코드는 “m”개의 동시 오류를 모두 유지하는 방식과 유사합니다. 차이점은 읽기/쓰기 성능에 미치는 영향 및 복구 시간, 유지보수 비용 등입니다. n+m 구조로 오브젝트를 나누는 이레이저 코드 기반 데이터 보호 스토리지 시스템은 디스크에서 관리되어야 하는 영역의 개수가 평균 오브젝트 크기에 따라 달라집니다. 영역이 작은 경우 시스템에 처리 가능한 작업이 영역의 개수에 따라 정해지며, 전체 바이트를 초과할 수 없습니다. 즉 큰 규모의 영역으로 구성된 4TB의 디스크가 유실되는 경우 작은 영역으로 구성된 동일한 드라이브 보다 더 빠르게 복구 될 수 있는 것입니다. HCP S10은 최적의 사이즈로 영역이 설정되어 있으며, 오브젝트 크기와 독립적으로 처리량을 예측하고 복구할 수 있습니다.


RAID와 이레이저 코딩의 차이

RAID 5와 RAID 6는 “m”이 RAID5에서 1이고, RAID 6에서 2일 때 이레이저 코딩 형태로 인식되며, RAID stripe가 영역 그룹이 됩니다. RAID를 위한 이레이저 코딩은 parity 영역의 XOR을 기반으로 삭제된 영역의 데이터를 복구할 수 있도록 데이터 영역을 유지합니다. RAID는 “여러 개의 어레이로 사용 가능한 독립 디스크(Redundant Array of Independent Disks)”라는 의미 그대로 디스크를 기반으로 복구가 이루어지며 오류 영역의 재쓰기가 이루어지도록 여유 공간을 필요로 합니다. 기존에는 RAID 복구를 위해 전용 컨트롤러 및 소프트웨어가 사용되어 왔으나 최근에는 하드웨어에서 지원되는 추세입니다.



위 그림은 parity 영역이 전체 디스크에 로테이션 되는 3D + 1P RAID stripe를 도식화 한 것입니다. 오류 드라이브가 스페어 디스크에 복구된 것을 보실 수 있습니다.


RAID 6에서는 2개 parity 드라이브를 통해 2개의 동시 디스크 오류로부터 데이터를 보호하며 디스크를 기반으로 복구가 이루어지므로 디스크가 복구되는 동안 오류 디스크 상의 전체 RAID 그룹에 영향을 미치게 됩니다. HCP S10의 경우 20+6 영역 그룹에 6개의 동시 오류가 발생했을 때 오류 영역에 복구되는 동안 오류 디스크 상의 영역에만 영향을 미치게 됩니다. 이레이저 코드와 RAID의 가장 큰 차이점은 디스크 단위가 아닌 영역 단위로 복구가 이루어진다는 것이며, 이레이저 코드 알고리즘은 2개 이상의 동시 오류를 지원한다는 점입니다. Hitachi는 이와 관련하여 신속한 복구 및 재구성을 위해 2가지의 특허 기술을 보유하고 있습니다.


“m”개의 동시 오류에 대한 가용성을 확보함으로써 고가의 엔터프라이즈 디스크보다는 비용효율적이지만 오류 발생률이 높은 상용 디스크의 활용도를 높일 수 있습니다. 디스크 대신 영역을 재구성함으로써 디스크의 크기에 관계 없이 복구 시간을 조절하는 것이 가능해지기 때문입니다. 디스크 오류에 영향을 받는 영역의 개수에 따라 다르지만 기존에는 수TB 디스크의 전체 RAID stripe를 재구성하는데 몇 시간 혹은 며칠이 소요되었던 반면, 영역 재구성은 단 몇 분 이내에 완료됩니다. 특히 HCP S10은 스페어 드라이브 없이도 모든 드라이브를 항상 사용할 수 있도록 지원합니다. 오류 발생시 유실된 영역이 나머지 디스크 공간에 간편하게 리맵핑 되기 때문입니다. 여러 개의 드라이브에 오류가 발생하더라도 이러한 일련의 작업을 거쳐 다시 최적의 보호 상태로 돌아가게 됩니다. 그러나 이레이저 코드를 생성하고 변화하는 영역 위치를 계속 추적하기 위해서는 더 많은 시간과 처리 사이클이 요구되므로, S10은 자주 업데이트되는 데이터 보다는 Hitachi Content Platform의 아카이브 계층과 같은 레퍼런스 형의 데이터에 더 적합합니다.


대용량 데이터 보호를 위한 새로운 접근

엔터프라이즈 디스크의 높은 가용성을 보장하는 RAID 보호 방식은 여전히 데이터베이스 및 트랜잭션 애플리케이션을 위한 최고의 대안임에 틀림없습니다. 하드웨어 상에서 이루어지는 간편한 RAID parity 생성은 성능에 미치는 영향을 최소화 하기 때문입니다. 그러나 디스크 용량이 증가함에 따라 재구성에 요구되는 시간도 늘어나고, 재구성 도중 추가적인 오류에 노출될 수 있는 위험도 높아집니다. 즉 데이터가 유실 될 가능성이 높아지는 것입니다. 이레이저 코딩 기술이 점점 더 진화하게 되면 결국에는 RAID를 대체할 것입니다. 실제로 Hitachi VSP G1000과 같은 엔터프라이즈 스토리지 컨트롤러의 경우 active/active GAD(Global Active Device)를 통해 RAID 보다 우수한 재구성 시간을 보장합니다.