VMware vSAN

[번역] Write Buffer Sizing in vSAN when Using the Very Latest Hardware

출처 : https://blogs.vmware.com/virtualblocks/2019/10/01/write-buffer-sizing-vsan/

번역이 생각보다 잘 안되내요. 마지막에 있는 "추천 사항" 내용이 핵심입니다!

매년 VMworld에서 프레젠테이션을 할 수 있는 특권 중 하나는 vSAN 고객에게 가장 중요한 질문을 듣고 답변할 수 있는 기회다. 올해도 확실히 다르지 않았다. 예상보다 몇 번 더 나온 질문은 다음과 같다:

"Does the speed of my buffer device used in a disk group change how I should size the buffer devices used for my vSAN cluster?"

대답은 ""다. 그러나 이 대답을 좀 더 자세히 탐구해서 왜 이런 것인지 제대로 알아보겠다. 단순성을 위해 이 게시물은 All-Flash 기반 vSAN 클러스터에서 쓰기 I/O의 성능에 초점을 맞춘다.

2계층 스토리지 시스템의 목적

칩셋에서 네트워크 및 스토리지 시스템에 이르기까지 데이터센터 전체에 캐싱 및 버퍼링이 존재한다. 개념적으로, 2계층 스토리지 시스템의 이면에 있는 이유는 간단하다. 이 아키텍처는 기가바이트/테라바이트 용량당 비용을 합리적으로 유지하면서 더 높은 수준의 스토리지 성능을 제공한다.

그림 1과 같이 다음을 통해 이를 달성한다.

Figure01.png

그림 1 : 2계층 스토리지 시스템

접근방식에 따라, 2계층 아키텍처는 버퍼 계층에서 수행되는 데이터 조작 또한 최소화할 수 있다. 처리가 감소하고 쓰기가 버퍼에 더 빠르게 흡수되어 VM에서 볼 수 있는 유효 지연 시간이 감소한다. 2계층 설계를 통해 VM에 대한 즉각적인 성능 저하 없이 데이터가 용량 계층으로 디스테이징될 때 중복제거 및 압축과 같은 데이터 서비스를 수행할 수 있다 - VMware가 이 설계를 선택한 또 다른 이유

기본적으로 2계층 스토리지 시스템의 이론적 최대 속도는 두 가지가 있다. 버퍼링 계층의 속도 및 용량 계층의 속도. VM에 제공되는 전체 성능을 정의하는 데 도움이 되는 두 계층의 조합이다. 버스트할 버퍼 계층이 없으면 지연 시간이 증가하고, 그림 2와 같이 I/O가 더 긴 시간 동안 분산된다.

Figure02.png

그림 2 : 2계층 시스템에서 버스트 I/O 활동의 시각화

버퍼링 계층이 제공하는 버스트 성능의 지속 기간은 무한정 지속되지 않는다. 이는 버퍼 계층이 들어오는 쓰기를 흡수할 수 있는 만큼, 빠르게 데이터를 느린 성능의 용량 계층으로 이동할 수 없기 때문이다. 버스트 성능이 지속되는 기간은 버퍼로 들어오는 I/O 양, 버퍼 크기 및 용량 계층에 대한 배출 속도/성능에 따라 달라진다. 배수 속도(drain rate)는 주로 용량 계층을 구성하는 가치 기반 장치의 섭취 속도에 의해 결정된다.

좋은 소식은 생산 작업 부하가 I/O 활동에서 버스티(busty)하고, 진동(oscilate)하는 경향이 있다는 것이다. 이를 통해 2계층 접근방식은 활동이 적은 시간에 쓰기를 디스테이지해서, 2계층 시스템의 원하는 결과를 얻을 수 있다: 테라바이트당 비용 절감을 위한 최고 수준의 성능. 이러한 유형의 버스트 동작이 있는 워크로드가 충분하거나 또는 쓰기 패턴이 지속되는 워크로드가 일부 있는 경우에는 VM에서 요청하는 정상 상태 속도는 용량 계층에 사용되는 정상 상태 I/O 기능 하드웨어를 초과할 수 있다.

