Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

11.2. libvirt での QEMU ゲストエージェントの使用

QEMU ゲストエージェントをインストールすると、さまざまな libvirt コマンドがより強力なものになります。ゲストエージェントは、以下の virsh コマンドを強化します。
  • virsh shutdown --mode=agent - このシャットダウン方法は、QEMU ゲストエージェントで使用される virsh shutdown で、クリーンな状態で Cooperative ゲストをシャットダウンすることが保証されているため、virsh shutdown の方が信頼性が高くなります。エージェントが存在しない場合は、代わりに ACPI シャットダウンイベントの挿入に依存する必要がありますが、ゲストによってはそのイベントを無視するため、シャットダウンしません。
    virsh reboot に同じ構文と一緒に使用できます。
  • virsh snapshot-create --quiesce - スナップショットが作成される前に、ゲストが I/O を安定した状態にフラッシュできるようにします。これにより、一部のデータベーストランザクションを実行することなく、スナップショットを使用できます。ゲストエージェントは、ゲストが稼働させることで、高いレベルのディスクコンテンツの安定性を確保します。
  • virsh domfsfreeze および virsh domfsthaw: ゲストファイルシステムを分離してある。
  • virsh domfstrim - ゲストがファイルシステムをトリミングする。
  • virsh domtime - Queries か、ゲストのクロックを設定します。
  • virsh setvcpus --guest - ゲストがオフラインで、CPU を取得します。
  • virsh domifaddr --source エージェント - ゲストエージェント経由でゲストオペレーティングシステムの IP アドレスをクエリーします。
  • virsh domfsinfo - 実行中のゲストにマウントされたファイルシステムの一覧を表示します。
  • virsh set-user-password - ゲスト内のユーザーアカウントのパスワードを設定します。

11.2.1. ゲストディスクのバックアップの作成

libvirt qemu-guest-agent と通信して、ゲスト仮想マシンファイルシステムのスナップショットが内部内部かつ必要に応じて使用できる状態になるようにすることができます。ゲストシステム管理者は、アプリケーション固有の freeze/thaw フックスクリプトを作成およびインストールできます。ファイルシステムを解放する前に、qemu-guest-agent はメインフックスクリプト( qemu-guest-agent パッケージに含まれる)を起動します。解放プロセスでは、すべてのゲスト仮想マシンアプリケーションを一時的に非アクティブにします。
スナップショットプロセスは、以下の手順で構成されます。
  • ファイルシステムアプリケーション/データベースは、作業バッファーを仮想ディスクにフラッシュし、クライアント接続の受け入れを停止
  • アプリケーションはそれらのデータファイルを一貫性のある状態にします。
  • メインフックスクリプトが返されます。
  • qemu-guest-agent ファイルシステムをフリーズし、管理スタックがスナップショットを作成する
  • スナップショットの確認
  • ファイルシステムの機能が再開します。
Thaing は逆順で行われます。
ゲストファイルシステムのスナップショットを作成する場合は、virsh snapshot-create --quiesce --disk-only コマンドを実行します (代わりに、virsh snapshot-create-as guest_name --quiesce --disk-only 「現在のゲスト仮想マシンのスナップショットの作成」)。
注記
アプリケーション固有のフックスクリプトでは、スクリプトがデータベースと通信する際にソケットに接続する必要がある場合に行われるように、さまざまな SELinux パーミッションが必要になる場合があります。一般的には、ローカルの SELinux ポリシーを開発してインストールし、その目的でインストールする必要があります。ファイルシステムノードへのアクセスは、/etc/qemu-ga/fsfreeze-hook.d/ 表11.1「QEMU ゲストエージェントパッケージの内容」 restorecon -FvvR コマンドを実行します。
qemu-guest-agent バイナリー RPM には以下のファイルが含まれます。

表11.1 QEMU ゲストエージェントパッケージの内容

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