[번역] vSAN Design Considerations – Deduplication and Compression

출처 : https://blogs.vmware.com/virtualblocks/2020/06/18/vsan-design-considerations-deduplication-and-compression/

글 "Write Buffer Sizing in vSAN when Using the Very Latest Hardware"에서는 vSAN의 2계층 스토리지 시스템 구현에 대한 많은 기본 사항과 하드웨어가 시스템의 성능을 어떻게 변화시킬 수 있는지에 대해 설명하였다. 데이터 중복 제거 및 압축과 같은 소프트웨어 관련 설정이 성능에 미치는 영향 vSAN에서 구현되는 방식, 성능에 영향을 미칠 수 있는지 여부와 시기에 대한 이해도를 높이는 방법을 단계별로 살펴보겠다.

중복제거 및 압축이란?

데이터 중복 제거는 동일한 블록을 여러 번 저장하는 대신 중복 블록이 하나 이상 발견될 때를 감지해 해시 테이블을 이용해 데이터 구조의 단일 블록을 참조하는 기법이다. 데이터 압축은 데이터 블록 내의 콘텐츠와 같이 주어진 양의 데이터를 필요로 하며, 보다 효율적인 방법으로 데이터를 저장하기 위해 인코딩 기법을 사용한다. 이 두 기법은 서로 무관하지만 비슷한 목표인 공간 효율을 달성하려고 시도한다.

공간 효율성이 구현되는 방법은 솔루션에 따라 다르며, 공간 절약의 수준과 그 결과를 얻기 위해 필요한 노력에 영향을 미칠 수 있다. 어떤 방법을 구현하든 중복제거 기술과 압축 기술은 모두 기회주의적 공간 효율성 기능이다. 용량 절감 수준은 보장되지 않는다. 반면 RAID-5 또는 RAID-6와 같은 삭제 코드를 사용하는 데이터 배치 기술은 결정론적이다. 그것들은 탄력적인 방법으로 저장된 데이터에 대해 보장된 수준의 공간 효율을 제공한다.

vSAN에서 구현되는 방법

vSAN의 중복제거 및 압축(DD&C)은 클러스터 수준에서 단일 공간 효율성 기능으로 실행되며, 이 프로세스는 데이터가 용량 계층으로 디스테이징될 때 수행되며, 이는 쓰기 승인 내용이 VM에 다시 전송된 다음이다. 수신확인이 전송될 때까지 모든 형태의 데이터 조작을 최소화하면 게스트 VM에서 보이는 쓰기 지연 시간을 낮게 유지할 수 있다.

데이터가 저장되면 중복 제거 프로세스는 디스크 그룹 내에서 발견된 4KB 데이터 블록(vSAN의 중복 제거 도메인)을 중복 제거할 수 있는 기회를 모색한다. 이 작업은 압축 프로세스를 따른다. 4KB 블록을 50% 이상 압축할 수 있다면 그렇게 할 것이다. 그렇지 않으면 그대로 유지되며 데이터를 용량 계층으로 계속 디스테이징할 수 있다.

Figure01.gif

그림 1. 디스테이징 프로세스 중 데이터 중복 제거 및 압축

이러한 방식으로 DD&C를 구현하면 쓰기 승인을 게스트로 다시 보내기 전에 중복제거를 수행하는 인라인 시스템에서 발견된 성능 저하를 방지할 수 있다. 또한 이미 유휴 상태인 데이터를 중복 제거해야 하는 문제도 피할 수 있다. DD&C 프로세스는 쓰기 승인을 게스트 VM에 전송한 후 수행되지만 vSAN에서 이를 사용하도록 설정하면 특정 상황에서 성능에 영향을 줄 수 있으며, 이 프로세스는 아래에서 설명하기로 한다.

2계층 스토리지 시스템 기본 사항

vSAN은 2계층 분산 스토리지 시스템(two-tier distributed storage system)이다. 수신 데이터는 최적의 성능을 위해 게스트로 즉시 전송되는 쓰기 승인 정보를 사용하여 쓰기 버퍼에 기록되며, vSAN에서 결정한 시간과 빈도에 용량 계층으로 전송된다. 이 아키텍처는 용량에서 기가바이트/테라바이트당 비용을 합리적으로 유지하면서 더 높은 수준의 스토리지 성능을 제공한다.