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


QEMU ゲストエージェントをインストールすると、さまざまな libvirt コマンドのパフォーマンスが向上します。ゲストエージェントは、次のvirsh コマンドを拡張します。
  • virsh shutdown --mode=agent - このシャットダウン方法は、virsh shutdown --mode=acpi よりも信頼性が高くなります。QEMU ゲストエージェントで使用する virsh shutdown は、クリーンな状態で協調ゲストをシャットダウンすることが保証されます。エージェントが存在しない場合、libvirt は代わりに ACPI シャットダウンイベントの挿入に依存する必要がありますが、一部のゲストはそのイベントを無視するため、シャットダウンしません。
    virsh reboot と同じ構文で使用できます。
  • virsh snapshot-create --quiesce - スナップショットが作成される前に、ゲストが I / O を安定した状態にフラッシュできるようにします。これにより、fsck を実行したり、データベーストランザクションの一部を失うことなくスナップショットを使用できます。ゲストエージェントは、ゲストの相互作用を提供することで、高レベルのディスクコンテンツの安定性を実現します。
  • virsh domfsfreeze および virsh domfsthaw - ゲストファイルシステムを分離して静止します。
  • virsh domfstrim - ファイルシステムをトリミングするようにゲストに指示します。
  • virsh domtime - ゲストの時計をクエリーまたは設定します。
  • virsh setvcpus --guest - CPU をオフラインにするようにゲストに指示します。
  • virsh domifaddr --source agent - ゲストエージェントを介してゲストオペレーティングシステムの IP アドレスを問い合わせます。
  • virsh domfsinfo - 実行中のゲストでマウントされているファイルシステムのリストを表示します。
  • virsh set-user-password - ゲストのユーザーアカウントのパスワードを設定します。

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

libvirt は、qemu-guest-agent と通信して、ゲスト仮想マシンファイルシステムのスナップショットが内部的に整合性があり、必要に応じて使用できるようにすることができます。ゲストシステム管理者は、アプリケーション固有のフリーズ/フリーズ解除フックスクリプトを作成してインストールできます。ファイルシステムをフリーズする前に、qemu-guest-agent はメインフックスクリプト (qemu-guest-agent パッケージに含まれる) を呼び出します。フリーズプロセスでは、ゲスト仮想マシンのアプリケーションがすべて一時的に非アクティブになります。
スナップショットプロセスは、以下の手順で設定されます。
  • ファイルシステムアプリケーション/データベースは、作業バッファーを仮想ディスクにフラッシュし、クライアント接続の受け入れを停止します。
  • アプリケーションがデータファイルを一貫した状態にします。
  • メインフックスクリプトが返されます。
  • qemu-guest-agent がファイルシステムをフリーズし、、管理スタックがスナップショットを取得します。
  • スナップショットが確認されました。
  • ファイルシステムの機能が再開します。
フリーズ解除は逆の順序で行われます。
ゲストのファイルシステムのスナップショットを作成するには、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 ゲストエージェントパッケージの内容
File name 説明
/usr/lib/systemd/system/qemu-guest-agent.service QEMU ゲストエージェントのサービス制御スクリプト (start/stop)
/etc/sysconfig/qemu-ga /usr/lib/systemd/system/qemu-guest-agent.service 制御スクリプトにより読み込まれる QEMU ゲストエージェントの設定ファイル。設定は、シェルスクリプトのコメントが記載されたファイルで説明されています。
/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 サイト を参照してください。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.