검색
이 검색 상자를 닫습니다.

유연한 클러스터 설계에 대한 심층 분석

작성자 :

이것은 XNUMX부로 구성된 블로그 시리즈 중 XNUMX부로, 새로운 데이터 서비스 제품군 이는 고객이 대규모 파일 데이터 관리를 근본적으로 단순화하는 데 도움이 됩니다. 우리는 -에 대해 이야기했다 NVMe 캐시 성능 이전 게시물에서. 여기에서는 Dynamic Scale에 대한 개요를 제공합니다. 이 시리즈의 향후 블로그에서는 이 발표에 포함된 다른 새로운 데이터 서비스에 대해 더 자세히 다룰 것입니다.

Qumulo를 디자인할 때 파일 데이터 플랫폼, 우리는 고객이 해결하려는 문제를 지속적으로 고려합니다. 우리의 고객은 우리의 자기장, 그리고 그것들은 우리의 제품 개발과 혁신을 주도합니다.

그들의 임무를 돕기 위해 우리는 고객의 비용과 성능을 모두 향상시키는 새로운 소프트웨어 기능과 플랫폼을 신속하게 출시합니다. 사실, 우리는 최근에 새로운 데이터 서비스 제품군 고객이 방대한 양의 파일 데이터를 관리하는 방식을 근본적으로 단순화하는 데 도움이 됩니다.

우리의 목표는 기업 및 정부 조직이 복잡한 비정형 데이터 환경에서 확장, 보안 및 고성능 달성을 간단하고 비용 효율적으로 만드는 것입니다.

제한 없는 혁신

고객이 데이터 마이그레이션 없이 하드웨어 기술의 개선 사항을 활용할 수 있도록 Qumulo는 고객이 단일 클러스터에서 다양한 유형의 노드를 결합할 수 있도록 파일 데이터 플랫폼을 지속적으로 개선하고 있습니다. 최신 기술에 대한 액세스를 주저해서는 안 된다고 생각합니다.

우리는 최근 관리자가 전면적 업그레이드, 데이터 마이그레이션 또는 복잡한 스토리지 풀 관리 없이 최신 프로세서, 메모리 및 스토리지 장치와 함께 새로운 자격을 갖춘 하드웨어 플랫폼을 활용할 수 있도록 하는 Qumulo Dynamic Scale을 도입했습니다. 이제 Qumulo 사용자는 다른 스토리지 풀을 관리하거나 데이터 마이그레이션을 수행할 필요 없이 기존 환경에 새로운 검증된 플랫폼을 추가할 수 있습니다. 새로운 플랫폼은 기존 환경에 간단히 추가되고 데이터는 자동으로 재분배되며 향상된 성능과 용량은 사용자와 애플리케이션에서 자동으로 제공됩니다.

그렇다면 Qumulo의 엔지니어링 팀은 단일 클러스터에서 다양한 유형의 노드를 활성화하기 위해 무엇을 했습니까? 그것은 우리가 "노드 호환성"이라고 부르는 것입니다.

이 작업의 첫 번째 단계는 비슷한 양의 스토리지로 노드를 클러스터링하여 HPE Apollo 서버를 사용하는 고객이 HPE Gen10 클러스터에 HPE Gen9 노드를 추가할 수 있도록 지원하는 것이었습니다.

노드 호환성: 데이터 보호 아키텍처 이해

첫날부터 Qumulo는 파일 데이터 플랫폼의 기능에 인위적인 제한을 가하지 않으면서 고객에게 최신 기술을 제공할 파일 데이터 플랫폼을 설계하고 개발하는 데 집중했습니다. Qumulo의 파일 데이터 플랫폼은 파일 시스템 계층이 하드웨어의 기본 차원에 대해 알 필요가 없도록 설계되었습니다. 모든 작업은 스택 아래에서 발생합니다.

