Xen Domain-Uバックアップ(2) バックアップ

前回までにHDDにスナップショット用空き領域(10G)が作成できたので、その領域にスナップショット領域を作成しXen Domain-Uのイメージファイルのバックアップを取得する。

※スナップショットについて

ファイルシステム内でリンク情報を保持し、オリジナルファイルに変更があった場合は変更箇所のブロックだけスナップショット領域にデータを退避するため、安全なバックアップを取得することができる。

スナップショット中の変更データがスナップショット領域を超えるとスナップショットを保持できなくなるため、設定する容量については注意が必要。



以下の流れでバックアップを取得する
1)10Gのスナップショット領域を作成
2)作成したスナップショット領域をマウント
3)バックアップデータのコピー
4)スナップショット領域のアンマウント
5)スナップショット領域の削除


で以下コマンド
※予めマウント先のディレクトリ(/mnt/snap-vol)は作成しておく
[root@centos ~]# lvcreate -s -L 10G -n snap-vol /dev/VolGroup00/LogVol00
[root@centos ~]# mount /dev/VolGroup00/snap-vol /mnt/snap-vol
[root@centos ~]# rsync -av /mnt/snap-vol/etc/xen/*.config [バックアップディレクトリ]/config/
[root@centos ~]# rsync -av /mnt/snap-vol/var/lib/xen/*.image [バックアップディレクトリ]/image/
[root@centos ~]# umount /mnt/snap-vol
[root@centos ~]# lvremove /dev/VolGroup00/snap-vol


日次で定時バックアップをとるため同じ内容で以下のシェルを作成し、cronで設定。
※バックアップは一日分としバックアップ取得日前日のファイルは削除する


[xendomu-backup.sh]
#!/bin/sh


DATE=`/bin/date '+%Y%m%d%H%M'`
OLDDATE=`/bin/date --date '1 day ago' +%Y%m%d`
BACKDIR=/mnt/backup


mkdir -p $BACKDIR/domu-$DATE


/usr/sbin/lvcreate -s -L 10G -n snap-vol /dev/VolGroup00/LogVol00
mount /dev/VolGroup00/snap-vol /mnt/snap-vol


/usr/bin/rsync -a /mnt/snap-vol/etc/xen/*.config $BACKDIR/xenbk-$DATE/
/usr/bin/rsync -a /mnt/snap-vol/var/lib/xen/images/*.image $BACKDIR/xenbk-$DATE/


umount /mnt/snap-vol
/usr/sbin/lvremove -f /dev/VolGroup00/snap-vol

if [ $DATE!=$OLDDATE ]; then
rm -rf $BACKDIR/domu-$OLDDATE
fi