가장 최신 버퍼 디바이스로 클러스터를 업그레이드하면 디스테이징 속도는 동일하게 유지되는 동안 쓰기가 더 빨리 흡수될 수 있다(잠재 시간 단축). 이는 그림 3과 같이 두 계층 사이의 성능 델타를 증가시킨다. 워크로드가 자원을 요구한다고 가정할 때, 이것은 더 빠른 버퍼 장치가 느린 버퍼 장치보다 더 빨리 채워질 수 있다는 것을 의미한다. VM에 더 나은 성능을 제공할 수 있지만, 시간은 짧다.

Figure03.png

그림 3 : 버퍼 계층과 용량 계층 간의 성능 델타

버퍼 계층과 용량 사이의 성능 델타가 증가하면 버퍼의 채우기 속도도 증가한다.

vSAN의 2계층 스토리지 시스템 구현

vSAN이 사용하는 2계층 아키텍처는 위에서 설명한 바와 같이 고객이 가장 최신의 고성능 기술을 저렴한 방법으로 이용할 수 있도록 한다. vSAN의 2계층 아키텍처는 디스크 그룹 개념을 사용한다. 캐싱/버퍼링에 사용되는 하나의 디바이스와 용량에 사용되는 1-7개의 디바이스의 논리적 구성이다. vSAN은 다음을 허용한다.그림 4와 같이 호스트당 디스크 그룹 5개까지다.

Figure04-768x433.png

vSAN은 디스크 그룹의 버퍼링 디바이스에 대한 논리적 제한이 600GB이다. All-Flash vSAN 클러스터에서는 전체 용량(최대 600GB)이 쓰기 버퍼링을 위해 예약되어 있다. 버퍼링 계층은 아직 용량 계층으로 디스테이징되지 않은 읽기를 가져오는 캐시 역할을 한다. 버퍼 장치의 논리적 한계인 600GB가 존재하지만, 600GB보다 큰 장치를 쉽게 사용할 수 있으며, 일반적으로 사용된다. 이렇게 하면 기기의 쓰기 내구성이 향상된다.

데이터는 vSAN에 의해 결정된 다양한 조건에 따라 디스테이징된다. 이 비동기식 태스크는 데이터를 즉시 디스테이징하지 않으므로 자주 쓰는 데이터에서 용량 계층으로 쓰기를 확대하지 않고 동일한 블록 덮어쓰기가 발생할 수 있다. 실제 워크로드에서는 많은 수의 쓰기가 동일한 블록 덮어쓰기가 될 수 있다. 이러한 동작은 vSAN의 논리와 대규모 버퍼와 결합되어 용량 계층의 리소스 부담을 더욱 줄일 수 있다. 그러나 버퍼 용량을 극대화하는 구성의 또 다른 이점.

디스테이징에 영향을 미치는 요인 중 하나는 디스테이징되지 않은 들어오는 쓰기에 의해 버퍼에서 소비되는 용량의 비율이다. 버퍼 용량 장치가 작을수록 또는 버퍼 장치가 빠를수록 더 빠르게 채워지고 더 빨리 디스테이징되기 시작한다. 그것이 빨리 파괴되기 시작할수록 성능은 더 이상 버퍼가 제공하는 피크 레벨에 있지 않을 수 있다.

그래, 정확히 읽었구나. 아무것도 변하지 않은 2계층 아키텍처에서, 훨씬 더 빠른 버퍼 장치를 도입하는 것은 기능적으로 더 작고 약간 느린 버퍼 장치와 유사하다. 따라서 환경에 고성능 버퍼링 장치를 도입할 때 더 빠른 계층의 이점을 완벽하게 실현하기 위해 어떤 옵션을 사용할 수 있는지 이해하십시오.

