1.2 CPU Hardware Considerations
이 섹션에서는 vSphere 8.0 업데이트 1과 함께 사용할 CPU에 대한 지침을 제공합니다.
일반 CPU 고려 사항
하드웨어를 선택할 때는 VMware vSphere® vMotion™(DRS, DPM 및 기타 기능에 영향을 미침) 및 VMware Fault Tolerance에 대한 CPU 호환성을 고려하는 것이 좋습니다. 75페이지의 “VMware vMotion 및 스토리지 vMotion”, 78페이지의 “VMware DRS(분산 리소스 스케줄러)” 및 88페이지의 “VMware Fault Tolerance"를 참조하십시오.
사이드-채널(Side-Channel) 취약성
“사이드 채널 취약성"으로 통칭되는 보안 취약성 클래스가 많은 최신 CPU에서 발견되었습니다. 여기에는 일반적으로 Spectre, Meltdown, Foreshadow, L1TF 등으로 불리는 취약점이 포함됩니다. 이러한 취약점에 대한 완화 조치 중 일부는 성능에 상당한 영향을 미칠 수 있습니다. 이 주제는 복잡하고 끊임없이 변화하는 특성으로 인해 이 책에서 자세히 다루지 않았습니다. VMware 제품과 관련된 이러한 취약성에 대한 최신 정보는 필요에 따라 업데이트되는 VMware KB 문서 52245, 54951 및 55636을 참조하십시오.
이러한 취약점은 다양한 방법으로 시스템의 여러 부분에서 완화할 수 있습니다. 취약성의 변종에 따라 하드웨어, 마이크로코드 또는 소프트웨어를 통해 완화할 수 있습니다.
하드웨어 완화
일부 최신 CPU 릴리스에는 성능에 거의 또는 전혀 영향을 주지 않으면서 이러한 취약점 중 일부를 해결할 수 있는 하드웨어 완화 기능이 포함되어 있습니다. 따라서 이러한 CPU의 다른 측면에서 얻을 수 있는 성능 향상 외에도 새 시스템에서 이러한 CPU를 선택하면 특정 취약성에 대해 마이크로코드 또는 소프트웨어 완화가 필요한 구형 프로세서와 비교할 때 훨씬 더 큰 성능 향상을 얻을 수 있습니다.
마이크로코드 완화
일부 사이드-채널 취약성은 마이크로코드로 완화할 수 있습니다. 마이크로코드는 CPU의 외부에서 볼 수 있는 명령어 집합 아래에서 실행되는 코드 계층입니다. CPU와 함께 제공되는 마이크로코드는 BIOS 업데이트 또는 운영 체제를 통해 현장에서 업데이트할 수 있습니다. 일부 버전의 ESXi는 마이크로코드를 업데이트하여 특정 사이드 채널 취약성을 완화할 수 있습니다.
소프트웨어 완화
일부 사이드 채널 취약성은 소프트웨어에서 완화할 수 있습니다. 취약성에 따라 이러한 완화 조치는 하이퍼바이저 수준 또는 게스트 운영 체제 수준에서 이루어질 수 있습니다. 이러한 완화 방법은 27페이지의 “ESXi의 사이드 채널 취약성 완화” 및 57페이지의 “게스트 운영 체제의 사이드 채널 취약성 완화"에서 다룹니다.
하드웨어 지원 가상화
인텔® 및 AMD의 대부분의 프로세서에는 가상화를 지원하고 성능을 향상시키는 하드웨어 기능이 포함되어 있습니다. 이러한 기능인 하드웨어 지원 CPU 가상화, MMU 가상화 및 I/O MMU 가상화에 대해 아래에 설명되어 있습니다.
하드웨어 지원 CPU 가상화(VT-x 및 AMD-V™)
하드웨어 지원 CPU 가상화 지원인 VT-x(인텔 프로세서의 경우) 또는 AMD-V(AMD 프로세서의 경우)는 민감한 이벤트와 명령을 자동으로 트랩하여 trap-and-emulate 스타일의 가상화를 허용하고 이러한 트랩을 처리하는 데 따르는 오버헤드를 줄여주는 지원을 제공합니다.
버전 6.7부터 ESXi는 더 이상 소프트웨어 CPU 가상화를 지원하지 않습니다.
하드웨어 지원 MMU 가상화(인텔 EPT 및 AMD RVI)
AMD 프로세서에서는 rapid virtualization indexing (RVI) 또는 nested page tables (NPT)라고 하고 인텔 프로세서에서는 extended page tables (EPT)라고 하는 하드웨어 지원 MMU 가상화는 MMU 가상화를 위한 하드웨어 지원을 제공하여 메모리 관리 유닛(MMU) 가상화로 인한 오버헤드를 해결합니다.
하드웨어 지원 MMU 가상화를 사용하면 게스트 물리적 메모리를 호스트 물리적 메모리 주소에 매핑하는 추가 수준의 페이지 테이블을 사용할 수 있으므로 ESXi에서 섀도 페이지 테이블을 유지 관리할 필요가 없습니다. 따라서 메모리 소비가 줄어들고 게스트 운영 체제가 페이지 테이블을 자주 수정하는 워크로드의 속도가 빨라집니다. 하드웨어 지원 MMU 가상화는 대부분의 워크로드의 성능을 향상시키지만 TLB 미스를 서비스하는 데 필요한 시간이 증가하므로 TLB에 스트레스를 주는 워크로드의 성능은 저하됩니다. 그러나 37페이지의 “2MB Large Memory Pages"에 설명된 대로 게스트 운영 체제 및 애플리케이션이 대용량 메모리 페이지를 사용하도록 구성하면 이 증가된 TLB 미스 비용을 완화할 수 있습니다.
버전 6.7부터 ESXi는 더 이상 소프트웨어 MMU 가상화를 지원하지 않습니다.
하드웨어 지원 I/O MMU 가상화(VT-d 및 AMD-Vi)
하드웨어 지원 I/O MMU 가상화는 인텔 프로세서의 경우 인텔 Virtualization Technology for Directed I/O (VT-d), AMD 프로세서의 경우 AMD I/O Virtualization(AMD-Vi 또는 IOMMU)라고 불리며, I/O DMA 전송 및 장치 인터럽트를 리매핑하는 I/O 메모리 관리 기능입니다. 이 기능(엄밀히 말하면 CPU가 아닌 칩셋의 기능)을 사용하면 가상 머신이 네트워크 카드, 스토리지 컨트롤러(HBA) 및 GPU와 같은 하드웨어 I/O 장치에 직접 액세스할 수 있습니다.
하드웨어 지원 I/O MMU 가상화 사용에 대한 자세한 내용은 48페이지의 “DirectPath I/O” 및 49페이지의 “Single Root I/O Virtualization (SR-IOV)“를 참조하십시오.
AES-NI 지원
vSphere에는 AES-NI(Intel’s Advanced Encryption Standard New Instruction Set))를 지원하는 하드웨어에서 성능이 크게 향상되거나 CPU 부하가 현저히 낮아지거나 두 가지 모두에 해당하는 기능이 포함되어 있습니다. 이러한 기능을 사용하여 최상의 성능을 얻으려면 다음과 같이 하세요:
- AES-NI를 지원하는 프로세서, 특히 AES-NI 구현이 더욱 최적화된 일부 최신 프로세서 버전을 선택하세요.
- 사용 중인 BIOS 버전이 AES-NI를 지원하는지 확인합니다(경우에 따라 AES-NI 지원을 위해 BIOS 업그레이드가 필요할 수 있음).
- BIOS에서 AES-NI가 활성화되어 있는지 확인합니다.
AES-NI를 지원하는 호스트의 경우, 해당 호스트에서 실행 중인 가상 하드웨어 버전 7 이상의 가상 머신에 기본적으로 해당 지원이 노출됩니다. 원하는 경우 Enhanced vMotion Compatibility (EVC)를 사용하거나 CPU 마스크를 수정하여 이를 변경할 수 있습니다(VMware KB 문서 1993 참조). AES-NI 통과를 비활성화하는 것이 바람직한 한 가지 상황은 AES-NI를 지원하는 호스트에서 지원하지 않는 호스트로의 vMotion 호환성을 허용하는 것입니다.
AES-NI를 사용하는 기능에 대한 자세한 내용은 45페이지의 “vSphere Virtual Machine Encryption Recommendations”, 75페이지의 “VMware vMotion Recommendations” 및 90페이지의 “VMware vSAN"을 참조하십시오.