web-dev-qa-db-ja.com

実行中にXendomUマシンをバックアップする

ホストマシンはCentOS5.3を実行しており、LVMを使用して論理ボリューム(LV)を作成し、それらのLVのライブスナップショットを取得できるようにします。私の考えは、Xenの特権不足ドメイン(domU)のすべてのイメージファイルを単一のLVに保存し、定期的にそのLVのスナップショットを作成し、スナップショットからディスクイメージをコピーして、これらのシステムのライブバックアップを作成することでした。これは実行可能ですか?より良い方法はありますか?

ありがとう!

3
Jonathan Hawkes

実際の「ライブ」バックアップは正確には実行できません。

理論的には、LVMを使用する場合に得られる最善の方法は、数秒の「一時停止」時間です。これは問題ありません。domUは、ディスクの同期、一時停止/一時停止、データのバックアップ、再開を行う必要があります。

ただし、このアプローチには(マシンをシャットダウンするだけではなく)対処する必要のある「落とし穴」がいくつかあります。

主な問題は、domUファイルシステムの一貫性です-より完全な説明については thoughts-xen-filesystem-configuration-regard-backups を参照してください。

2
jcinacio

おそらく最善の方法は、LVスナップショットをいじるのではなく、各domUのファイルレベルのバックアップを取ることです。または、スナップショットのファイルレベルのバックアップ。

ただし、domUのブロックレベルのバックアップが必要な場合は、すべてのdomUディスクを1つのLVにファイルとして保存することも可能であり、これも検討しましたが、これに反対し、サーバーが既に構成されているものを使用することにしました。 -次の2つの理由から、LVごとに1つのdomUがあります。

  1. スパースファイルを使用していない限り、新しいdomUイメージファイルの作成には永遠に時間がかかります。 LVMを使用してLVを作成および削除するのは瞬時です。スパースファイルでは、ディスク容量が不足する可能性があります。
  2. すべてのdomUの1つのスナップショットは、多くのスナップショットスペースを消費する可能性があります。バックアップが完了するのを待っている間、実行中のdomUが行うすべての変更により、スナップショットスペースが消費されます。私がしているのは、一度にドメインのスナップショットを撮り、バックアップを実行することです。
3
kdingo

あなたが説明したのとは違うことをするためのスクリプトを作成しました

1) "xm save domain domain.mem.backup"(一時停止あり)2)LVMスナップショット3) "xm restore domain domain.mem.backup" 4)LVMスナップショットのdomain.dd.backupへの "dd" 5)削除LVMスナップショット

復元するには:1)ドメインのLVM LVを作成します2)domain.dd.backupからこのLVへの「dd」3)「xmrestore domaindomain.dd.mem」

ドメインは、バックアップされたときのメモリの状態で再開されます。次に、書き込まれていないデータがある場合は、復元直後にそれを実行します...停止されたことがないように。

2
halkane

VMごとに個別のLVを使用してから、バックアップの目的で必要に応じて、各VM)の内容をスナップショット、マウント、およびコピー/ rsyncしないのはなぜですか?

0
womble

それはあなたが望むバックアップの品質とあなたが耐えることができるダウンタイムに依存します。完全に一貫性のあるバックアップが必要な場合は、domUをシャットダウンする必要があります(Linux domUを使用する場合、他のOSは異なる場合があります)。

一部のデータをバックアップしたいだけの場合は、「xmpause」コマンドにチャンスを与えることができます。 「xmpausedomain」を実行し、スナップショットを作成して、「xmunpausedomain」に進みます。ただし、ファイルシステムレイヤーや、アプリケーションのフラッシュされていないバッファー(sambaなど)で抵抗するデータでも、データが失われるリスクがあります。

Dom0ストレージレイヤーとdomUカーネルお​​よびアプリケーションの間に通信システム(FSおよびバッファー同期用))がないため、一貫したバックアップを実現する唯一の方法はdomUのシャットダウンです。

0
Flow