
我在塔式電腦上設定了 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 位址區域來解決該問題。