2.2 Deduplication & Compression (OSA)

vSAN Original Storage Architecture (OSA)를 사용하는 경우 vSAN의 중복 제거 및 압축(DD&C)이 클러스터 수준에서 단일 공간 효율성 기능으로 활성화됩니다. 이 프로세스는 쓰기 승인이 VM으로 다시 전송된 후 데이터가 용량 계층으로 디스테이징될 때 발생합니다. 승인이 전송될 때까지 모든 형태의 데이터 조작을 최소화하면 게스트 VM에서 나타나는 쓰기 대기 시간을 낮게 유지하는 데 도움이 됩니다.

참고: 현재  Express Storage Architecture (ESA)에서는 중복 제거를 사용할 수 없습니다. ESA는 스토리지 정책으로 활성화되는 더 나은 성능의 압축 기능을 제공합니다. 자세한 내용은 vSAN 8 Compression - Express Storage Architecture 게시물을 참조하세요.

vSAN OSA에서 데이터가 디스테이징됨에 따라 중복 제거 프로세스는 vSAN의 중복 제거 도메인인 디스크 그룹 내에서 찾은 4KB 데이터 블록을 중복 제거할 기회를 찾습니다. 이 작업 뒤에는 압축 프로세스가 수행됩니다. 4KB 블록을 50% 이상 압축할 수 있으면 그렇게 됩니다. 그렇지 않으면 그대로 두고 데이터를 용량 계층으로 계속 디스테이징합니다.

Figure01 Figure01

이러한 방식으로 DD&C를 구현하면 쓰기 승인을 게스트에 다시 보내기 전에 중복 제거를 수행하는 인라인 시스템에서 발견되는 성능 저하를 방지할 수 있습니다. 또한 이미 저장되어 있는 데이터를 중복 제거하는 문제도 방지됩니다. DD&C 프로세스는 쓰기 승인이 게스트 VM으로 전송된 후에 발생하지만 vSAN에서 이를 활성화하면 특정 상황에서 성능에 영향을 미칠 수 있습니다. 이에 대해서는 아래에서 설명합니다.

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

vSAN OSA는 2계층 분산 스토리지 시스템입니다. 수신 데이터는 최적의 성능을 위해 게스트로 즉시 다시 전송된 쓰기 승인과 함께 쓰기 버퍼에 기록되며, vSAN에서 결정한 시간과 빈도에 따라 용량 계층으로 분류됩니다. 이 아키텍처는 기가바이트/테라바이트 용량당 비용을 합리적으로 유지하면서 더 높은 수준의 스토리지 성능을 제공합니다.

Figure02 Figure02

vSAN과 같은 2계층 시스템에는 두 가지 이론적 성능 최대치가 있습니다. 버퍼 계층의 기능을 나타내는 버스트 속도와 용량 계층의 기능을 나타내는 정상 상태 속도입니다. 각 계층의 기본 하드웨어는 각 계층의 성능에 엄청난 영향을 미치지만 소프트웨어 설정, 애플리케이션 및 워크로드도 성능에 영향을 미칠 수 있습니다.

Figure03 Figure03

vSAN 호스트의 최대 성능은 최대 버스트 속도와 최대 안정 상태 속도 사이에 있습니다. HCIBench를 사용하여 장기간 합성 테스트를 수행하면 시간 기반 그래프를 볼 때 이러한 대략적인 값을 표시할 수 있을 만큼 환경에 스트레스가 가해집니다. 규모가 작은 설계에서는 프로덕션 워크로드가 이러한 최대값에 도달할 수 있습니다.

성능에 잠재적인 영향을 미칠 수 있습니다.

중복 제거 및 압축에는 노력이 필요합니다. 즉, 컴퓨팅 노력과 RAM 사용 및 그에 따른 추가 I/O가 필요합니다. 이는 구현 방법에 관계없이 적용됩니다. 단지 언제, 어디서, 어떻게 발생하는지에 따라 다릅니다. vSAN에서는 쓰기 버퍼의 데이터가 디스테이징되기 시작하면 이러한 노력이 발생하므로 해당 작업은 용량 계층에 대한 효과적인 디스테이징 처리량을 줄입니다. 이렇게 하면 클러스터가 제공할 수 있는 최대 정상 상태 속도가 낮아집니다. 즉, DD&C가 활성화된 클러스터는 훨씬 낮은 성능의 용량 계층 장치를 사용하는 DD&C가 비활성화된 클러스터와 유사한 성능을 가질 수 있습니다.

Figure04 Figure04

