仮想マシンのイメージファイルをバックアップ

Linux

やりたいこと

1.CentOS8のKVMホスト上の仮想マシン(Windows)のOSを落として、イメージファイルのコピー
2.仮想マシンを立ち上げて、デスクトップに新しいファイルを作成
3.サイド仮想マシンのOSのを停止
4.イメージファイルをリネーム
5.先ほどコピーしたファイルのファイル名を正式なファイル名に変更
6.バックアップしたイメージファイルから仮想マシンが起動
7.デスクトップに新しいファイルがないことを確認

その手順で確認できるのは、**「仮想マシンのディスクイメージをバックアップから戻したら、その時点の状態に戻ること」**です。

ただし、いくつか補足すると確実です。

手順の意図

  1. Windows停止
  2. qcow2(またはraw)イメージをコピー
  3. Windows起動
  4. デスクトップにテストファイル作成
  5. Windows停止
  6. 現在のイメージを退避
  7. コピーしておいたバックアップイメージを元の名前に戻す
  8. Windows起動
  9. テストファイルが消えていることを確認

→ これでバックアップ取得時点の状態に戻ったことを確認できます。


さらに確認したいポイント

デスクトップのファイルだけだと、

  • ユーザープロファイルが戻った
  • Cドライブが戻った

ことしか確認できません。

可能なら以下も確認すると安心です。

Windowsイベントログ

バックアップ取得後に

eventcreate /T INFORMATION /ID 1000 /L APPLICATION /SO TEST /D "backup test"

を実行しておく。

復元後にイベントが存在しなければ、確実に過去状態へ戻っています。


ファイルの更新日時

バックアップ取得後に

echo test > C:\restore_test.txt

作成。

復元後に存在しないことを確認。


インストールソフト

バックアップ取得後にChromeなどをインストールしておき、

復元後に消えていれば、レジストリも含めて戻ったことが確認できます。


KVM環境ならさらに確認

仮想マシン定義(XML)とディスクイメージは別です。

例えば

[root@kvm01 ~]# virsh dumpxml win2k16 > win2k16_20260621_1574.xml

で定義ファイルも保存しておくと安心です。

バックアップ確認時は

[root@kvm01 ~]# virsh domblklist win2k16
 ターゲット   ソース
-----------------------------------------------------------------------------------------------------------------------
 hda          /var/lib/libvirt/images/win2k16.img
 hdb          /home/ghisamat/ダウンロード/17763.3650.221105-1748.rs5_release_svc_refresh_SERVER_EVAL_x64FRE_ja-jp.iso

[root@kvm01 ~]#

で本当に入れ替えたディスクを参照しているか確認します。


作業の流れ

Windowsをシャットダウン

[root@kvm01 images]# virsh list --all
 Id   名前      状態
------------------------------
 -    win2k16   シャットオフ

[root@kvm01 images]#

イメージファイルのバックアップ

[root@kvm01 ~]# cd /var/lib/libvirt/images/
[root@kvm01 images]# ll
合計 41943096
-rw------- 1 qemu qemu 42949672960 6月 21 15:46 win2k16.img
[root@kvm01 images]# ll -h
合計 41G
-rw------- 1 qemu qemu 40G 6月 21 15:46 win2k16.img
[root@kvm01 images]#

[root@kvm01 images]# cp -a win2k16.img win2k16.img.bak

仮想マシン起動

[root@kvm01 images]# virsh start win2k16
ドメイン win2k16 が起動されました

[root@kvm01 images]#

Chromeをインストール

仮想マシンをシャットダウン

[root@kvm01 images]# virsh list --all
 Id   名前      状態
------------------------------
 -    win2k16   シャットオフ

[root@kvm01 images]#

バックアップファイルから仮想マシンを起動できるようファイル名を変更

[root@kvm01 images]# ll
合計 83886132
-rw------- 1 qemu qemu 42949672960  6月 21 16:06 win2k16.img
-rw------- 1 qemu qemu 42949672960  6月 21 15:46 win2k16.img.bak
[root@kvm01 images]# mv win2k16.img win2k16.img.moto
[root@kvm01 images]# mv win2k16.img.bak win2k16.img
[root@kvm01 images]#

仮想マシン起動

[root@kvm01 images]# virsh start win2k16
ドメイン win2k16 が起動されました

[root@kvm01 images]#

事前にバックアップした仮想イメージには、Chromeが入っていないので、
バックアップしたイメージファイルから仮想マシンが起動されていることが確認できました。

コメント

  1. ExoWatts より:

    Great content! Keep up the good work!

タイトルとURLをコピーしました