가상 머신에서 중첩된 가상화를 사용하여 Hyper-V 실행
중첩된 가상화는 Hyper-V VM(가상 머신) 내에서 Hyper-V를 실행할 수 있는 기능입니다. 중첩된 가상화는 가상 머신에서 Visual Studio 휴대폰 에뮬레이터를 실행하거나 일반적으로 여러 호스트가 필요한 구성을 테스트하는 데 유용합니다.
중첩된 가상화 및 지원되는 시나리오에 대한 자세한 내용은 Hyper-V용 중첩 가상화란?을 참조하세요.
필수 조건
VT-x 및 EPT 기술을 사용하는 Intel 프로세서
- Hyper-V 호스트는 Windows Server 2016 이상 또는 Windows 10 이상이어야 합니다.
- VM 구성 버전 8.0 이상.
AMD EPYC/Ryzen 프로세서 이상
- Hyper-V 호스트는 Windows Server 2022 이상 또는 Windows 11 이상이어야 합니다.
- VM 구성 버전 9.3 이상.
참고 항목
게스트는 모든 Windows 지원 게스트 운영 체제일 수 있습니다. 최신 Windows 운영 체제는 성능을 향상시키도록 개발된 기능을 지원할 수 있습니다. Azure VM에서 중첩된 가상화를 사용하도록 설정하려면 보안 유형을 "표준"으로 설정해야 합니다.
중첩된 가상화 구성
가상 머신을 만듭니다. 필요한 OS 및 VM 버전에 대한 필수 구성 요소를 참조하세요.
가상 머신이 OFF 상태인 동안 물리적 Hyper-V 호스트에서 다음 명령을 실행하여 가상 머신에 중첩된 가상화를 사용하도록 설정합니다.
Set-VMProcessor -VMName <VMName> -ExposeVirtualizationExtensions $true
가상 머신을 시작합니다.
실제 서버와 마찬가지로 가상 머신 내에 Hyper-V를 설치합니다. Hyper-V 설치에 대한 자세한 내용은 Hyper-V 설치를 참조하세요.
참고 항목
Windows Server 2019를 첫 번째 수준 VM으로 사용하는 경우 vCPU 수는 225개 이하여야 합니다.
중첩된 가상화 사용 안 함
다음 PowerShell 명령을 사용하여 중지된 가상 머신에 대해 중첩된 가상화를 사용하지 않도록 설정할 수 있습니다.
Set-VMProcessor -VMName <VMName> -ExposeVirtualizationExtensions $false
네트워킹 옵션
중첩된 가상 머신을 사용하여 네트워킹하는 두 가지 옵션이 있습니다.
- MAC 주소 스푸핑
- NAT 네트워킹
MAC 주소 스푸핑
네트워크 패킷을 두 가상 스위치를 통해 전송하려면 첫 번째 수준(L1)의 가상 스위치에서 MAC 주소 스푸핑을 사용하도록 설정해야 합니다. MAC 주소 스푸핑을 사용하도록 설정하려면 다음 PowerShell 명령을 실행합니다.
Get-VMNetworkAdapter -VMName <VMName> | Set-VMNetworkAdapter -MacAddressSpoofing On
NAT(Network Address Translation)
두 번째 옵션은 NAT(네트워크 주소 변환)를 사용합니다. 이 방법은 공용 클라우드 환경과 같이 MAC 주소 스푸핑이 불가능한 경우에 가장 적합합니다.
먼저 호스트 가상 머신("중간" VM)에 가상 NAT 스위치를 만들어야 합니다. 다음 예제에서는 명명 VmNAT
된 새 내부 스위치를 만들고 서브넷의 모든 IP 주소에 대한 NAT 개체를 192.168.100.0/24
만듭니다.
New-VMSwitch -Name VmNAT -SwitchType Internal
New-NetNat –Name LocalNAT –InternalIPInterfaceAddressPrefix “192.168.100.0/24”
다음으로, NET 어댑터에 IP 주소를 할당합니다.
Get-NetAdapter "vEthernet (VmNat)" | New-NetIPAddress -IPAddress 192.168.100.1 -AddressFamily IPv4 -PrefixLength 24
중첩된 각 가상 머신에는 IP 주소와 게이트웨이가 할당되어 있어야 합니다. 게이트웨이 IP는 이전 단계의 NAT 어댑터를 가리킵니다. DNS 서버를 할당할 수도 있습니다.
Get-NetAdapter "vEthernet (VmNat)" | New-NetIPAddress -IPAddress 192.168.100.2 -DefaultGateway 192.168.100.1 -AddressFamily IPv4 -PrefixLength 24
Netsh interface ip add dnsserver “vEthernet (VmNat)” address=<my DNS server>