LVMのスナップショットを利用してXenのdomUをバックアップしたログ

CentOS5.2上にXen3.0を利用していくつかのサーバを仮想化しています。
仮想サーバのdomUはLVM区画にインストールしています。
今回は、そのdomUのスナップショットを取得してバックアップを取り、そのスナップショットを用いてdomUを復元してみました。


今後のためにもログを記述しておきます。

サーバの一時停止

スナップショットを取得するサーバの状態を一時停止にします。
目的の仮想サーバは『Hoge』です。

[root]# xm pause Hoge
[root]# xm list
Name                                      ID Mem(MiB) VCPUs State   Time(s)
Hoge                                       6      255     1 --p---     16.1
Domain-0                                   0     7802     1 r-----     99.2

スナップショット取得

次に、スナップショットを作成します。

[root]# lvcreate -s -n Snap-Hoge -L 1G /dev/VolGroup00/Hoge
  • sでスナップショットを指定します。
  • nでスナップショットの名前を指定します。
  • Lで差分領域のサイズを指定します。今回は1GBにしておきました。

最後にスナップショットを取るLVを指定します。
今回はVG『VolGroup00』でLV『Hoge』の/dev/VolGroup00/Hogeを指定しました。
これでスナップショットの作成は終了です。


以下にスナップショットを用いた復元の手順を記述します。

状態を一時停止から再開に

[root]# xm unpause Hoge

スナップショットからバックアップファイル作成

[root]# dd if=/dev/mapper/VolGroup00-Snap--Hoge of=/backup/Back-Hoge bs=512M

バックアップファイルは任意に指定できます。
今回は/backup/Back-Hogeを指定しました。

バックアップファイルを作成するとスナップショットは不要になるので
削除して構いません。

[root]# lvremove /dev/mapper/VolGroup00-Snap--Hoge

シャットダウンする

バックアップファイルを用いて復元する仮想サーバをシャットダウンします。

[root]# xm shutdown Hoge

バックアップファイル書き込み

[root]# dd if=/backup/Back-Hoge of=/dev/mapper/VolGroup00-Hoge bs=512M

これでバックアップファイルを用いた復元は終了です。

確認

[root]# xm create /etc/xen/Hoge -c

スナップショットを作成した時点に復元されていると思います。


ちょっと間違い

以下の手順をショートカットして、

[root]# dd if=/dev/mapper/VolGroup00-Snap--Hoge of=/backup/Back-Hoge bs=512M
[root]# dd if=/backup/Back-Hoge of=/dev/mapper/VolGroup00-Hoge bs=512M
[root]# dd if=/dev/mapper/VolGroup00-Snap--Hoge of=/dev/mapper/VolGroup00-Hoge bs=512M

というように、バックアップファイルを作成せず、スナップショットから直接復元を行なうことはできません。
これ注意です。