在构build虚拟机之后,您可以更改虚拟NICtypes吗?

在构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地址相关的选项:

  • 自动 :(默认)ESX为您自动生成一个MAC地址
  • 手动 :用户手动input您select的MAC地址

如果您正在使用自动生成的MAC,则更改适配器types会导致重新生成地址。 这意味着您在访客或networking基础设施本身上依赖于MAC地址的任何configuration都将失败。 所以如果你改变适配器types,你必须让自动生成一个新的 MAC地址或手动设置你自己的。 但是,您不能手动将旧地址设置为接口,因为ESX会为了自己的目的而保留此前缀。

警告警告当这个失败只会使你自己

我使用的另一种方法是手动编辑虚拟机的configuration文件。 此方法需要在ESX主机上启用SSH,并且您愿意绕过使用GUI或API提供的所有数据完整性保护。

在执行上述任何步骤之前,请确保guest虚拟机已closures并且设置窗口已closures。

  1. SSH到你的主机
  2. find虚拟机的vmx文件(例如/vmfs/volumes/datastore1/testvm.priv/testvm.priv.vmx
  3. 打开文件进行编辑: vi /vmfs/volumes/datastore1/testvm.priv/testvm.priv.vmx
  4. find定义接口types的行。 例如,对于第一个vNIC ethernet0.virtualDev = "e1000"
  5. e1000更改为vmxnet3
  6. 保存该文件并退出。

现在,您将更改虚拟NIC设备types,而不必更改MAC地址。

我认为build议PowerCLI或脚本解决scheme来解决这个问题并不是很有效率……对于周围的基础设施,对于30秒的手动修复的假设太多了。

答案是,你真的不应该改变飞行中适配器的types 。 更可接受的过程是删除现有的适配器,并添加一个你想要的types的新适配器。

现有的E1000网卡连接到虚拟机 在这里输入图像描述

删除E1000网卡 在这里输入图像描述

添加一个新的networking设备
在这里输入图像描述

指定要在新networking设备中使用的适配器的types 在这里输入图像描述

在您的操作系统中,重新configurationnetworking设置。

您无法更改types,但可以轻松删除不需要的types,并添加所需types的新vNIC。