将 CentOS 6.9 VM 迁移到 Server 2016 时缺少 eth0 并在启动期间停顿

将 CentOS 6.9 VM 迁移到 Server 2016 时缺少 eth0 并在启动期间停顿

我有一个现有的 CentOS 6.9 VM,在 Windows Server 2008 R2 上的 Hyper-V 中运行。我想将此计算机迁移到新的 Windows Server 2016 安装。这是最后一个允许我关闭旧服务器的 VM。

我的问题是新服务器上找不到 eth0 网络适配器。问题变得更加复杂,因为虚拟机摊位在启动期间尝试安装 cifs 共享。检查 Google 会显示有关缺少网络适配器驱动程序的其他投诉,但由于启动问题,常规解决方法对我没有帮助。

我等了 8 分钟多,直到 cifs 挂载超时,虚拟机才继续启动。此时,我的维护窗口已经快要结束了,所以我不得不放弃,并在旧服务器上重新启动虚拟机。

恐怕我需要等到可以规划更长的维护窗口,以便有时间禁用现有虚拟机上的 cifs 挂载,然后才能在重新启用 cifs 挂载之前对迁移虚拟机上的网络适配器进行故障排除。可能要过几个月我才能有这样的窗口。

有没有什么办法可以在每周 1 小时内完成修复,记得我需要留出大约 20 分钟的时间才能将 180GB 的 vhd 文件复制到新服务器?

答案1

网络解决方案分为两部分:

  1. /etc/sysconfig/network-scripts/ifcfg-eth0注释掉了原始 VM 上以 开头的行HWADDR(我以前这样做过)。
  2. 在关闭原始虚拟机之前,我还需要进行编辑/etc/udev/rules.d/70-persistent-net.rules。我只是注释掉了包含网卡的行,以便 udev 可以重新检测网卡并为其赋予与我的ifcfg-eth0文件匹配的相同名称。现在我可以根据需要重新启动原始虚拟机,但当将 vhd 文件复制到新主机时,网络也会正确启动。

我还修复了我的/etc/rc.d/rc.local文件,其中有一个条目被阻止并且不允许我使用控制台来修复问题。

不幸的是,我仍然遇到一个问题,即启动几秒钟后网络再次不可用。我可以开始 ping 机器,它在启动期间网络可用时立即响应,但随后在 15-20 次 ping 之后它再次停止响应,无论我做什么都不会恢复。我仍然可以从虚拟机的控制台 ping 本地 IP 地址(即:不是环回/主地址),但不能 ping 其他地址。但网络做过首先出现并且我有控制台访问权限,因此我将单独解决这个新问题。


作为更新,我还遇到了这个错误:

https://bugzilla.redhat.com/show_bug.cgi?id=655855

对此的“修复”是禁用该irqbalance服务:

sudo chkconfig irqbalance off

这是我要将此服务器升级到较新发行版的另一个原因。

相关内容