[转载]Hyper-V如何开启嵌套虚拟化

作者: mark 分类: 分享 发布时间: 2022-03-05 16:48

今天需要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 如侵则删

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注