Qumulo LogoQumulo Logo

블로그

삭제 코딩과 RAID 비교 설명: 데이터 보호 방법

삭제 코딩(EC)은 RAID 및 미러링 전략에 비해 더 많은 디스크에 데이터를 사용할 수 있어 효율적이기 때문에 데이터 보호를 위한 가장 잘 알려진 방법 중 하나입니다.

이레이저 코딩이란 무엇이며 RAID 및 미러링 데이터 보호 방식과 어떻게 다른가요? RAID 스트라이핑 및 미러링과 같은 다른 데이터 보호 방법과 비교했을 때 이레이저 코딩의 장단점은 무엇인가요? 이 블로그 게시물에서는 이러한 질문에 대한 답을 제시하고, Qumulo가 온프레미스 스토리지 인스턴스에서 이레이저 코딩을 활용하여 하드웨어 장애로부터 보호하면서 성능과 효율성을 극대화하는 방법을 설명합니다.

삭제 코딩이란 무엇인가요?

삭제 코딩은 고급 수학을 활용하여 스토리지 시스템이 살아남은 데이터 블록과 함께 제공되는 패리티 블록을 비교하여 손실된 데이터 블록을 재생성할 수 있도록 하는 스토리지 데이터 보호 방법입니다.

삭제 코딩 대 RAID: 장단점

삭제 코딩이 다른 데이터 보호 방법보다 우수한 이유를 설명하기 위해 시중의 다양한 데이터 보호 방식과 그 장단점을 이해하는 데 도움이 됩니다.

저렴한 디스크의 중복 어레이(RAID)

RAID는 오래전부터 사용되어 왔습니다. 가장 기본적인 데이터 보호 구성은 미러링이라고도 하는 RAID1입니다. 이름에서 알 수 있듯이 미러링은 모든 데이터를 두 개 이상의 드라이브에 동시에 기록하여 두 개의 동일한 복사본을 만드는 것입니다.

RAID1 미러링 구성의 디스크 중 하나에 장애가 발생해도 각 사본이 독립된 디스크에 있기 때문에 손실된 데이터는 '미러 이미지'에서 복구할 수 있습니다. 미러링은 구현하기는 간단하지만 몇 가지 단점이 있습니다. 미러링에는 전체 데이터 세트의 중복 복사본이 하나 이상 필요하므로 데이터 보호에 필요한 공간 측면에서 낭비입니다. 또한, 미러링은 한 번에 하나의 드라이브 장애만 처리할 수 있으므로 일반적으로 대부분의 장애 시나리오, 특히 클러스터 크기가 커질수록 충분한 보호 기능을 제공하지 못합니다.

RAID1의 미러링 옵션 외에도 RAID 표준은 성능, 보호 또는 두 가지 모두를 위해 최적화할 수 있는 다른 구성을 제공합니다. 옵션에는 하드 디스크 그룹(일반적으로 5~10개)을 단일 어레이로 묶고 세트의 디스크 하나를 패리티 데이터에 사용하는 RAID5가 있습니다. RAID6이라고 하는 또 다른 접근 방식은 동일한 기본 접근 방식을 사용하지만 패리티 데이터를 저장하기 위해 세트에 두 개의 별도 디스크를 지정합니다. 또 다른 구성인 RAID10은 전체 디스크 세트를 동일한 디스크 세트에 미러링합니다.

이러한 각 옵션에는 고유한 장단점이 있습니다. RAID5와 RAID6는 모두 뛰어난 읽기 성능을 제공하지만, 쓰기 작업마다 하나 또는 두 개의 패리티 블록을 계산해야 하므로 쓰기 성능이 느립니다. 또한 이러한 고급 RAID 구성은 매우 복잡하고 관리 및 유지 관리가 어려울 수 있습니다. 또한 구성 요소에 장애가 발생하는 경우 RAID를 사용한 재구축 시간이 용납할 수 없을 정도로 느려져 사용자의 성능에 큰 영향을 미칠 수 있습니다.

삭제 코딩

Qumulo의 온프레미스 스토리지 스택에는 Qumulo 확장형 블록 스토어(SBS) 는 RAID가 아닌 삭제 코딩을 사용하여 효율적인 블록 기반 데이터 보호를 가능하게 하는 기본 계층입니다.

RAID 스트라이핑이나 미러링과 달리 이레이저 코딩은 대규모 데이터 스토리지에 확장 가능한 보호 기능을 제공합니다. 이레이저 코딩은 더 나은 성능, 유연성, 효율성을 제공하여 온프레미스 Qumulo 클러스터에서 완전한 데이터 보호와 응답성을 유지하면서 무한한 성장을 가능하게 합니다.

