11.2.5. ゲスト仮想マシンディスクバックアップの作成

libvirtqemu-ga と通信し、ゲスト仮想マシンファイルシステムのスナップショットが内部で一貫しており、随時使用可能であることを保証します。Red Hat Enterprise Linux 6 に改善が加えられたことにより、ファイルとアプリケーションの両レベルの同期 (フラッシュ) が確実に実行されるようになりました。ゲストシステムの管理者はアプリケーション固有のフリーズ/フリーズ解除フックスクリプトを作成し、インストールすることができます。ファイルシステムをフリーズする前に、qemu-ga は主なフックスクリプト (qemu-ga パッケージ内に組み込まれている) を起動します。フリーズプロセスは、すべての仮想マシンアプリケーションを一時的に非アクティブにします。
ファイルシステムがフリーズされる前に、以下のアクションが発生します。
  • ファイルシステムのアプリケーション/データベースは作業バッファーを仮想ディスクにフラッシュし、クライアント接続の受け入れを停止します。
  • アプリケーションはそれらのデータファイルを一貫性のある状態にします。
  • メインフックスクリプトが返されます。
  • qemu-ga はファイルシステムをフリーズし、管理スタックはスナップショットを取得します。
  • スナップショットが確認されます。
  • ファイルシステムの機能が再開します。
フリーズ解除が逆の順序で生じます。
ゲストディスクのスナップショットを作成するには、snapshot-create-as コマンドを使用します。このコマンドに関する詳細情報は、「現在のドメインのスナップショットの作成」 を参照してください。

注記

アプリケーション固有のフックスクリプトは、正常に実行されるために各種の SELinux パーミッションを必要とする場合があります。これは、データベースと対話するためにスクリプトをソケットに接続する必要がある場合と同様です。通常、このような状況に備えて、ローカルの SELinux ポリシーを作成し、インストールしておく必要があります。表11.1「QEMU ゲストエージェントのパッケージコンテンツ」 内の /etc/qemu-ga/fsfreeze-hook.d/ のラベルが付いた行にある restorecon -FvvR コマンドを実行すると、ファイルシステムノードへのアクセスが設定なしで機能します。
qemu-guest-agent バイナリー RPM には以下のファイルが含まれます。

表11.1 QEMU ゲストエージェントのパッケージコンテンツ

ファイル名詳細
/etc/rc.d/init.d/qemu-gaQEMU ゲストエージェント用のサービス制御スクリプト (開始/停止)。
/etc/sysconfig/qemu-gaQEMU ゲストエージェントが /etc/rc.d/init.d/qemu-ga 制御スクリプトで読み込まれる際の QEMU ゲストエージェントの設定ファイル。設定内容はシェルスクリプトのコメントと共にファイルに記載されます。
/usr/bin/qemu-gaQEMU ゲストエージェントのバイナリーファイル。
/usr/libexec/qemu-ga/フックスクリプトの root ディレクトリー。
/usr/libexec/qemu-ga/fsfreeze-hookメインフックスクリプト。ここでの変更は必要ありません。
/usr/libexec/qemu-ga/fsfreeze-hook.d/個別の、アプリケーション固有のフックスクリプトのディレクトリー。ゲストのシステム管理者はこのディレクトリーにフックスクリプトを手動でコピーし、それらに適切なファイルモードビットが設定されていることを確認してから、このディレクトリー上で restorecon -FvvR を実行する必要があります。
/usr/share/qemu-kvm/qemu-ga/サンプルスクリプトのあるディレクトリー (例の参照目的のみ)。ここに含まれるスクリプトは実行されません。
メインのフックスクリプトである /usr/libexec/qemu-ga/fsfreeze-hook は、独自のメッセージを、アプリケーション固有スクリプトの標準出力およびエラーメッセージと共に /var/log/qemu-ga/fsfreeze-hook.log のログファイルに記録します。詳細情報は、wiki.qemu.org または libvirt.org の qemu-guest-agent wiki ページを参照してください。