在构build虚拟机时,可以select您想要的虚拟设备types(E1000,VMXNET3等)。
创build虚拟机之后 ,是否可以更改给定连接上正在使用的vNIC的types(例如,从E1000到VMXNET3)?
如果是这样,怎么样?
是的,你可以改变types。
使用Set-NetworkAdapter powercli cmdlet。 “types”开关允许您修改适配器。 请注意,VM必须closures才能执行此操作。
https://www.vmware.com/support/developer/PowerCLI/PowerCLI41U1/html/Set-NetworkAdapter.html
vSphere PowerCLI可以在这里下载:
https://my.vmware.com/group/vmware/details?downloadGroup=VSP510-PCLI-510&productId=285
它可以安装在任何可以通过networking访问ESXi服务器的Windows计算机上。 我通常直接在我的笔记本电脑/工作站上安装vSphere。
安装后,打开它。 使用Connect-VIServer连接到您的ESXi主机。 它会提示您input服务器IP和凭据。
使用Get-VM检索ESXi主机上的VM列表。 确认你想要更改的那个,然后记下确切的名字。
使用此命令更改适配器,使用Get-VM列表中的确切名称replace服务器名称,并键入所需的适配器types:
get-vm 'myserver'|get-networkadapter|set-networkadapter -type e1000
请注意,如果虚拟机具有多个NIC,则可能需要使用另一个交换机来指定正确的一个。
正如您可能正在学习的那样,有许多方法可以更改适配器types。 需要记住的一点是MAC地址生成。
在创build虚拟NIC时,有两个与MAC地址相关的选项:
如果您正在使用自动生成的MAC,则更改适配器types会导致重新生成地址。 这意味着您在访客或networking基础设施本身上依赖于MAC地址的任何configuration都将失败。 所以如果你改变适配器types,你必须让自动生成一个新的 MAC地址或手动设置你自己的。 但是,您不能手动将旧地址设置为接口,因为ESX会为了自己的目的而保留此前缀。
警告警告当这个失败只会使你自己
我使用的另一种方法是手动编辑虚拟机的configuration文件。 此方法需要在ESX主机上启用SSH,并且您愿意绕过使用GUI或API提供的所有数据完整性保护。
在执行上述任何步骤之前,请确保guest虚拟机已closures并且设置窗口已closures。
/vmfs/volumes/datastore1/testvm.priv/testvm.priv.vmx vi /vmfs/volumes/datastore1/testvm.priv/testvm.priv.vmx ethernet0.virtualDev = "e1000" e1000更改为vmxnet3 现在,您将更改虚拟NIC设备types,而不必更改MAC地址。
我认为build议PowerCLI或脚本解决scheme来解决这个问题并不是很有效率……对于周围的基础设施,对于30秒的手动修复的假设太多了。
答案是,你真的不应该改变飞行中适配器的types 。 更可接受的过程是删除现有的适配器,并添加一个你想要的types的新适配器。
现有的E1000网卡连接到虚拟机 
删除E1000网卡 
添加一个新的networking设备 
指定要在新networking设备中使用的适配器的types 
在您的操作系统中,重新configurationnetworking设置。
您无法更改types,但可以轻松删除不需要的types,并添加所需types的新vNIC。