이레이저 코딩(EC)은 RAID 및 미러링 전략에 비해 데이터에 더 많은 디스크를 사용할 수 있기 때문에 효율성으로 인해 가장 잘 알려진 데이터 보호 방법 중 하나입니다.
삭제 코딩이란 무엇이며 RAID 및 미러링 데이터 보호 체계와 어떻게 비교됩니까? RAID 스트라이핑 및 미러링과 같은 다른 데이터 보호 방법과 비교하여 삭제 코딩의 장점과 단점은 무엇입니까? 이 블로그 게시물에서는 이러한 질문에 답하고, Qumulo가 온프레미스 스토리지 인스턴스에서 삭제 코딩을 활용하여 하드웨어 오류로부터 보호하면서 성능과 효율성을 극대화하는 방법을 설명합니다.
이레이저 코딩이란?
Erasure Coding은 고급 수학을 활용하여 스토리지 시스템이 남아 있는 데이터 블록을 그에 수반되는 패리티 블록과 비교하여 손실된 데이터 블록을 재생성할 수 있도록 하는 스토리지 데이터 보호 방법입니다. N.
이레이저 코딩 대 RAID: 장단점
이레이저 코딩이 다른 데이터 보호 방법보다 얼마나 우수한지 설명하기 위해 다양한 형태의 데이터 보호와 장단점을 이해하는 데 도움이 됩니다.
저렴한 디스크의 중복 어레이(RAID)
RAID는 오랫동안 사용되어 왔습니다. 가장 기본적인 데이터 보호 구성은 미러링이라고도 불리는 RAID1입니다. 이름에서 알 수 있듯이 미러링에는 두 개 이상의 드라이브에 모든 데이터를 동시에 기록하여 두 개의 동일한 복사본을 만드는 작업이 포함됩니다.
RAID1 미러링 구성의 디스크 중 하나에 오류가 발생하면 각 복사본이 자체 독립 디스크에 상주하므로 '미러 이미지'에서 손실된 데이터를 복구할 수 있습니다. 미러링은 구현이 간단하지만 몇 가지 단점이 있습니다. 미러링에는 전체 데이터 세트의 중복 복사본이 하나 이상 필요하므로 데이터 보호에 필요한 공간 측면에서 낭비입니다. 또한 미러링은 한 번에 하나의 드라이브 오류만 처리할 수 있습니다. 이는 일반적으로 특히 클러스터 크기가 증가함에 따라 대부분의 오류 시나리오에 대한 보호가 충분하지 않습니다.
RAID1의 미러링 옵션 외에도 RAID 표준은 성능, 보호 또는 둘 다를 최적화할 수 있는 다른 구성을 제공합니다. 옵션에는 하드 디스크 그룹(일반적으로 5-5개)이 단일 어레이로 함께 묶이고 패리티 데이터에 사용되는 세트의 디스크 하나를 포함하는 RAID10가 포함됩니다. RAID6이라는 또 다른 접근 방식은 동일한 기본 접근 방식을 사용하지만 패리티 데이터를 저장하기 위해 세트에 두 개의 별도 디스크를 전용으로 사용합니다. 또 다른 구성인 RAID10은 전체 디스크 세트를 동일한 디스크 세트에 미러링합니다.
이러한 각 옵션에는 고유한 장단점이 있습니다. RAID5와 RAID6은 모두 뛰어난 읽기 성능을 제공하지만 모든 쓰기 작업에는 하나 또는 두 개의 패리티 블록을 계산해야 하기 때문에 쓰기 성능이 느려집니다. 또한 이러한 고급 RAID 구성은 매우 복잡해지고 관리 및 유지 관리가 어려워질 수 있습니다. 또한 구성 요소에 장애가 발생하는 경우 RAID를 사용한 재구축 시간이 허용할 수 없을 정도로 느려질 수 있으며 이는 사용자 성능에 큰 영향을 미칩니다.
이레이저 코딩
Qumulo의 온프레미스 스토리지 스택에는 Qumulo가 포함되어 있습니다. 확장 가능한 블록 스토어(SBS)는 RAID가 아닌 삭제 코딩을 사용하여 효율적인 블록 기반 데이터 보호를 가능하게 하는 기반 레이어입니다.
RAID 스트라이핑이나 미러링과 달리 삭제 코딩은 대용량 데이터 저장을 위한 확장 가능한 보호 기능을 제공합니다. 삭제 코딩은 더 나은 성능, 더 높은 유연성, 더 높은 효율성을 제공하여 온프레미스 Qumulo 클러스터에서 완전한 데이터 보호 및 응답성을 유지하면서 무제한 성장을 가능하게 합니다.
Qumulo의 삭제 코딩 알고리즘은 다음을 기반으로 합니다. 리드솔로몬 오류 수정 원칙, 확립된 모범 사례를 사용하여 성능과 효율성을 극대화합니다. 게다가 Qumulo의 적응형 데이터 보호 지원은 클러스터가 성장함에 따라 Qumulo 클러스터의 삭제 코딩 프레임워크가 더 큰 효율성을 위해 조정될 수 있음을 의미합니다.
이레이저 코딩 설명(예시)
삭제 코딩은 예제를 통해 이해하는 것이 가장 쉽습니다. 다음은 3,2 인코딩 알고리즘의 예입니다.
3,2 인코딩에서는 3개의 블록(m = 1)이 2개의 개별 물리적 장치에 분산됩니다. 블록 2과 XNUMX에는 보호하려는 사용자 데이터(n = XNUMX)가 포함되고 세 번째 블록에는 패리티 데이터가 포함됩니다. 패리티 블록의 내용은 삭제 코딩 알고리즘을 사용하여 계산됩니다.
각 블록은 별도의 드라이브에 기록되기 때문에 세 개의 드라이브 중 하나가 실패할 수 있으며 블록 1과 2에 저장된 정보는 패리티 블록에서 다시 생성될 수 있기 때문에 여전히 안전합니다.
이레이저 코딩 작동 방식
작동 방식은 다음과 같습니다. 데이터 블록 1을 사용할 수 있으면 시스템은 이를 읽습니다. 데이터 블록 2의 경우도 마찬가지입니다. 그러나 데이터 블록 1이 누락된 경우 삭제 코딩 시스템은 데이터 블록 2와 패리티 블록을 읽고 데이터 블록 1의 값을 재구성합니다.
마찬가지로 데이터 블록 2가 장애가 발생한 디스크에 있으면 시스템은 데이터 블록 1과 패리티 블록을 읽습니다. SBS는 시스템이 블록에서 동시에 읽을 수 있도록 항상 블록이 다른 스핀들에 있는지 확인합니다.
3,2 인코딩의 효율성은 2/3(n/m) 또는 67%입니다. 미러링의 50% 효율성보다는 낫지만 3,2 인코딩은 여전히 단일 디스크 오류에 대해서만 보호할 수 있습니다.
이레이저 코딩은 구성 가능한 데이터 보호 기능을 제공합니다.
Erasure Coding은 성능 최적화, 미디어 장애가 발생한 경우 복구 시간 최적화 또는 복원력 최적화(최대 XNUMX개의 장애가 발생한 디스크 또는 한 번에 XNUMX개의 장애가 발생한 노드)로 구성할 수 있습니다. 일반적으로 보호 기능이 향상되면 사용 가능한 용량이 줄어듭니다.
최소한 Qumulo는 6,4 인코딩을 사용합니다. 이 인코딩은 미러링과 동일한 공간에 세 번째 사용자 데이터를 추가로 저장하고 미러링이나 3,2에서와 같이 하나의 디스크 오류 대신 두 개의 디스크 오류를 허용하는 기능이 있습니다. 6,4 구성에서 사용자 데이터를 포함하는 두 개의 블록을 사용할 수 없는 경우에도 시스템은 누락된 데이터를 복구하기 위해 나머지 두 개의 데이터 블록과 두 개의 패리티 블록만 읽으면 됩니다.
그래서 모두가 무엇을 의미합니까?
다른 파일 플랫폼처럼 파일 수준이 아닌 블록 수준에서 작동하는 Qumulo의 고유한 사용 삭제 코딩은 전체 데이터 볼륨의 1:1 복사본을 생성하지 않고도 데이터를 효과적으로 보호할 수 있을 뿐만 아니라 파일은 인코딩 및 복구 시간에 영향을 미치지 않습니다. 파일 크기가 거대하든 작든 관계없이 인코딩 및 복구 성능은 빠르기만 한 것이 아니라 신뢰할 수 있습니다.
다른 시스템은 클러스터에 저장된 파일 크기의 조합에 따라 이벤트에서 복구하는 데 몇 시간에서 며칠이 소요될 수 있습니다. Qumulo는 저장된 파일 데이터의 조합에 관계없이 성능에 영향을 주지 않고 빠르고 안정적으로 복구합니다. 또한 이를 통해 Qumulo 고객은 시장에서 가장 크고 경제적인 드라이브를 위험 없이 활용할 수 있습니다.
Qumulo의 클라우드 네이티브 인스턴스에서 데이터를 보호하세요!
Scalable Block Store는 물리적(온프레미스) Qumulo 클러스터에서만 삭제 코딩을 관리합니다. 다음과 같은 클라우드 기반 Qumulo 인스턴스 Azure 네이티브 Qumulo (ANQ)는 Azure Blob Storage와 같은 클라우드 공급자의 자체 영구 데이터 서비스를 기반으로 구축되었습니다.
편집자 주: 원래 3년 2021월 XNUMX일에 게시된 이 블로그 게시물은 정확성과 포괄성을 위해 업데이트되었습니다.