スナップショットの仮想ネットワークインターフェースを変更する

スナップショットの仮想ネットワークインターフェースを変更する

タワー コンピューターに CentOS 7 仮想プラットフォームをセットアップしました。これをしばらく使用し、必要なスナップショットを多数含む多数の VM を作成しました。このコンピューターの HDD をより強力なシステムに移動したところ、CentOS は正常に起動しましたが、スナップショットが使用したネットワーク インターフェイス名が存在しなくなったため、どの VM にもスナップショットを適用できません。

スナップショットでは enp0s25 という名前のインターフェースが使用されていましたが、新しいタワーのインターフェースの名前は em1 です。

スナップショットを適用しようとすると、Virtual Machine Manager によってこれらのエラーがスローされます。

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 アドレス領域を直接編集して、問題を解決することもできました。

関連情報