3. Guest Operating Systems

게스트 운영 체제 일반 고려 사항

지원되지 않는 게스트 운영 체제에는 VMware Tools를 사용할 수 없을 수 있음

ESXi 5.0에 포함된 버전에서 VMware Tools 시간 동기화 옵션을 선택하는 것이 적합하다. ESXi 5.0 이전 버전은 동일한 수준의 정확도를 위해 설계되지 않았으며 호스트 시간보다 앞서 있을 때 게스트 시간을 조정하지 않는다.

그러나 특정 가상 머신 내에서 VMware Tools 시간 동기화 옵션 또는 다른 시간 유지 유틸리티를 사용할 것을 권장하지만 둘 다 사용할 수는 없다.

가상 머신 내 시간 유지에 대한 모범 사례에 대한 자세한 내용은 VMware KB 문서 1318 및 1006427을 참조한다.

Microsoft Virtualization-Based Security (VBS)

Microsoft VBS(가상화 기반 보안)는 Windows 10 및 Windows Server 2016에서 처음 사용할 수 있는 기능이다. 나머지 OS에서 메모리 일부를 분리하여 운영 체제 보안을 높이기 위해 가상화를 사용한다.

vSphere 6.7부터 시작하여 가상 하드웨어 버전 14를 사용하는 ESXi는 게스트 운영 체제에서 VBS를 지원할 수 있다. 그러나 VBS는 가상화를 사용하므로 가상화 계층 내의 가상화 계층("중첩 가상화"라고도 함)이 생성되어 성능에 영향을 미칠 수 있다.

VBS를 사용하여 최상의 성능을 얻으려면 다음 사항을 고려하십시오.

가상 시스템의 성능 측정

가상 시스템 내에서 성능을 측정할 때 주의한다.

게스트 운영 체제 CPU 고려 사항

이 섹션에서는 게스트 운영 체제의 CPU 고려 사항을 다룬다.

게스트 운영 체제의 사이드 채널 취약점 완화

"사이드 채널 취약점(Side-Channel Vulnerabilities)"에서 설명한 것처럼 게스트 운영 체제에서 일부 사이드 채널 취약성에 대한 완화가 이루어진다. 이러한 완화는 심각한 보안 취약성을 해결하지만, 성능, 특히 CPU 리소스가 제한된 시스템에도 상당한 영향을 미칠 수 있다.

이러한 성능 영향이 사용자 환경에 문제가 될 수 있는 경우 하드웨어의 이러한 취약성 중 일부를 완화하는 최신 CPU를 선택하면 성능 저하를 줄일 수 있다("사이드 채널 취약성"에서 설명).

Virtual NUMA(vNUMA)

Virtual NUMA(vNUMA)는 게스트 운영 체제에 NUMA 토폴로지를 노출하여 NUMA 인식 게스트 운영 체제 및 애플리케이션이 기본 하드웨어의 NUMA 아키텍처를 가장 효율적으로 사용할 수 있도록 허용한다.

NUMA에 대한 자세한 정보는 "NUMA(Non-Uniform Memory Access, NUMA)"를 참조.

가상 하드웨어 버전 8 이상이 필요한 가상 NUMA는 게스트 운영 체제 및 애플리케이션의 NUMA 최적화 수준에 따라 이점이 크게 달라지지만, 경우에 따라 넓은 가상 머신에 상당한 성능 이점을 제공할 수 있다("NUMA(Non-Uniform Memory Access)"에서 정의).

일부 멀티 코어 프로세서에는 소켓당 코어 수와 다른 NUMA 노드 크기가 있다. 예를 들어, 일부 12코어 프로세서에는 프로세서당 2개의 6코어 NUMA 노드가 있다.

