하드웨어 스토리지 고려사항(Hardware Storage Considerations)

백엔드 스토리지 구성은 성능에 큰 영향을 미칠 수 있다. 스토리지 구성에 대한 자세한 내용은 VMware vSphere 6.7용 vSphere Storage 문서를 참조하기 바란다.

예상보다 낮은 스토리지 성능은 ESXi와 관련된 문제가 아니라, 기본 스토리지 디바이스의 구성 문제로 인해 발생하는 경우가 가장 많다.

스토리지 성능은 워크로드, 하드웨어, 벤더, RAID 레벨, 캐시 크기, 스트라이프 크기 등에 따라 달라지는 방대한 주제다. 스토리지 벤더뿐 아니라 VMware의 적절한 설명서를 참조하기 바란다.

많은 워크로드가 I/O 작업의 지연 시간에 매우 민감하다. 따라서 저장 장치를 올바르게 구성하는 것이 중요하다. 이 절의 나머지 부분에는 최적의 스토리지 성능을 위해 VMware에서 권장하는 사례 및 구성이 나열되어 있다.

  • VMware Storage vMotion 성능은 사용 가능한 스토리지 인프라 대역폭에 크게 좌우된다. 따라서 배포를 계획할 때는 "VMware vMotion 및 Storage vMotion"에 있는 정보를 고려해 보기 바란다.
  • vSphere Flash Infrastructure 계층에 플래시 디바이스를 제공하는 것을 고려한다. 이 계층은 호스트 스왑 파일("Memory Overcommit Techniques"에서 설명)과 vSphere Flash Read Cache(vFRC) 파일("vSphere Flash Read Cache(vFRC)"에서 설명)을 저장하는 데 사용할 수 있다.

vSphere Flash Infrastructure 계층은 PCIe 플래시 카드 또는 SAS 또는 SATA 연결 SSD 드라이브로 구성될 수 있으며, PCIe 플래시 카드는 일반적으로 SSD 드라이브보다 성능이 우수하다.

  • NVMe(Non-Volatile Memory Express) 프로토콜을 사용하는 PCIe 플래시 카드를 선택하는 것을 고려한다(vSphere 6.7의 NVMe 지원 및 고성능 플러그인 사용에 대한 자세한 내용은 "NVMe Recommendations" 참조).
  • 4K 네이티브(4Kn)와 512B 에뮬레이션(512e) 드라이브는 장점과 한계를 가지고 있다. 특히 워크로드가 대부분 4K 정렬 I/O를 실행하지 않으면, 이러한 드라이브의 성능이 저하될 수 있다. 이 주제에 대한 자세한 내용은 VMware KB 문서 2091600을 참조하거나 http://docs.vmware.com에서 "Device Sector Formats"을 찾아보기 바란다.
  • VASA(vStorage APIs for Storage Awareness)를 지원하는 스토리지 하드웨어를 선택하여 VVol을 사용할 수 있도록 한다("VMware Virtual Volumes(VVols)"에서 설명).

VVol 성능은 스토리지 하드웨어 벤더마다 크게 다르므로 선택한 스토리지 하드웨어가 예상하는 VVol 성능을 제공하는지 확인한다.

  • VMware VAAI(vStorage APIs for Array Integration)를 지원하는 스토리지 하드웨어를 선택하여 일부 작업을 ESXi에서 수행하는 대신 스토리지 하드웨어로 오프로드할 수 있도록 하는 것을 고려한다.

개선 정도는 스토리지 하드웨어에 따라 다르지만 VAAI는 스토리지 확장성을 향상시키고, 여러 유형의 스토리지 작업에 대한 스토리지 지연 시간을 줄일 수 있으며, 스토리지 작업에 대한 ESXi 호스트 CPU 활용률을 낮출 수 있으며, 스토리지 네트워크 트래픽을 줄일 수 있다.

SAN에서 VAAI는 다음과 같은 기능을 제공한다.

  • 확장 가능한 잠금 관리("하드웨어 지원 잠금", "Atomic Test & Set" 또는 ATS)는 메타데이터 업데이트를 수행할 때 VMFS 볼륨의 SCSI 예약 사용을 대체한다. 이는 잠금 관련 오버헤드를 줄여 많은 관리 작업을 가속화하고 씬 VMDK의 I/O 성능을 향상시킬 수 있다. ATS는 씬 디스크의 확장, 스냅샷 생성 및 기타 작업과 같은 프로비저닝 작업을 가속화함으로써 매우 큰 배포의 확장성을 향상시키는 데 도움이 된다.
  • Extended Copy("full copy", "copy offload", XCOPY라고도 함)은 데이터를 호스트와 주고받아야 하는 것이 아니라 어레이에서 완전히 복사 작업을 수행할 수 있도록 한다. 이는 Storage vMotion과 같이 복제에 의존하는 작업을 획기적으로 가속화하는 동시에 호스트의 CPU 및 I/O 리소스를 확보할 수 있다.

