virt-managerスナップショットを移行/バックアップ/復元するには?

virt-managerスナップショットを移行/バックアップ/復元するには?

私はvirt-manager仮想マシン(すべてのスナップショットを含む)をバックアップ/復元/復元する方法を見つけるために約1週間を過ごしました。

qcow2ファイルを確認すると、作成されたすべてのスナップショットが含まれます。

sudo qemu-img snapshot -l '../LinuxLiteV3.8.qcow2'
           
Snapshot list:
ID        TAG                     VM SIZE                DATE       VM CLOCK   
1         LinuxLite38_PreUD01         0 B 2020-11-06 23:37:14   00:00:00.000
2         snapshot1                   0 B 2020-12-27 15:59:03   00:00:00.000

このファイルをvirt-managerの他のインスタンスにインポートしてVMを再作成すると、実行できますが、virt-managerはスナップショットについて知らないようです。

元の仮想マシンがまだ存在するため(必要に応じて)、次を使用してxmlファイルを生成できます。

virsh dumpxml LinuxLiteV3.8 --security-info --migratable >LinuxLiteV3.8
virsh snapshot-dumpxml LinuxLiteV3.8 LinuxLite38_PreUD01 --security-info  >LinuxLite38_PreUD01.xml
virsh snapshot-dumpxml LinuxLiteV3.8 snapshot1 --security-info  >snapshot1.xml

しかし、定義をvirt-managerにインポートする方法がわかりません。

IIUC virsh snapshot-createは、既存のスナップショットを取得せずに新しいスナップショットを作成します。

この時点で、qemu:///sessionに移動したいqemu:///systemで定義された2台のマシンを再生成しようとしています。私はvirshにqemu:///systemとqemu:///sessionから選択できる-cオプションがあることを知っていますが、エクスポート/インポート方法がわかりません。

また、システムを新しいハードウェアに移行しているため、新しくインストールされたvirt-managerからVMとそのスナップショットを再ロードできる必要があります。あるシステムからエクスポートし、別のシステムからインポートすることを除いて、これは本質的に同じ問題であると仮定します。

qcow2ファイルを使用する方が良いですが、元のジョブインストールはまだ残っているので、xmlファイルを使用するオプションがあります。

ベストアンサー1

「sled9」という以前のVM(2台のディスクと2つのスナップショットを含む)に対して、次のことを行いました。

ソースマシンから:

~$ virsh dumpxml sled9 > sled9.xml
~$ virsh snapshot-list sled9
   Name        Creation Time               State
   --------------------------------------------------
   snapshot1   2021-01-10 20:58:45 +0100   shutoff
   vor grub    2019-05-03 12:43:30 +0200   running

~$ virsh snapshot-dumpxml sled9 snapshot1 > snapshot1.xml
~$ virsh snapshot-dumpxml sled9 'vor grub' > vor_grub.xml

2つのディスクファイルと3つのxmlファイルを、ターゲットマシンの新しく作成されたディレクトリにコピーします。/var/lib/libvirt/images/sled9

ターゲットマシンで:

まず、3つのxmlファイルを変更して、ディスクファイルへのさまざまなパス(〜/var/lib/libvirt/images/local)を反映します/var/lib/libvirt/images/sled9。これは、パスがコンピュータごとに異なる場合にのみ重要です。それから

  ~$  virsh define sled9.xml 
  ~$  virsh snapshot-create sled9 --xmlfile vor_grub.xml --redefine
  ~$  virsh snapshot-create sled9 --xmlfile snapshot1.xml --redefine
  ~$  virsh snapshot-list sled9
     Name        Creation Time               State
     --------------------------------------------------
     snapshot1   2021-01-10 20:58:45 +0100   shutoff
     vor grub    2019-05-03 12:43:30 +0200   running

ターゲットマシンのvirtmanagerにドメインが表示され、スナップショットが表示され、両方のマシンで異なるネットワークインターフェイスを変更した後、VMを正常に起動できます。

正しい順序でスナップショットをオーバーライドすることが重要です。そうでなければ、virshは文句を言うでしょう(親欠落)。

おすすめ記事