예를 들어, vSphere 6.5 이전에는 소켓당 16개의 코어가 있는 듀얼 소켓 물리 ESXi 호스트에서 4개의 vSocket 가상 시스템을 생성하고 corespersocket을 4개의 vCPU(총 16개의 vCPU)로 설정한 경우, vNUMA는 corespersocket 설정을 기반으로 4개의 vNUMA 노드를 생성했을 것이다. vSphere 6.5 이상에서는 게스트 OS에 소켓 4개와 소켓당 코어 4개가 표시되지만, 이제 vNUMA는 가상 시스템을 단일 물리적 NUMA 노드에 배치할 수 있기 때문에 전체 가상 시스템에 대해 16코어 vNUMA 노드 1개만 생성하게 된다.

vNUMA에서 corespersocket 설정의 새로운 디커플링은 vSphere가 최상의 vNUMA 토폴로지를 자동으로 결정할 수 있도록 한다.

이 동작을 되돌리고 vNUMA 토폴로지를 직접 제어하려면 vSphere 6.7 Resource Management Guide의 "Virtual NUMA Controls" 섹션에 있는 numa.vcpu.followcorespersocket 설정한다.

vSphere Client를 통해 이 변수를 변경하려면:
1. 변경할 가상 시스템을 마우스 오른쪽 버튼으로 누른 다음 Edit Settings를 선택한다.
2. VM Options 탭에서 Advanced를 확장한 다음, EDIT CONFIGURATION을 누른다.
3. numa.vcpu.min을 찾아 원하는 대로 구성한다. 변수가 없는 경우 ADD CONFIGURATION PARAMS를 클릭하고 새 매개 변수로 입력하십시오.
4. OK를 눌러 Configuration Parameters 창을 닫는다.
5. OK를 눌러 Edit Settings를 닫는다.

또는 maxPerVirtualNode 옵션을 사용하여 가상 시스템의 vNUMA 토폴로지를 완전히 수동으로 제어할 수 있다. 자세한 내용은 vSphere 6.7 Resource Management Guide의 "Virtual NUMA Controls" 섹션을 참조하십시오.

게스트 운영 체제 메모리 고려 사항

"2MB 대용량 메모리 페이지"에 설명된 바와 같이 ESXi는 게스트 운영 체제에서 큰 메모리 페이지를 사용할 수 있도록 할 수 있다.

운영 체제나 애플리케이션이 네이티브 시스템의 대용량 페이지로부터 이익을 얻을 수 있는 경우, 해당 운영 체제나 애플리케이션은 2MB의 시스템 메모리 페이지를 지원하는 가상 시스템에서 유사한 성능 향상을 달성할 수 있다. 운영 체제 및 응용 프로그램의 설명서를 참조하여 각 운영 체제에서 대용량 메모리 페이지를 사용하도록 구성하는 방법을 확인하십시오.

게스트 운영 체제 스토리지 고려 사항

게스트 운영 체제에 제공되는 가상 스토리지 어댑터는 게스트 내의 디바이스 드라이버, 드라이버 설정 및 기타 요소와 마찬가지로 스토리지 성능에 영향을 줄 수 있다. 이 절에서는 이러한 고려사항을 다룬다.

PVSCSI를 사용하려면 가상 시스템이 "ESXi 일반 고려 사항"에 설명된 대로 가상 하드웨어 버전 7 이상을 사용하고 있어야 한다.

PVSCSI 어댑터는 일부 운영 체제에서만 부팅 드라이브에 지원된다. 자세한 내용은 VMware KB 문서 1010398을 참조하십시오.

게스트 운영 체제 네트워킹 고려 사항

가상 시스템이 처음 생성되면 ESXi에서 사용할 vNIC(가상 네트워크 어댑터)를 선택할 수 있다. 사용 가능한 옵션은 지정된 게스트 운영 체제와 가상 하드웨어 버전을 기반으로 한다. 일부 운영 체제에는 성능이 가장 뛰어난 가상 네트워크 어댑터를 위한 기본 제공 드라이버가 없기 때문에 사용 가능한 vNIC 목록에 항상 최상의 성능을 제공할 수 있는 드라이버가 포함되지 않을 것이다. 그러나 이러한 경우 드라이버는 나중에 게스트 운영 체제(일반적으로 VMware Tools의 일부로)에 설치되고 vNIC는 다른 유형으로 변경할 수 있다.