추천 사항

버퍼 계층의 유일한 목적은 vSAN 클러스터로 구동되는 VM에 향상된 성능을 제공하는 것이다. 더 빠른 버퍼 디바이스로 이동하여 성능을 더욱 개선할 필요가 있는 경우, 새로운 버퍼 디바이스가 다른 하드웨어 구성 요소 또는 구성에 불필요하게 제약되지 않도록 호스트 설계를 다시 검토하는 것이 현명한 단계다. 항목의 쉬운 체크리스트에는 다음이 포함된다.

특정 하드웨어 구성의 성능은 애플리케이션의 요구 사항 및 클러스터 구성에 따라 다르다는 점에 유의하십시오. 애플리케이션의 쓰기 버스트 기간이 매우 짧거나 용량 계층의 성능이 상당히 우수할 수 있다. 그러한 경우 더 빠른 버퍼 장치의 완전한 편익을 실현하기 위해 더 이상의 조정이 필요하지 않을 수 있다.

요약

쓰기 버퍼링은 용량 비용을 합리적으로 유지하면서 더 높은 성능을 제공하는 매우 효과적인 방법이다. vSAN과 같은 2계층 스토리지 시스템을 통해 버퍼 계층에서 가장 빠른 최신 스토리지 디바이스를 도입함으로써 VM에 더 낮은 지연 시간을 제공하는 쓰기를 보다 빠르게 인식할 수 있다. 이러한 고성능 기기를 통해 충분한 버퍼 용량을 확보하도록 하는 것은 성능 이점을 충분히 실현할 수 있도록 하는 좋은 단계다.

 

[번역] Observing Capacity Changes in vSAN

출처 : https://blogs.vmware.com/virtualblocks/2019/07/23/observing-capacity-changes-in-vsan

vSAN 클러스터의 개체에 스토리지 정책을 정의하고 적용할 때 일부 정책 정의가 지정된 정책이 할당된 오브젝트(VM, VMDK 등)에서 소비하는 스토리지 용량에 영향을 미친다는 것을 알 수 있다. 왜 이런 일이 일어나는지, 그리고 여러분의 환경에서 무엇을 찾아야 하는지 알아보고자 한다.

정책 및 해당 정책이 소비 용량에 미치는 영향

vSAN은 공간 효율성에 사용되는 데이터 배치 체계(RAID-1 미러링 또는 RAID-5/6 삭제 코딩)와 복원력 수준을 구성할 수 있다는 점에서 다른 기존 스토리지 시스템과 비교할 때 독특하다. 이러한 구성은 스토리지 정책에 정의되며 VM 그룹, 단일 VM 또는 단일 VMDK에 할당된다.

스토리지 정책 조정으로 인한 용량 변경은 일시적이거나 영구적일 수 있다.

정책 변경의 결과로 일시적 및 영구적 변화가 발생하는 방법을 더 잘 이해하려면 그림 1을 참조하기 바란다. 여기서는 RAID-1 미러에서 RAID-5 이레이저 코드로 변환하는 오브젝트를 볼 수 있다. 이 경우 두 가지 모두 1의 허용오차 수준을 제공하지만, RAID-5 데이터 배치 체계로의 전환은 이 결과를 달성하기 위해 임시 공간(그림에서 "오버헤드"로 표시됨)을 소비한다는 것을 의미한다. 완료되면 임시 공간이 더 이상 사용되지 않는 것을 볼 수 있으며, 원래 RAID-1 미러보다 공간 효율적인 데이터 배치 체계를 사용하고 있기 때문에 개체는 이제 전체 용량을 덜 소비한다.

Figure01-2.png

그림 1 : 스토리지 정책의 변경이 스토리지 용량에 어떤 영향을 미치는지에 대한 이해