다양한 노드 유형이 함께 작동하도록 하기 위해 Qumulo 엔지니어링 팀은 클러스터의 저장소 리소스 전체에 내부 시스템 개체(최종 사용자 개체 저장소와 혼동하지 말 것) 배치를 담당하는 구성 요소에 대해 작업해야 했습니다. 레이아웃은 데이터 손실을 방지하고 데이터 가용성을 보장하도록 최적화되어 있습니다. 이는 디스크에 장애가 발생하거나 노드가 다운되는 경우 고객이 클러스터를 계속 사용하고 데이터에 계속 액세스할 수 있도록 하는 데 중요합니다.

작업은 두 가지 주요 구성 요소에 중점을 두었습니다. 파일 시스템 데이터와 메타데이터(위 다이어그램에서 보호 시스템의 일부)를 저장하는 보호된 저장소(또는 "PStores")를 배치하는 재스트라이퍼; 그리고 DKV, 보호 시스템 및 트랜잭션 시스템에서 사용할 빠른 분산 키-값 저장소를 제공합니다.

리스트라이퍼

리스트라이퍼는 구성 요소 오류 후 데이터가 안전한지 확인하는 책임이 있습니다. 시스템에서 PStores가 상주하는 디스크에 대한 결정을 내립니다. PSStore는 각각 특정 디스크에 있는 여러 블록 저장소("BStore")로 구성됩니다. 데이터는 이라는 체계를 사용하여 BStores에서 인코딩됩니다. 이레이저 코딩, 시스템이 가능한 한 많은 사용 가능한 공간을 제공하면서 특정 수의 드라이브 및/또는 노드 오류를 허용할 수 있습니다.

드라이브가 손실된 경우 재스트라이퍼는 손실된 드라이브에 있던 데이터를 재구축하는 구성 요소입니다. 이를 위해 Qumulo는 이를 위해 시스템의 다른 모든 드라이브에 약간의 여유 공간을 유지합니다.

위의 이미지에서 8개의 8TB HDD가 있는 클러스터를 볼 수 있으며 각 HDD에는 한쪽에 1TB의 여유 공간이 있습니다. 하나의 드라이브에 장애가 발생하면 예비 공간을 사용하여 현재 누락된 7TB의 데이터를 재구성할 수 있습니다. 파일 시스템에 여유 공간이 고르게 분산되어 있어 재보호 시간이 최소화됩니다.

DKV

DKV는 전 세계적으로 사용 가능해야 하고 모든 노드에서 쓰고 읽을 수 있어야 하는 키-값 쌍 데이터를 저장합니다. 저장하는 값은 기본적으로 일련의 바이트이며 최대 크기는 4KiB 미만입니다. DKV의 주요 용도는 각 PStore의 BStore가 있는 디스크를 포함하여 PStore 메타데이터를 저장하는 것입니다.

DKV 키 공간은 우리가 샤드라고 부르는 동일한 크기의 파티션으로 나뉩니다. 각 샤드는 여러 KV 볼륨에 미러링됩니다. Qumulo 파일 시스템이 DKV 키에 쓸 때 API 호출이 반환되기 전에 모든 미러에 데이터를 씁니다. 그렇게 하면 시스템이 DKV 키에서 읽을 때 임의의 미러에서 읽을 수 있습니다.

DKV 키 공간은 우리가 샤드라고 부르는 동일한 크기의 파티션으로 나뉩니다. 각 샤드는 클러스터의 SSD에 있는 물리적 아티팩트인 여러 KV 볼륨에 미러링됩니다.

Qumulo의 쿼럼은 클러스터가 현재 사용할 수 있는 물리적 리소스의 집합입니다. 즉, 온라인 노드와 디스크의 집합입니다. 해당 리소스 집합이 변경되면(예: 디스크를 교체해야 하거나 노드가 오프라인 상태가 됨) 현재 쿼럼이 빠르게 중단되고 시스템에서 실행 중인 여러 작업이 중지된 다음 시스템을 다시 온라인 상태로 전환합니다. 새 리소스 집합이 있는 새 쿼럼. Qumulo 파일 데이터 플랫폼은 리소스의 변경 사항을 인식하고 다양한 복구 작업을 실행하여 클러스터의 데이터가 사용 가능한 상태로 유지되는 동시에 향후 리소스 오류로부터 보호됩니다.

