在您更改启用了 SR-IOV 的虚拟机的客户机操作系统中的 MAC 地址后,虚拟机失去连接。

问题

当您将虚拟机的网络适配器连接到 SR-IOV 虚拟功能 (VF) 时,可以为虚拟机创建直通网络适配器。客户机操作系统中的 (VF) 驱动程序修改直通网络适配器的 MAC 地址后,客户机操作系统将显示更改已成功完成,但虚拟机网络适配器则会失去连接。客户机操作系统会显示已启用新的 MAC 地址,但 /var/log/vmkernel.log 文件中的日志消息指示此操作失败。

Requested mac address change to new MAC address on port VM NIC port number, disallowed by vswitch policy.

其中,

  • new MAC address 是客户机操作系统中的 MAC 地址。
  • VM NIC port number 是十六进制格式的虚拟机网络适配器的端口号。

原因

直通网络适配器所连接到的端口组上的默认安全策略不允许更改客户机操作系统中的 MAC 地址。因此,客户机操作系统中的网络接口无法获取 IP 地址并失去连接。

解决方案

  • 在客户机操作系统中,重置接口以使直通网络适配器重新获得有效的 MAC 地址。如果将接口配置为使用 DHCP 进行地址分配,则接口将自动获取 IP 地址。
    例如,在 Linux 虚拟机上运行 ifconfig 控制台命令。
    ifconfig ethX down
    ifconfig ethX up

    其中,ethX 中的 X 表示客户机操作系统中虚拟机网络适配器的序列号。