스토리지 정책 변경에 사용되는 임시 공간과 영구 공간은 동시에 변경되는 개체 수 및 해당 개체에 사용되는 각 용량을 반영한다. 필요한 임시 공간은 재동기화의 결과물이다. 스토리지 정책의 이러한 규범적인 특성 때문에 vSAN은 vCenter, vRealize Operations 및 PowerCLI에서 관찰된 바와 같이 데이터스토어가 제공하는 물리적 용량을 제공한다.

사용량 추정

vSAN 성능 서비스는 원하는 정책을 선택할 때 사용 가능한 가용 용량을 추정하는 데 도움이 되는 사용하기 쉬운 도구를 제공한다. 원하는 스토리지 정책을 선택하면 해당 정책을 사용하여 사용 가능한 여유 용량을 추정할 수 있다. VMware에서 권장하는 슬랙 스페이스(slack space)에 필요한 여유 공간은 고려하지 않는다.

Figure02.png
그림 2 : vCenter의 vSAN UI에서 정책 계산기로 계산한 사용 가능한 용량.

 

추정자는 단일 정책에 따라 추정치를 제공하는 것으로 제한되지만, 클러스터에 남아 있는 사용 가능 용량을 더 잘 이해하는 방법에 있어 매우 유용할 수 있다.

스토리지 정책 변경의 결과로 변경된 사용량 관찰

스토리지 용량 변경을 보는 방법은 여러 가지가 있다. 다음은 vCenter 및 vRealize Operations를 모두 사용하여 스토리지 정책 변경을 통해 변경된 용량을 관찰하는 방법을 보여 준다.

이 예에서는 RAID-1 미러를 통해 FTT=1을 사용하여 스토리지 정책을 사용하던 VM 그룹이 RAID-5 이레이저 코드 체계를 통해 FTT=1을 사용하여 다른 스토리지 정책으로 변경되었다. vCenter에서 vSAN 클러스터를 선택하고 Monitor > vSAN > Performance > Backend 를 선택하면 그림 3과 같이 정책 변경의 결과로 발생한 재동기화 작업이 나타난다.

Figure03.png
그림 3 : 스토리지 정책 변경으로 인한 재동기화 I/O 작업 관찰

 

vCenter의 용량 기록을 보면 정책 변경으로 인해 새 RAID-5 기반 개체를 구축하는 데 더 많은 공간이 임시로 사용되었음을 알 수 있다. 재동기화가 완료되면 이전 객체 데이터가 제거된다. 중복제거와 압축이 적용되기 시작하고, 사용 가능한 용량이 회수된다. 아래 그림 4는 vCenter에서 이 정보를 표시하는 방법을 보여준다.

Figure04.png
그림 4 : 재동기화 이벤트의 결과로 vCenter를 사용하여 클러스터 용량 활용도 관찰

vR Ops에 있는 vSAN Capacity Overview 대시보드의 클러스터 사용률 위젯에도 동일한 결과가 표시된다. 그림 5는 vR Ops에 표시된 정보를 보여준다. vR Ops는 상황에 맞는 "스파크라인"을 통해 중복제거 및 압축을 통한 중복제거 및 압축 절감 및 스토리지 활용률을 정확하게 분석하는 추가 세부 정보를 제공한다. 아래 그림 5는 vR Ops에 표시되는 방법을 보여준다.

Figure05.png
그림 5 : vR Ops를 사용하여 재동기화 이벤트의 결과로 클러스터 용량 활용도 관찰

X축에 표시된 창의 한계, Y축의 다른 값, X축과 Y축의 다른 스케일링 등 세 가지 이유로 인해 서로 다른 뷰가 동일한 데이터를 다르게 표현할 수 있다는 점에 유의한다. 이는 지표들이 인터페이스인 다양한 애플리케이션에서 일관성이 있음에도 불구하고 동일한 데이터가 시각적으로 다르게 보일 수 있는 이유다.