블록 제로화("Write Same"라고도 함)는 eager-zeroed 씩 디스크의 생성 속도를 높이고, lazy-zeroed 씩 디스크와 씬 디스크에서 처음 쓰기 성능을 향상시킬 수 있다.

Dead space reclamation(UNMAP 명령 사용)를 통해 호스트는 더 이상 사용되지 않는 블록을 스토리지로 전송할 수 있다. 어레이 측에서 씬 프로비저닝된 LUN에서는 스토리지 어레이 하드웨어가 더 이상 필요하지 않은 블록을 재사용할 수 있다.

이 맥락에서 "씬 프로비저닝"은 스토리지 어레이의 LUN을 말하며, "Virtual Disk Types"에 설명되어 있는 씬 프로비저닝 VMDK와 구별된다.

NAS 기기에서 VAAI는 다음과 같은 기능을 제공한다.

  • 하드웨어 가속 복제("Full File Clone", "Full Copy", "Copy Offload"라고도 함)를 통해 NAS 기기에서 가상 디스크를 복제할 수 있다. 이렇게 하면 호스트의 리소스를 절약하고 복제에 의존하는 워크로드의 속도를 높일 수 있다(Storage vMotion은 NAS 장치에서 이 기능을 사용하지 않음).
  • 네이티브 스냅샷 지원("Fast File Clone"이라고도 함)은 VMware redo 로그 대신 네이티브 스냅샷 디스크를 사용하여 가상 머신 링크드 클론 또는 가상 머신 스냅샷을 생성할 수 있다. 가상 하드웨어 버전 9 이상에서 가상 시스템을 실행해야 하는 이 기능은 NAS 디바이스로 작업을 오프로드하여 ESXi 호스트의 I/O 트래픽 및 리소스 사용량을 줄인다.

NAS 네이티브 스냅샷 디스크를 사용하여 가상 머신 스냅샷을 처음 생성하는 것은 VMware redo 로그로 스냅샷을 생성하는 것보다 느리다. 이러한 성능 영향을 줄이려면 NAS 네이티브 스냅샷을 사용하여 가상 시스템의 스냅샷을 생성하는 동안 가상 시스템에서 과도한 쓰기 I/O 로드를 방지할 것을 권장한다.
마찬가지로 NAS 네이티브 스냅샷을 사용하여 연결된 클론을 생성하는 것은 redo 로그를 사용하는 동일한 작업보다 약간 느릴 수 있다.

  • 예약 공간을 사용하면 ESXi에서 가상 디스크를 생성할 때 가상 디스크에 대한 공간을 완전히 사전 할당할 수 있다. 따라서 VAAI NAS 기기는 비 VAAI NAS 기기가 지원하는 씬 프로비저닝 외에도 느리게 비워지는 씩 프로비저닝과 빠르게 비워지는 씩 프로비저닝도 지원한다.
  • 통계 확장 기능을 통해 NAS 데이터스토어의 공간 사용 현황을 파악할 수 있다. 이는 vSphere가 초과 구독 데이터스토어의 실제 사용량을 표시할 수 있기 때문에 씬 프로비저닝된 데이터스토어에 특히 유용하다.

VAAI에 대한 자세한 내용은 VMware vSphere Storage API - Array Integration(VAAI)을 참조한다(vSphere 5.1용으로 작성되었지만 대부분의 컨텐츠는 vSphere 6.7에 적용됨). ESXi에서 VAAI를 사용하는 방법을 구성하는 방법에 대한 자세한 내용은 "ESXi Storage Consideration"을 참조하기 바란다.

  • VMware vSAN을 사용하려는 경우 All-Flash vSAN 배포와 하이브리드 배포의 이점을 고려하십시오("Hybrid versus All-Flash vSAN" 참조).
  • 가상 시스템 암호화를 사용하려는 경우("vSphere Virtual Machine Encryption Recommendations" 참조) AES-NI 프로세서 명령 집합 확장을 지원하는 하드웨어를 선택한다. 자세한 정보는 13페이지의 "AES-NI Support" 참조.
  • 스토리지 네트워크의 성능 설계는 논리적 할당이 아니라 네트워크의 물리적 제약을 고려해야 한다. VLAN 또는 VPN을 사용하는 것은 공유 구성의 링크 초과 구독 문제에 대한 적절한 해결책을 제공하지 않는다. VLAN과 네트워크의 다른 가상 파티셔닝은 네트워크를 논리적으로 구성하는 방법을 제공하지만, 스위치 간의 링크와 트렁크의 물리적 기능은 변경하지 않는다.

