[转载]Hyper-V如何开启嵌套虚拟化
今天需要Hyper-v的嵌套虚拟化的命令,百度到了如下文章,按照原博主的方法的确解决了问题,未防止以后找不到,故进行了转载。文章下面附带了原文章的链接,有需要的小伙伴可跳转到原博主的这篇文章
在虚拟机上部署被控,需支持嵌套虚拟化功能。在默认情况下Hyper-V修改相关配置才可支持。另得开启虚拟机交换机端口的混杂功能,不然影响正常通信。
一、修改配置
二、开启混杂功能
一、修改配置
Hyper-V默认不支持嵌套虚拟化功能,需要修改相关配置文件才能支持。
1.打开Windows PowerShell
2.查看虚拟机名称
命令:get-vm
3.将嵌套虚拟化选项的值设置为:true
命令:Set-VMProcessor -ExposeVirtualizationExtensions $true -VMName 虚拟机名称
示例:Set-VMProcessor -ExposeVirtualizationExtensions $true -VMName beikong
4. 查看嵌套虚拟化选项的值
命令:Get-VMProcessor -VMName 虚拟机名称 | fl
示例:Get-VMProcessor -VMName beikong | fl
二、开启混杂功能
另外在虚拟交换机的端口组需要开启混杂功能,否则通信会有问题。
开启混杂的原因: Hyper-V虚拟交换机上只能感知到其上的虚拟机,但无法感知到嵌套后其上虚拟机的子虚拟机的MAC地址,所以通信时候,用子虚拟机通信到 Hyper-V 最底层虚拟交换机就会丢包。
开启方法:
1. 在PowerShell中查看无连接符的MAC地址
命令:Get-VM -Name 虚拟机名称 | Get-VMNetworkAdapter
示例:Get-VM -Name beikong | Get-VMNetworkAdapter
注:①获得的MAC地址无连接符。
②多个适配器将有多个MAC地址,都需开启混杂功能。
2.开启混杂功能
命令:Get-VM -Name 虚拟机名称 | Get-VMNetworkAdapter | Where-Object { $_.MacAddress -eq “MAC地址” } | Set- VMNetworkAdapter -MacAddressSpoofing On
示例:Get-VM -Name beikong | Get-VMNetworkAdapter | Where-Object { $_.MacAddress -eq “00155D7F3D02” } | Set-VMNetworkAdapter -MacAddressSpoofing On
通过以上操作,Hyper-V便能正常部署。
原文地址:https://www.tlyan.com/post-54.html 如侵则删