쿼럼 변경 후 DKV를 복구하는 것은 정말 간단합니다. 각 샤드에 대해 임의의 사용 가능한 미러를 소스로 선택하고 새 쿼럼에서 사용할 해당 미러의 동일한 복사본을 새로 만듭니다. 따라서 이전 쿼럼이 종료될 때 진행 중인 쓰기가 미러의 하위 집합에만 기록된 경우에도 새 미러 집합은 동일한 소스 미러에서 복사되었기 때문에 일관성이 유지됩니다.

Qumulo는 원자 4KiB 쓰기를 지원하는 SSD만 사용하므로(예기치 않은 전력 손실에 직면하더라도), 진행 중인 쓰기에 대해 이전 값이나 새 값을 엄격하게 볼 수 있습니다. t는 부분적으로 작성된 블록이어야 합니다. 또한 우리가 사용하는 SSD는 승인된 쓰기를 삭제하지 않으므로(다시 말하지만 정전이 발생하더라도) 완료된 것으로 기록된 모든 쓰기에 대해 새로운 값을 볼 수 있음을 보장할 수 있습니다.

재스트라이퍼에 대한 노드 호환성 달성

이제 낮은 수준의 데이터 보호 아키텍처를 이해했으므로 Qumulo 프로젝트 팀의 과제는 이 아키텍처가 고객이 단일 클러스터에 포함할 수 있는 다양한 시스템에서 작동하도록 하는 것이었습니다. 각 노드는 한 노드가 다른 모든 노드에 디스크 수, 디스크 크기 등을 알려달라고 요청하여 클러스터의 "기하학"을 찾아야 합니다.

모든 드라이브에서 우리가 보관하는 여유 공간을 기억하십니까? 시스템의 개별 드라이브에 과부하가 걸리지 않고 손실된 드라이브에서 데이터를 최대한 빨리 재구축할 수 있도록 해당 공간이 고르게 분산되어야 합니다. 리스트라이퍼의 greedy 알고리즘은 디스크의 사용 공간 측면에서 greedy하도록 작성되었습니다. 따라서 디스크의 크기가 다른 경우 각 디스크에 동일한 수의 BStores를 배치하는 것을 목표로 합니다.

그러나 그것은 분명히 우리가 원하는 것이 아닙니다. 이로 인해 reprotect는 더 많은 예비 공간을 가지고 있기 때문에 시스템의 더 큰 디스크에 재구성된 데이터를 더 많이 써야 합니다. 이는 재보호 속도를 늦추거나 시간을 동일하게 유지하기 위해 고객 작업 부하에 더 큰 영향을 주어야 합니다.

이 문제를 수정하는 것은 매우 간단했습니다. 우리는 여유 공간 측면에서 탐욕스럽게 알고리즘을 재작업했습니다. 이 접근 방식은 한계가 있고 비슷한 크기의 노드에서만 작동하지만 일부 고객에게 신속하게 혜택을 제공할 수 있는 빠른 점진적 변경이었습니다.

DKV에 대한 노드 호환성 달성

논의한 바와 같이 DKV의 주요 용도는 PStore의 위치에 대한 데이터를 저장하는 것입니다.

역사적으로 Qumulo의 엔지니어링 팀은 다른 향후 사용 사례를 위해 키 공간의 시작 부분에 소수의 키를 예약하기로 선택했지만 특정 키 이후의 모든 것은 PSstore입니다. DKV를 처음 설계할 때 DKV 샤드의 수를 클러스터 크기의 사소한 함수로 만들고 싶었기 때문에 각 샤드를 노드의 PStores 값만큼 저장하기에 충분히 크게 만들기로 결정했습니다. 노드 수에 따라 클러스터에 노드가 추가됨에 따라 새 샤드가 DKV에 추가됩니다.

클러스터에 다른 크기의 노드를 추가하면 이 계산이 같은 방식으로 작동하지 않습니다. 새 노드가 기존 노드보다 크면 DKV 샤드를 더 빨리 추가해야 합니다. 그러나 SSD당 단일 KV 볼륨만 있는 경우 디스크 및 노드 손실로부터 복구할 수 있는 능력을 유지하면서 이것이 항상 가능한 것은 아닙니다.

