今天我一朋友来找我求助,说他做了一次Hyper-V虚拟机的迁移,然后发现所有Linux的虚拟机网卡都没了,搞得他一身冷汗
其实我自己之前也碰到过Hyper-V虚拟机迁移之后Linux的虚拟机网卡没了的情况,其实原因很简单,因为迁移之后虚拟机的MAC地址变了,而Linux的网卡配置文件有的时候是会加上MAC地址的,所以MAC地址不一致的时候就会导致网卡的配置没了,然后表现出来的现象就是网卡消失了。
既然原因找到了,那么解决方案也就很简单了:
首先,通过ifconfig -a命令查看当前网卡的MAC地址,ifconfig命令如果没有的话可以yum或者apt-get等安装net-tools,-a参数是显示所有网卡,包括没有active的网卡,加上这个参数就可以找到MAC地址变化之后没有active的网卡的信息,通过这个信息找到新网卡的MAC地址并复制下来。
然后,修改当前网卡的配置文件,一般是/etc/sysconfig/network-scripts/ifcfg-eth0这个文件,将新的MAC地址替换这个文件里变量HWADDR后面的值。
最后做一个比较保险的操作,就是看下/etc/udev/rules.d/70-persistent-net.rules文件是否存在,存在的话把它删除,然后重启服务器就可以了,这里重启网络服务也行,但是保险起见建议直接重启服务器。