Computer >> 컴퓨터 >  >> 시스템 >> Windows 10

VMware ESXi에서 Windows 10 가상 머신에 Hyper-V 역할 설치하기 – 중첩 가상화(Nested Virtualization) 설정 완벽 가이드

VMware ESXi 호스트에서 구동 중인 Windows 10 가상 머신(Windows Server 2016에도 동일하게 적용됨)에 Hyper-V 가상화 역할을 설치해야 하는 테스트 업무가 있었습니다. 이는 VMware ESXi 위에서 Hyper-V를 중첩 가상화(Nested Virtualization)로 구성해야 한다는 의미입니다. 이 글에서는 그 과정을 단계별로 정리해 보았습니다.

중첩 가상화란 무엇인가?

먼저 중첩 가상화에 대해 간단히 살펴보겠습니다. 중첩 가상화(Nested Virtualization)는 하나의 하이퍼바이저 위에서 실행되는 가상 머신 내부에 또 다른 하이퍼바이저를 구동할 수 있도록 하는 기술입니다. Hyper-V는 Windows Server 2016 및 Windows 10 Anniversary Update부터 중첩 가상화를 완전히 지원하며, VMware 쪽은 훨씬 오래전인 ESXi 5.0부터 해당 기능을 제공해 왔습니다.

본 가이드의 환경은 다음과 같습니다. VMware ESXi 6.0 호스트에서 Windows 10 1709 가상 머신을 운영 중입니다.

문제 상황: Hyper-V 역할 설치 옵션이 비활성화됨

제어판 → 프로그램 및 기능 → Windows 기능 켜기/끄기 메뉴에서 Hyper-V 하이퍼바이저 역할(Hyper-V Hypervisor 구성 요소)을 설치하려고 시도했지만, 해당 옵션이 비활성화되어 있었습니다. 원인은 아래와 같습니다.

Hyper-V cannot be installed: The processor does not have the required virtualization capabilities
(Hyper-V를 설치할 수 없음: 프로세서에 필요한 가상화 기능이 없습니다)

즉, 게스트 OS가 자신이 가상 머신 안에서 실행 중이라는 사실과 CPU의 가상화 확장 기능을 인식하지 못하고 있는 상태입니다.

1단계: 하드웨어 지원 가상화 노출 옵션 활성화

Windows 10 게스트 OS가 설치된 VM에 대해 중첩 가상화를 사용하려면 vSphere 웹 클라이언트에서 가상 머신 설정(VM 전원은 반드시 꺼진 상태여야 함)을 열어야 합니다. CPU 섹션에서 “Expose hardware assisted virtualization to the guest OS(게스트 OS에 하드웨어 지원 가상화 노출)” 옵션을 체크합니다. 참고로 이 옵션은 vCenter C# 씬 클라이언트(thin client)에서는 제공되지 않으므로 반드시 웹 클라이언트를 사용해야 합니다.

참고: 이 옵션이 없는 구버전 ESXi나 데스크톱용 VMware Workstation에서는 가상 머신 구성 파일(*.vmx)에 다음 파라미터를 추가하여 중첩 가상화를 활성화할 수 있습니다.

hypervisor.cpuid.v0 = "FALSE"
mce.enable = "TRUE"
vhv.enable = "TRUE"

vSphere 클라이언트에서는 VM 설정 → OptionsGeneralConfiguration Parameters 경로로 이동한 뒤, Add Row 버튼을 눌러 동일한 파라미터 두 개를 추가하면 됩니다.

2단계: SLAT 지원 문제 해결 (EPT/RVI)

Windows 10 가상 머신을 시작한 후 Hyper-V 역할 설치를 다시 시도합니다. 이번에는 Windows가 자신이 다른 하이퍼바이저 위에서 실행 중임을 감지하지 못하지만, 새로운 오류가 나타납니다.

Hyper-V cannot be installed: the processor does not support second level address translation (SLAT)
(Hyper-V를 설치할 수 없음: 프로세서가 2차 주소 변환(SLAT)을 지원하지 않습니다)

이는 단순히 가상화 지원만으로는 부족하고, VM 프로세서가 SLAT(SLAT, Second Level Address Translation) 기술, 즉 메모리 페이지 가상화와 게스트 OS의 직접 관리 기능을 지원해야 함을 의미합니다. Intel에서는 이 기능을 EPT(Extended Page Tables), AMD에서는 RVI(Rapid Virtualization Indexing)라고 부릅니다.

SLAT 지원 여부 확인 방법

다음 명령어로 vCPU가 SLAT를 지원하는지 확인할 수 있습니다.

systeminfo

출력 결과의 “Hyper-V Requirements” 섹션에서 SLAT 미지원 여부를 확인할 수 있습니다.

Second Level Address Translation: No

CPU/MMU 가상화 설정 변경

SLAT가 비활성화되어 있다면 가상 머신의 프로세서 설정을 변경해야 합니다. vSphere 웹 클라이언트의 CPU/MMU Virtualization 섹션에서 Hardware CPU and MMU(Intel VT-x/EPT 또는 AMD-V/RVI 사용)를 선택합니다.

씬 클라이언트에서는 Options 탭의 CPU/MMU Virtualization 섹션에 위치하며, “Use Intel VT-x/AMD-V for instruction set virtualization and Intel EPT/AMD RVI for MMU virtualization” 옵션을 선택하면 됩니다.

마무리: Hyper-V 역할 설치 완료

Windows 10 가상 머신을 다시 시작하고 프로세서가 이제 SLAT를 정상적으로 지원하는지 확인합니다. 모든 설정이 완료되면 Hyper-V 역할의 전체 구성 요소를 설치할 수 있으며, 해당 Windows 10 VM 내부에서 추가적인 가상 머신들을 자유롭게 생성하고 구동할 수 있습니다.

이처럼 ESXi 환경에서 중첩 가상화를 활용하면 실제 물리 서버를 추가로 준비하지 않고도 Hyper-V 학습, 테스트, 검증 환경을 손쉽게 구축할 수 있습니다.