DKV가 다양한 크기의 스토리지 노드를 설명하기 위해 더 많은 샤드를 추가할 때 유연하게 하려면 클러스터의 SSD에 추가 KV 볼륨을 프로비저닝해야 했습니다. 볼륨 자체가 작기 때문에(100MB 미만) SSD당 일정한 수의 볼륨을 사용하기로 선택했습니다. 비록 이것이 어떤 경우에는 상대적으로 더 큰 여유로 공간을 초과 프로비저닝할지라도 말입니다. 이것은 적은 양의 SSD 공간을 소비하는 대신 레이아웃 코드를 단순화합니다.

DKV 복구 시간에 새 KV 볼륨을 추가하는 것은 옵션이 아니므로 대신 시스템이 가동되고 실행된 후 재스트리퍼가 더 많은 공간을 만들기 위해 호출할 수 있는 API를 제공했습니다. 이 크기 협상은 초기 클러스터 생성 직후 또는 새 노드 추가 직후 재스트라이퍼가 PStores를 생성할 준비를 할 때 발생합니다. 보호 시스템이 시스템에 있어야 하는 PStores의 수를 파악한 후 재스트라이퍼는 협상 API를 호출하여 공간을 요청합니다. 새 샤드가 필요한 경우 필요한 경우 추가 KV 볼륨이 추가되고 새 샤드에 대한 레이아웃이 검색되어 현재 DKV 레이아웃에 추가됩니다. 새 샤드가 배치되면 클러스터 전체에서 새 샤드를 사용할 수 있습니다. 성공적인 협상이 끝나면 재스트라이퍼는 제어를 재개하고 고객에게 사용 가능한 용량을 제공하는 새로운 PStores를 추가합니다.

덮개 아래에서 일어나는 일은 복잡하지만 재스트라이퍼와 DKV 사이의 상호 작용은 매우 간단하다는 것이 흥미롭습니다. 그리고 레이어는 더 이상 얽혀 있지 않습니다. DKV는 특정 클러스터에 얼마나 많은 PSStores가 있어야 하는지에 대해 아무것도 모릅니다. 새 클러스터는 설정된 수의 키를 저장할 수 있는 단일 샤드를 부트스트랩합니다. 모든 하드웨어 플랫폼은 동일한 초기 볼륨 크기를 사용하고 보호 시스템이 원하는 PStores 수를 알면 공간을 요청하기만 합니다.

DKV의 설계는 엄청난 유연성을 제공합니다. 즉, Qumulo가 고객의 문제를 해결하는 데 사용하는 유연성입니다. 재스트라이퍼에 대한 간단한 개선과 결합하여 HPE Apollo Gen9 클러스터를 사용하는 고객이 더 이상 Gen9 노드를 구매할 수 없을 때 클러스터를 계속 확장할 수 있도록 경로를 열 수 있었습니다.

앞으로 계속해서 시장에 출시되고 고객의 데이터 양이 계속해서 폭발적으로 증가함에 따라 모든 고객이 새로운 기술을 활용할 수 있도록 노드 호환성을 일반화하고 유연하게 설계된 시스템이 다음에 무엇이든지 처리하도록 조정할 수 있습니다.

상세보기

이러한 새로운 데이터 서비스가 실제로 작동하는지 보려면 당사에 가입하십시오. Q-Connect 독점 가상 이벤트 8월 16-XNUMX일! Q-Connect에서 참석자는 기술 전문가 및 Qumulo 고객과 실시간으로 연결하여 파일 데이터 플랫폼이 엔터프라이즈 데이터 관리를 근본적으로 단순화하는 방법을 확인할 수 있습니다.

원하시면 여기로 연락주세요 회의 설정 또는 데모 요청. 과 블로그 구독 더 유용한 모범 사례 및 리소스를 위해!

추신! Qumulo의 엔지니어링 팀은 채용 그리고 우리는 몇 가지 열린 채용 정보를 가지고 있습니다 – 그들을 확인하십시오 여기에서 지금 확인해 보세요. 자세히 알아보기 쿠물로에서의 삶.

관련 게시물

위쪽으로 스크롤