Qumulo의 삭제 코딩 알고리즘은 다음을 기반으로 합니다 리드-솔로몬 오류 수정 원칙, 확립된 모범 사례를 사용하여 성능과 효율성을 극대화합니다. 또한, Qumulo의 적응형 데이터 보호 지원은 클러스터가 성장함에 따라 Qumulo 클러스터의 삭제 코딩 프레임워크가 더 큰 효율성에 맞게 조정될 수 있음을 의미합니다.

삭제 코딩 설명(예시)

삭제 코딩은 예제를 통해 가장 쉽게 이해할 수 있습니다. 다음은 3,2 인코딩 알고리즘의 예시입니다:

3,2 인코딩에서는 3개의 블록(m = 3)이 3개의 서로 다른 물리적 장치에 분산되어 있습니다. 블록 1과 2에는 보호하려는 사용자 데이터(n = 2)가 들어 있고, 세 번째 블록에는 패리티 데이터가 들어 있습니다. 패리티 블록의 내용은 삭제 코딩 알고리즘을 사용하여 계산됩니다.

각 블록은 별도의 드라이브에 기록되므로 세 개의 드라이브 중 하나에 장애가 발생해도 패리티 블록에서 다시 생성할 수 있으므로 블록 1과 2에 저장된 정보는 여전히 안전합니다.

삭제 코딩의 작동 방식

작동 방식은 다음과 같습니다. 데이터 블록 1을 사용할 수 있는 경우 시스템은 이를 읽기만 하면 됩니다. 데이터 블록 2도 마찬가지입니다. 그러나 데이터 블록 1이 누락된 경우 삭제 코딩 시스템은 데이터 블록 2와 패리티 블록을 읽고 데이터 블록 1의 값을 재구성합니다.

마찬가지로 데이터 블록 2가 고장난 디스크에 있는 경우, 시스템은 데이터 블록 1과 패리티 블록을 읽습니다. SBS는 시스템이 블록에서 동시에 읽을 수 있도록 항상 블록이 서로 다른 스핀들에 있는지 확인합니다.

3,2 인코딩의 효율은 2/3(n/m), 즉 67%입니다. 미러링의 50% 효율보다는 낫지만, 3,2 인코딩은 여전히 단일 디스크 장애에 대해서만 보호할 수 있습니다.

삭제 코딩으로 구성 가능한 데이터 보호 제공

삭제 코딩은 성능 최적화, 미디어 장애 시 복구 시간 최적화, 복원력 강화를 위해 최대 4개의 장애 디스크 또는 한 번에 4개의 장애 노드까지 최적화하도록 구성할 수 있습니다. 일반적으로 보호 기능을 강화하려면 사용 가능한 용량을 희생해야 합니다.

최소 6,4 인코딩은 미러링과 동일한 공간에 3분의 1 더 많은 사용자 데이터를 저장하며, 미러링이나 3,2처럼 디스크 장애를 한 번만 허용하는 것이 아니라 두 번 허용할 수 있습니다. 6,4 구성에서는 사용자 데이터가 포함된 2개의 블록을 사용할 수 없는 경우에도 시스템은 나머지 2개의 데이터 블록과 2개의 패리티 블록만 읽으면 누락된 데이터를 복구할 수 있습니다.

그렇다면 이 모든 것이 무엇을 의미할까요?

다른 파일 플랫폼처럼 파일 레벨이 아닌 블록 레벨에서 작동하는 Qumulo의 독특한 사용 삭제 코딩은 전체 데이터 볼륨의 1:1 복사본을 만들지 않고도 데이터를 효과적으로 보호할 수 있을 뿐만 아니라 파일 크기가 인코딩 및 복구 시간에 영향을 미치지 않는다는 의미이기도 합니다. 파일 크기가 대용량이든 소형이든 상관없이 인코딩 및 복구 성능은 빠를 뿐만 아니라 안정적입니다.

다른 시스템은 클러스터에 저장된 파일 크기의 조합에 따라 이벤트에서 복구하는 데 몇 시간에서 며칠 또는 그 이상이 걸릴 수 있습니다. Qumulo는 저장된 파일 데이터의 혼합에 관계없이 성능에 영향을 미치지 않고 빠르고 안정적으로 복구합니다. 이를 통해 Qumulo 고객은 시장에서 가장 크고 경제적인 드라이브를 위험 부담 없이 활용할 수 있습니다.

Qumulo의 클라우드 네이티브 인스턴스에서 데이터 보호!

확장 가능한 블록 스토어는 물리적(온프레미스) Qumulo 클러스터에서만 삭제 코딩을 관리합니다. 다음과 같은 클라우드 네이티브 Qumulo 인스턴스는 다음과 같습니다 Azure 네이티브 쿠물로 (ANQ)는 클라우드 공급자의 자체 영구 데이터 서비스(예: Azure Blob Storage)를 기반으로 구축됩니다.

편집자 주: 이 블로그 게시물은 2021년 11월 3일에 처음 게시되었으며, 이후 정확성과 포괄성을 위해 업데이트되었습니다.

RAID 로드 코딩에 대한 설명