我在塔式计算机上设置了 CentOS 7 虚拟平台。我使用它一段时间并制作了许多带有我需要的快照的虚拟机。我将此计算机的 HDD 移至更强大的系统,CentOS 启动正常,但我无法将任何快照应用到任何虚拟机,因为快照使用的网络接口名称不再存在。
快照使用名为 enp0s25 的接口,但新塔的接口名为 em1。
当我尝试应用任何快照时,虚拟机管理器会抛出这些错误。
Error running snapshot 'Fedora24Updated': Unable to get index for interface enp0s25: No such device
Traceback (most recent call last):
File "/usr/share/virt-manager/virtManager/asyncjob.py", line 90, in cb_wrapper
callback(asyncjob, *args, **kwargs)
File "/usr/share/virt-manager/virtManager/asyncjob.py", line 126, in tmpcb
callback(*args, **kwargs)
File "/usr/share/virt-manager/virtManager/libvirtobject.py", line 83, in newfn
ret = fn(self, *args, **kwargs)
File "/usr/share/virt-manager/virtManager/domain.py", line 1134, in revert_to_snapshot
self._backend.revertToSnapshot(snap.get_backend())
File "/usr/lib/python2.7/dist-packages/libvirt.py", line 2070, in revertToSnapshot
if ret == -1: raise libvirtError ('virDomainRevertToSnapshot() failed', dom=self)
libvirtError: Unable to get index for interface enp0s25: No such device
我的问题是:如何保存这些快照,以便使用新的 em1 界面以便它们可以工作?
答案1
我通过将接口重命名为旧接口名称解决了我的问题。我按照这里找到的步骤操作: centos7 修改网络接口名称
答案2
我也在另一个有同样问题的系统上尝试过的另一种方法是直接修改快照的 xml 文件。我必须修改几个快照的接口名称和 MAC 地址。
如果快照的名称是“Fedora24Updated”,您可以像这样搜索 xml 文件来找到它:
find / | grep Fedora24Updated
我的恰好在里面
/var/lib/libvirt/qemu/snapshot/DevBox/Fedora24Updated.xml
其中“DevBox”是虚拟机的名称,Fedora24Updated 是快照的名称。我也可以直接编辑此 xml 文件中的接口和 MAC 地址区域来解决该问题。