我们有一个带有三台主机的 Windows Server 2012 故障转移群集。群集中有一个 Redhat 虚拟机,可以在三台主机之间自由迁移。但每次虚拟机迁移到其他主机并因任何原因重新启动时,虚拟机中的以太网接口都会发生变化,并且虚拟机会失去连接。
下图是虚拟机第一次启动时 ifconfig -a 命令的屏幕截图,具有正确的以太网配置和 IP 地址。
下图是虚拟机第一次启动时文件 /etc/udev.rules.d/70-persistent-net.rules 的屏幕截图。
下图是虚拟机迁移到其他主机并重新启动后,ifconfig -a 命令的屏幕截图。
下面的图片是虚拟机迁移到不同主机并重新启动后同一份文件的图片。
我们需要虚拟机每次移动到不同的主机并进行机器人启动时都保持相同的以太网配置 eth0 和 eth1。谢谢
答案1
默认情况下,在大多数 VM 主机中,MAC 是动态分配的,并且通常会在重新启动或主机迁移时发生变化。您通常可以为 VM 设置静态 MAC。您可能需要更改有关 VM 环境的一些设置,以允许 MAC 在网络环境中迁移,例如启用 MAC 欺骗和伪造传输。
- 在 Hyper-V 或故障转移群集管理器中,编辑 VM 的设置。
- 转到“网络适配器”并展开到“高级功能”。
- 将“MAC 地址”单选按钮更改为“静态”而不是“动态”。您需要提供 MAC 地址,但您应该能够输入当前的 MAC 地址。
对于 RHEL/CentOS 系统,您可能需要修改 NIC 配置以允许对 NIC 进行 MAC 更改。见下文。
- 打开 Redhat vm 并根据需要编辑 ifcfg-ethx(x 是接口号)文件。运行命令“vi /etc/sysconfig/network-script/ifcfg-ethx”,并将所有带有 HWADDR 的行更改为 #HWADDR。
- 将 70-persistent-net.rules 文件移动到临时文件夹,以便在下次重启时重新生成该文件。创建一个临时文件夹“mkdir /home/tmp-net-rules”并移动文件“mv /etc/udev/rules.d/70-persistent-net.rules”
- 重新启动虚拟机“reboot”