이 절에서는 vNIC의 다양한 유형, vNIC를 선택하는 방법 및 vNIC에서 최상의 성능을 얻는 방법을 설명한다.

가상 네트워크 어댑터 유형

가능한 가상 네트워크 어댑터에는 세 가지 에뮬레이션 유형, 세 가지 반가상화 유형 및 하이브리드 어댑터가 포함된다.
에뮬레이션된 가상 네트워크 어댑터

반가상화 네트워크 어댑터의 VMXNET 제품군은 대부분의 경우 에뮬레이션된 어댑터보다 더 나은 성능을 제공한다. 이러한 반가상화된 네트워크 어댑터는 최소한의 오버헤드로 가상 시스템과 물리적 네트워크 인터페이스 카드 사이의 네트워크 트래픽을 전달하는 이상적인 네트워크 인터페이스를 구현한다. VMXNET 가상 네트워크 어댑터(특히 VMXNET3)는 다른 가상 네트워크 어댑터에서도 찾을 수 없는 성능 기능도 제공한다. VMXNET 제품군 어댑터용 드라이버는 ESXi에서 지원하는 많은 게스트 운영 체제에서 사용할 수 있으며, 최적의 성능을 위해 이러한 어댑터를 지원하는 모든 게스트 운영 체제에 사용해야 한다.

VMXNET 제품군:

마지막으로 하이브리드 가상 네트워크 어댑터:

경우에 따라 가상 네트워크 어댑터 옵션에는 SR-IOV 패스스루가 포함된다. 이 기능에 대한 자세한 내용은 "SR-IOV(단일 루트 I/O 가상화)"를 참조하기 바란다.

가상 시스템에서 게스트 네트워크 드라이버가 보고한 네트워크 속도는 기본 물리적 네트워크 인터페이스 카드의 실제 속도를 반영하지 않는다. 예를 들어 ESXi가 에뮬레이션하고 있는 AMD PCnet 카드가 10Mb/s 디바이스이기 때문에 가상 시스템의 Vlance 게스트 드라이버는 10Mb/s의 속도를 보고한다. 서버의 물리적 카드가 100Mb/s, 1Gb/s 이상이어도 그렇다. 그러나 ESXi는 이 상황에서 10Mb/s로 제한되지 않으며 물리적 서버 시스템의 리소스가 허용하는 한 네트워크 패킷을 전송한다.

가상 네트워크 어댑터에 대한 자세한 내용은 VMware KB 문서 1001805 및 Virtual Machine Administration for vSphere 6.7을 참조하기 바란다.

가상 네트워크 어댑터 선택

이 절에서는 최적의 성능을 위해 가상 네트워크 어댑터를 선택하는 방법을 설명한다.

Microsoft Windows에는 VMXNET3 드라이버가 포함되어 있지 않으므로 운영 체제 설치 중에 다른 가상 네트워크 어댑터(일반적으로 e1000e 또는 e1000)를 사용해야 한다. OS를 설치한 후 VMware Tools(VMXNET3 드라이버 포함)를 설치한 다음 VMXNET3 가상 네트워크 어댑터를 추가한다.

가상 네트워크 어댑터 기능 및 구성

이 섹션에서는 다양한 가상 네트워크 어댑터 기능과 최적의 성능을 위해 어댑터를 구성하는 방법을 설명한다.

LRO 지원은 운영 체제에 따라 다르다. 많은 리눅스 변형 모델들이 LRO를 지원한다. 윈도우즈 가상 시스템에서 LRO는 다음과 같은 필수 구성 요소가 충족될 때 지원된다:

LRO 구성에 대한 자세한 내용은 vSphere Networking for vSphere 6.7에서 "Large Receive Offload"를 검색하기 바란다.