ZFSを用いたKVM仮想マシンのバックアップ

おおまかに言って

1.VMサスペンド

2.ZFSスナップショットの作成

3.VMレジューム

4.ZFSスナップショットの送信

 と言った流れ。

bashで書くと

———————————————–

#! /bin/bash

/usr/bin/virsh suspend ${VM}
/sbin/zfs snapshot ${SNAP}
/usr/bin/virsh resume ${VM}
/sbin/zfs send ${SNAP} > ${backup}

———————————————–

といった感じ。

動作中のゲスト内でのファイルの整合性は保証されません。

1~3は一瞬だと思ったのだが、実際に運用してみるとマシンによって結構時間がかかる。

やっぱり停止時間は最小限に抑えたい。

原因としてQEMUやZFSのキャッシュ書き出しが考えられたのでsyncを追加。

また、VMの設定ファイルを書き出すように変更。

———————————————–

#! /bin/bash

sync
sync
/usr/bin/virsh suspend ${VM}
/usr/bin/virsh dumpxml ${VM} > ${conf}
/sbin/zfs snapshot ${SNAP}
/usr/bin/virsh resume ${VM}
/sbin/zfs send ${SNAP} > ${backup}

———————————————–

シェアする

  • このエントリーをはてなブックマークに追加

フォローする