私は現在、KVM VMのバックアップソリューションを、従来のバックアップの追加手段として設計しています。
残念ながら、これまでに出会った現在(2013年8月)のすべての既存のソリューション:
QEMU/libvirtのスナップショット作成機能を知っていますが、次の理由からまだ使用できません。
上記の理由から、今は次のようなスクリプトを実装しています。
すべてが正しければ、これはVMの一貫したバックアップを数秒(もしあれば、1〜3が速いため、おそらく1秒未満)のダウンタイムで実行します。もちろん、復元するとき、VMは過去にwayになりますが、少なくとも私にオプションを与えます正常なシャットダウン/再起動。
このソリューションで何か不足していますか?それとも誰かが実際にこれをすでに実装していますか?
VMを停止しても、実行中のIOはフラッシュされません。VMを静止するには、qemu-ga
を使用する必要があります。
QEMUはブロック移行を導入したので、それを使用してVMをバックアップイメージに移行し、メモリの状態とディスクの両方を保存することができます
https://wiki.libvirt.org/page/Live-disk-backup-with-active-blockcommit
これは、QEMU 2.1(以降)、libvirt-1.2.9(以降)のバージョンで可能です。
$ virsh domblklist vm1
Target Source
------------------------------------------------
vda /export/images/base.img
$ virsh snapshot-create-as --domain vm1 guest-state1 \
--diskspec vda,file=/export/images/overlay1.qcow2 \
--disk-only --atomic --quiesce
$ rsync -avhW --progress /export/images/base.img \
/export/images/copy.img
$ virsh blockcommit vm1 vda --active --verbose --pivot