다른 모든 변수가 동일하게 유지된다고 가정할 때 용량 계층의 최대 정상 상태 속도를 낮추면 다음 동작이 나타납니다.

  • 용량 계층의 성능 저하로 인해 두 계층 간의 성능 델타가 증가했기 때문에 쓰기 버퍼가 더 빨리 채워질 수 있습니다.
  • 디스테이징 성능 저하로 인해 쓰기 버퍼의 디스테이징 속도가 더 느려집니다.
  • 디스테이징이 시작된 경우 게스트 VM의 쓰기 승인 시간(쓰기 대기 시간)이 영향을 받을 수 있습니다. 영향의 정도는 용량 계층에서 허용되는 디스테이징 속도를 포함한 여러 요소에 따라 달라집니다. 이 시나리오는 데이터의 집계 작업 집합이 버퍼 계층의 용량 또는 빠른 듀티 사이클을 훨씬 초과하여 용량 계층에 더 많은 요구 사항을 적용하는 경우 가장 일반적입니다.
  • 버퍼가 디스테이징 임계값에 도달하지 않은 경우 게스트 VM의 쓰기 승인 시간(쓰기 대기 시간)은 영향을 받지 않습니다. 이는 버퍼 계층 내에 잘 맞고 버퍼 디스테이징에 대한 부담이 크지 않은 소규모 집계 작업 데이터 집합에서 흔히 발생합니다.

vSAN OSA의 엘리베이터 알고리즘은 디스테이징 발생 여부, 시기 및 정도를 결정하는 데 도움이 되는 다양한 조건을 감지합니다. 점진적으로 데이터 디스테이징을 도입하고 가능한 한 빨리 진행되지는 않지만 필요한 만큼만 빠르게 진행됩니다. 이는 후속 덮어쓰기를 위해 버퍼에 핫 데이터를 유지하는 데 도움이 되며 불필요한 디스테이징 활동과 성능에 대한 잠재적인 영향을 줄여줍니다.

사용자 정의 옵션

vSAN의 아키텍처는 고객에게 요구 사항에 맞게 클러스터를 맞춤화할 수 있는 다양한 옵션을 제공합니다. 올바르게 설계하고 크기를 조정한다는 것은 요구 사항과 우선 순위를 명확하게 이해하는 것을 의미합니다. 예를 들어 특정 클러스터에서 용량이 우선순위가 더 높습니까, 아니면 성능이 더 높습니까? 이러한 우선순위가 기존 하드웨어 및 소프트웨어 설정에 반영되어 있습니까? 최고 수준의 성능을 원하지만 가장 낮은 등급의 구성 요소를 선택하는 동시에 공간 효율성 기술을 사용하는 것은 목표에 있어 충돌입니다. 공간 효율성은 용량 요구 사항을 달성하는 방법일 수 있지만 비용이 발생합니다.

우선순위가 설정되면 환경의 필요에 맞게 조정이 이루어질 수 있습니다. 여기에는 다음이 포함될 수 있습니다.

  • 용량 계층에서 더 빠른 장치. DD&C를 활성화했는데 예상된 VM 대기 시간보다 길다면 용량 계층에서 더 빠른 용량 디바이스를 고려하세요. 이는 DD&C가 활성화된 경우 용량 계층의 성능 저하를 방지하는 데 도움이 될 수 있습니다. 용량 계층에서 장치 성능이 부족하면 성능 문제가 발생하는 가장 일반적인 이유 중 하나입니다.
  • 더 많은 디스크 그룹을 사용하십시오. 이렇게 하면 버퍼 용량이 추가되어 핫 작업 세트 데이터의 용량이 늘어나고 데이터가 디스테이징되는 긴급성이 줄어듭니다. 최소 2개의 디스크 그룹이 필요하며 3개의 디스크 그룹이 선호되는 구성입니다.
  • 대규모 쓰기 버퍼 지원을 활성화하려면 vSAN 8로 업그레이드하세요. vSAN 8의 OSA는 디스크 그룹당 최대 논리적 버퍼 제한을 600GB에서 1.6TB로 늘렸습니다. 자세한 내용은 “Increased Write Buffer Capacity for the vSAN 8 Original Storage Architecture” 게시물을 참조하세요.
  • 용량 요구 사항을 충족하려면 용량 계층에 대한 최신 고밀도 스토리지 장치를 살펴보세요. 성능 요구 사항을 충족한다고 가정하면 이러한 새로운 밀도는 DD&C 사용 필요성을 상쇄할 수 있습니다. 자세한 내용은  vSAN Design Considerations - Using Large Capacity Storage Devices을 참조하십시오.
  • 최신 버전의 vSAN을 실행하세요. vSAN의 최신 버전은 DD&C를 실행하는 클러스터의 성능 개선, 즉 VM에 대한 지연 시간의 일관성을 개선하고 소프트웨어 최적화를 통해 디스테이징 속도를 높이는 데 중점을 두었습니다.
  • 일부 클러스터에서만 사용 설정하세요. 워크로드 요구 사항을 지원하기에 충분한 성능을 제공할 수 있는 하드웨어인 클러스터에서만 DD&C를 활성화하세요. 선택적으로 RAID-5/6과 같은 공간 효율적인 스토리지 정책을 가장 적합한 개별 워크로드에 적용할 수 있습니다. 삭제 코딩에도 성능 상충관계가 있습니다.