모든 하드웨어가 실패합니다. Qumulo는 절대 하지 않습니다

오늘은 실패에 대한 회복탄력성에 대해 이야기해보려고 합니다. 최근 특허 Qumulo가 수여되었습니다.

Qumulo의 분산 시스템에는 사용자 파일을 안정적으로 저장하는 데 매우 중요한 두 가지 리소스가 있습니다. 첫째, 저장매체이다. SSD, HDD 또는 클라우드 Blob Storage일 수 있습니다. 여기서는 독립적으로 주소 지정이 가능하고 독립적으로 오류가 발생하는 스토리지 단위를 디스크라고 부를 것입니다. 다음으로 우리는 소프트웨어를 실행하고 사용자와 디스크를 모두 처리하는 데 사용하는 네트워크 연결 서버(컴퓨팅)가 필요합니다. 이는 데이터 센터의 물리적 시스템이거나 공용 클라우드의 가상 시스템일 수 있습니다. 함께 우리는 소프트웨어에서 사용 가능한 모든 서버와 스토리지를 클러스터라고 부릅니다.

모든 하드웨어에 장애가 발생하고 모든 서비스에서 데이터가 손실될 수 있습니다. 모든 합리적인 실패 조합을 통해 완전한 작동성을 유지하고 고객 데이터를 잃지 않는 것은 Qumulo의 책임입니다. 각 클러스터에 대해 몇 가지 동시 서버 및 디스크 오류를 정의하며, 이는 고객의 요구 사항에 따라 지원해야 합니다. 그런 다음 이레이저 코딩이라는 기술을 사용하여 서버 및 디스크 오류로부터 고객을 보호합니다. 나는 당신이 우리의 이레이저 코딩에 대한 게시물 없으시다면 여기에서 가장 중요한 사항을 요약하겠습니다.

Qumulo와 같은 내결함성 중복 파일 시스템의 핵심 개념은 "효율성"입니다. 이는 고객이 파일 시스템 소프트웨어에 필요한 공간을 할인한 후 클러스터에 저장할 수 있는 데이터의 양을 나타냅니다. 온프레미스 디스크는 항상 서버에 연결되므로 서버를 사용할 수 없는 경우 데이터도 연결됩니다. 이는 데이터를 보호하는 데 사용되는 인코딩 기반 체계의 최대 효율성을 제한합니다. 예를 들어, 75개의 서버 클러스터는 고객이 1개의 서버가 오프라인인 모든 데이터에 대한 읽기 전용 액세스로 계속 작동하기를 원하는 경우 66% 효율성으로 인코딩된 데이터만 가질 수 있습니다. 오프라인 저장소의 일부에 쓰기를 원하면 XNUMX% 이상의 효율성으로 인코딩이 제한됩니다.

중간 규모에서 두 개의 동시 서버 오류를 허용하는 XNUMX개의 서버 클러스터는 하나의 서버 오류를 허용하는 XNUMX개의 서버 클러스터와 동일한 인코딩 효율성 제한을 갖습니다. 이 인수를 더 크고 더 큰 클러스터 크기로 비례적으로 외삽할 수 있습니다.

이 문제에 대한 우리의 솔루션은 서버 및 디스크 오류의 다양한 조합으로 평균 데이터 손실 시간(MTTDL)을 신중하게 모델링한 다음 매우 높은 임계값을 초과하는 구성만 허용하는 것이었습니다. 대규모 클러스터에서 인코딩 효율성은 90%까지 높을 수 있습니다.

그 솔루션은 온프레미스에서 가능한 한 최적에 가깝지만 클라우드에서 더 잘할 수 있습니다. 클라우드에서, 꾸 울로 원격 저장소를 사용합니다. 서비스로서의 Azure의 Qumulo 사용 Azure Blob 저장소 저장 요구를 위해. Qumulo의 저장소는 물리적으로 서버에 있지 않기 때문에 우리 서비스는 위의 모든 동일한 논리를 대신 디스크에 적용할 수 있습니다. 일반적인 클러스터의 서버보다 비례적으로 더 많은 디스크가 있기 때문에 우리 서비스는 소규모에서 훨씬 더 높은 효율성에 도달할 수 있습니다. 이론적으로 가장 작은 규모의 Azure 클러스터에서 90% 효율성 마커에 도달할 수 있습니다. Azure와 같은 안정적인 스토리지 미디어가 있는 클라우드에서는 효율성이 95%에 달할 수도 있습니다.

Bowman의 엔지니어링 팀 최근에 이 특허 받은 접근 방식을 활용하여 제품을 개선했습니다. "플로팅 디스크"를 사용하면 이전에 호스트했던 서버가 오프라인 상태가 된 경우 서비스로서의 Qumulo가 원격 스토리지를 다른 서버에 재할당할 수 있습니다. 이를 통해 동시에 장애가 발생하는 서버의 50% 미만을 지원할 수 있으며 소규모에서 훨씬 더 효율적일 수 있습니다. 이것이 진정한 클라우드 네이티브 스토리지 서비스를 구축하는 모습입니다.

지금 Qumulo를 사용해 보세요

여기에서 무중단 업그레이드에 대해 자세히 알아보십시오.

이레이저 코딩을 구현하는 방법

이 게시물을 공유하기