권장 사항 : 단순한 중복제거 및 압축 비율이 아닌 스토리지 정책 변경 후 사용된 전체 용량을 살펴본다. 이레이저 코드와 같은 공간 효율성 기술은 중복제거 및 압축 비율을 낮출 수 있지만 실제로 사용된 공간을 줄임으로써 공간 효율성을 개선할 수 있다. 이 항목에 대한 자세한 내용은 StorageHub의 vSAN 환경에서 vRealize Operations 및 Login Insight에 대한 작업 지침의 "Analyzing Capacity Utilization with vRealize Operations"을 참조하기 바란다.

요약

스토리지 정책을 사용하면 관리자가 VM, 단일 VM 또는 단일 VMDK 중에서 다양한 수준의 보호 및 공간 효율성을 설정할 수 있다. 개체에 서로 다른 스토리지 정책을 할당하면 vSAN 데이터스토어에서 소비하는 유효 공간의 양에 영향을 미칠 수 있다. vCenter 및 vR Ops 모두 관리자가 vSAN 클러스터 전반에서 스토리지 용량 소비를 더 잘 이해할 수 있도록 지원하는 방법을 제공한다.

 

 

 

스토리지 콘트롤러 가상 어플라이언스 형태 HCI의 단점

HCI(Hyper-Converged Infrastructure)는 스토리지에는 일반적으로 전용 스토리지 어레이로 오프로드(offload)되었던 컴퓨팅 리소스가 필요합니다. 거의 모든 다른 HCI 솔루션들은 클러스터의 일부 또는 모든 호스트에 스토리지 가상 어플라이언스를 배포해야 합니다. 이 어플라이언스는 각 호스트에서 스토리지 서비스를 제공합니다. 

스토리지 어플라이언스는 일반적으로 다른 가상머신과 자원 경합을 방지하기 위해서 전용 CPU 그리고(또는) 메모리를 필요로 합니다. 그로인해 스토리지 가상 어플라이언스가 실행되는 클러스터에 있는 모든 호스트에서 일반적인 가상 머신 워크로드를 수행하는데 사용될 컴퓨팅 리소스가 감소합니다. 스토리지 가상 어플라이언스가 존재함으로서 통합 비율은 낮아지고 TCO(Total Cost of Ownership)은 증가하고, 일반적으로 가상머신의 워크로드에 사용할 같은 리소스를 갖고 경쟁하게 됩니다. 

또한 스토리지 어플라이언스는 추가적인 지연(latency)을 발생시켜, 성능에 나쁜 영향을 주게 됩니다. 이것은 그림에 나오는 것 처럼 쓰기 작업을 처리하고 복제하는데 많은 단계를 필요로하기 때문입니다.

hci-1.png

vSAN은 vSphere Hypervisor에 기본 내장 됨

vSAN은 클러스터의 모든 호스트에 스토리지 가상 어플라이언스 또는 VIB(vSphere Installation Bundle)을 배포할 필요가 없습니다. vSAN은 vSphere 하이퍼바이저에 기본적으로 내장되어 있고, 일반적으로 각 호스트의 10% 이하의 리소스만 소비합니다.

vSAN은 다른 가상 머신과 리소스를 경쟁하지 않고, I/O 경로가 더 짧습니다.

hci-2.png

vSAN은 I/O 경로가 짧고, 리로스 집약적인 스토리지 가상 어플라이언스가 필요 없습니다. 그로 인해 최소한의 오버헤드로 탁월한 성능을 제공합니다. 또한 높은 가상 시스템 통합비율을 통해서 낮은 총소유비용(TCO)를 낮춥니다.

vSAN 6.7 Update 1 Technical Overview 내용 중 일부를 정리한 것입니다.

Troubleshooting vSAN Performance

스토리지허브(https://storagehub.vmware.com)에 새로운 문서가 올라와서 소개합니다. 다음과 같이 크게 5단계로 나누어서 문제를 해결해나가는 방법을 설명하고 있습니다. 기존의 메뉴얼 보다 알기쉽게 구성되어 있어 좋은 것 같습니다.