Jump to contentJump to page navigation: previous page [access key p]/next page [access key n]
コンテンツコンテンツ
仮想化ガイド
  1. 前書き
  2. I 概要
    1. 1 仮想化技術
    2. 2 仮想化シナリオ
    3. 3 Xen 仮想化の紹介
    4. 4 KVM 仮想化の紹介
    5. 5 仮想化ツール
    6. 6 仮想化コンポーネントのインストール
  3. II libvirt を利用した仮想マシンの管理
    1. 7 libvirt デーモン
    2. 8 VM ホストサーバ の準備
    3. 9 ゲストのインストール
    4. 10 基本的な VM ゲスト の管理
    5. 11 接続と認可
    6. 12 高度なストレージ設定
    7. 13 仮想マシンマネージャ を利用した仮想マシンの設定
    8. 14 virsh を利用した仮想マシンの設定
    9. 15 AMD SEV-SNP による仮想マシンのセキュリティ強化
    10. 16 VM ゲスト の移行
    11. 17 Xen から KVM への移行ガイド
  4. III 全ハイパーバイザ共通の機能
    1. 18 ディスクのキャッシュモード
    2. 19 VM ゲスト の時刻設定
    3. 20 libguestfs
    4. 21 QEMU ゲストエージェント
    5. 22 ソフトウエア TPM エミュレータ
    6. 23 VM ゲスト に対するクラッシュダンプの作成
  5. IV Xen を利用した仮想マシンの管理
    1. 24 仮想マシンホストの設定
    2. 25 仮想ネットワーク
    3. 26 仮想環境の管理
    4. 27 Xen 内でのブロックデバイス
    5. 28 仮想化: オプション設定
    6. 29 管理作業
    7. 30 XenStore: ドメイン間で共有される設定データベース
    8. 31 Xen の高可用性仮想化ホストとしての使用
    9. 32 Xen: 準仮想化 (PV) ゲストから完全仮想化 (FV/HVM) ゲストへの変換
  6. V QEMU を利用した仮想マシンの管理
    1. 33 QEMU の概要
    2. 34 KVM VM ホストサーバ の構築
    3. 35 ゲストのインストール
    4. 36 qemu-system-ARCH を利用した仮想マシンの実行
    5. 37 QEMU モニタを利用した仮想マシンの管理
  7. VI トラブルシューティング
    1. 38 内蔵ヘルプとパッケージのドキュメンテーション
    2. 39 システム情報とログの収集
  8. 用語集
  9. A NVIDIA カードに対する GPU パススルー の設定
  10. B GNU ライセンス
ナビゲーション
適用先 openSUSE Leap 15.7

21 QEMU ゲストエージェント Edit source

QEMU ゲストエージェント (GA) は VM ゲスト 内で動作するもので、 VM ホストサーバ から libvirt を介して、ゲスト側でコマンドを実行するための仕組みです。この仕組みでは、ゲスト側のファイルシステムに関する情報やファイルシステムの一時休止/再開、ゲストの一時停止や再起動などを行うことができます。

QEMU GA は qemu-guest-agent パッケージ内に含まれています。このパッケージは、 KVM の仮想マシン環境を設定していれば、既定でインストールおよび設定、有効化までが行われます。

QEMU GA は Xen 仮想マシンでもインストールされますが、既定では有効化されません。また、 Xen 仮想マシンでも使用することができますが、 KVM 仮想マシンのような libvirt との統合機能は提供されていません。 QEMU GA を Xen で使用する場合は、 VM ゲスト の設定でチャンネルデバイスを追加しなければなりません。チャンネルデバイスは VM ホストサーバ 側の Unix ドメインソケットで、 QEMU GA との通信に使用するチャンネルです。

<channel type='unix'>
  <source mode='bind' path='/example/path'/>
  <target type='xen' name='org.qemu.guest_agent.0'/>
</channel>

21.1 QEMU GA コマンドの実行 Edit source

QEMU GA には、 libvirt では直接提供していない多数の組み込みコマンドが提供されています。完全な一覧については 21.4項 「さらなる情報」 をお読みください。また QEMU GA のコマンドは、 libvirt の汎用コマンド qemu-agent-command を利用して実行します:

virsh qemu-agent-command ドメイン名 '{"execute":"QEMU_GA_のコマンド"}'

たとえば下記のようになります:

> sudo virsh qemu-agent-command sle15sp2 '{"execute":"guest-info"}' --pretty
{
"return": {
  "version": "4.2.0",
  "supported_commands": [
    {
      "enabled": true,
      "name": "guest-get-osinfo",
      "success-response": true
    },
[...]

21.2 QEMU GA を必要とする virsh のコマンド Edit source

virsh のコマンド内にも、実行するにあたって QEMU GA の機能を必要とするものがあります。下記にそれらのうちのいくつかを示します:

virsh guestinfo

ゲスト側の観点で、ゲストに関する情報を表示します。

virsh guestvcpus

ゲスト側の観点で、仮想 CPU の状態を問い合わせたり、設定を変更したりすることができます。

virsh set-user-password

ゲスト内のユーザアカウントに対して、パスワードの設定を行います。

virsh domfsinfo

動作中のドメイン内で、マウントされているファイルシステムの一覧を表示します。

virsh dompmsuspend

動作中のゲストを一時停止します。

21.3 libvirt コマンドの拡張 Edit source

ゲスト内で QEMU GA が有効化されていれば、エージェント モードで動作させることで、様々な機能を提供する多数の virsh サブコマンドを実行することができるようになります。下記の一覧には、それらのうちのいくつかの例を示します。完全な一覧を読みたい場合は、 virsh のマニュアルページにて agent で検索を行ってご確認ください。

virsh shutdown --mode agent および virsh reboot --mode agent

このサブコマンドを実行すると、次回以降のゲスト実行時に障害を発生させたりすることのないよう、適切なシャットダウンもしくは再起動を行うことができます。これは ACPI でのシャットダウンや再起動と似ています。

virsh domfsfreeze および virsh domfsthaw

ゲストに対してファイルシステムの一時休止を指示します。これにより、キャッシュ内に残っている全ての I/O 操作を完了させ、ボリュームの一貫性が保たれた状態になります。そのため、再マウント時にファイルシステムのチェックが不要となります。

virsh setvcpus --guest

ゲストに割り当てている CPU の数を変更します。

virsh domifaddr --source agent

QEMU GA に対して、ゲスト側の IP アドレスを問い合わせます。

virsh vcpucount --guest

ゲスト側の観点で、仮想 CPU の数に関する情報を表示します。

21.4 さらなる情報 Edit source

  • QEMU GA で提供している全てのコマンドの一覧については、 https://www.qemu.org/docs/master/interop/qemu-ga-ref.html をお読みください。

  • virsh のマニュアルページ ( man 1 virsh ) には、 QEMU GA インターフェイスを利用することのできるコマンドの説明が示されています。

このページを印刷