그러나 VLAN과 VPN은 초과 구독은 제거하지 않지만 대역폭을 특정 트래픽에 우선하거나 비례적으로 할당할 수 있는 방법을 제공하는 QoS(네트워크 서비스 품질) 기능을 사용할 수 있도록 허용한다. 이 문제에 대한 다른 접근 방법은 "Network I/O Control(NetIOC)"를 참조.

  • 성능 문제를 방지할 수 있도록 엔드 투 엔드 파이버 채널 속도가 일치하는지 확인한다. 자세한 내용은 VMware KB 문서 1006602를 참조하십시오.
  • Fibre Channel HBA 카드에 필요한 경우 최대 대기열 크기를 구성하십시오. 자세한 내용은 VMware KB 문서 1267을 참조하십시오.
  • 데이터 수집 또는 트랜잭션 기록 시스템과 같이 스토리지에 대량의 데이터를 쓰는 애플리케이션이나 시스템은 다른 애플리케이션이나 시스템과 스토리지 장치에 대한 이더넷 링크를 공유하지 않아야 한다. 이러한 유형의 애플리케이션은 스토리지 디바이스에 대한 전용 연결로 최적의 성능을 발휘한다.
  • iSCSI 및 NFS의 경우 네트워크 토폴로지에 이더넷 병목 현상이 없는지 확인하십시오. 여기서 여러 링크가 더 적은 링크를 통해 라우팅되어 과다 구독이 발생하고, 네트워크 패킷이 손실될 수 있다. 근사 용량을 전송하는 다수의 링크가 더 적은 수의 링크로 전환될 때마다, 그러한 과다 구독은 가능하다.

이렇게 손실된 네트워크 패킷을 복구하면 성능이 크게 저하된다. 데이터가 삭제되었는지 확인하는 데 걸리는 시간 외에도, 재전송은 새로운 거래에 사용될 수 있는 네트워크 대역폭을 사용한다.

  • Software-initiated iSCSI 및 NFS에서는 네트워크 프로토콜 처리가 호스트 시스템에서 수행되므로 다른 스토리지 옵션보다 더 많은 CPU 리소스가 필요할 수 있다는 점에 유의한다.
  • 로컬 스토리지 성능은 Write-Back 캐시를 통해 향상될 수 있다. 로컬 스토리지에 쓰기 백업 캐시가 설치되어 있는 경우 해당 캐시가 활성화되어 있고 기능적인 배터리 모듈이 포함되어 있는지 확인하십시오. 자세한 내용은 VMware KB 문서 1006602를 참조하십시오.
  • 스토리지 어댑터 카드가 예상 처리량을 지원할 수 있을 만큼 대역폭이 충분한 슬롯에 설치되어 있는지 확인하십시오. PCI, PCI-X, PCI Express(PCIe) 및 PCIe 3.0(PCIe Gen3)을 포함하여 유사하지만 호환되지 않을 수 있는 버스 아키텍처를 구분하고 둘 이상의 너비를 지원할 수 있는 아키텍처의 "레인" 수를 반드시 기록한다.

예를 들어, 전체 대역폭 잠재력을 공급하기 위해 단일 포트 32Gb/s 파이버 채널 HBA 카드는 최소 PCIe 2세대 x8 또는 PCIe 3세대 x4 슬롯(각 방향에서 최대 32Gb/s의 순 최대치가 가능한)에 설치해야 하며 이중 포트 32Gb/s 파이버 채널 HBA 카드는 최소 PCIe 3세대 x8 슬롯 이상에 설치해야 한다(각 방향에서 최대 64Gb/s의 순 최대치가 가능).

이러한 고성능 카드는 일반적으로 느린 PCIe 슬롯에서도 작동하지만 최대 처리량은 슬롯의 가용 대역폭에 의해 제한될 수 있다. 이는 블록 크기가 큰 I/O를 많이 사용하는 워크로드에 가장 적합하며, 이 카드들이 가장 높은 처리량을 개발하는 경향이 있기 때문이다.


Revision #1
Created Sun, Jan 5, 2020 7:21 AM by ikhwan.koo
Updated Sun, Jan 5, 2020 8:40 AM by ikhwan.koo