2.4. 仮想マシンでの QEMU ゲストエージェント機能の有効化
RHEL 9 システムでホストされている仮想マシンの特定の機能を使用するには、まず QEMU ゲストエージェント (GA) を使用するように仮想マシンを設定する必要があります。
これらの機能の完全なリストについては、QEMU ゲストエージェントを必要とする仮想化機能 を参照してください。
仮想マシン上で QEMU GA を設定するために必要な具体的な手順は、仮想マシンが使用するゲストオペレーティングシステムによって異なります。
- Linux 仮想マシンの場合は、Linux ゲストでの QEMU ゲストエージェントの有効化 参照してください。
- Windows 仮想マシンの場合は、Windows ゲストでの QEMU ゲストエージェントの有効化 を参照してください。
2.4.1. Linux ゲストでの QEMU ゲストエージェントの有効化
RHEL ホストが Linux 仮想マシン上で 特定の操作のサブセット を実行できるようにするには、QEMU ゲストエージェント (GA) を有効にする必要があります。
実行中の仮想マシンとシャットダウンした仮想マシンの両方で、QEMU GA を有効にできます。
手順
QEMU GA の XML 設定ファイル (例:
qemuga.xml
) を作成します。# touch qemuga.xml
ファイルに以下の行を追加します。
<channel type='unix'> <source mode='bind' path='/var/lib/libvirt/qemu/f16x86_64.agent'/> <target type='virtio' name='org.qemu.guest_agent.0'/> </channel>
XML ファイルを使用して、仮想マシンの設定に QEMU GA を追加します。
仮想マシンが実行中の場合は、次のコマンドを使用します。
# virsh attach-device <vm-name> qemuga.xml --live --config
仮想マシンがシャットダウンされている場合は、次のコマンドを使用します。
# virsh attach-device <vm-name> qemuga.xml --config
Linux ゲストオペレーティングシステムで、QEMU GA をインストールします。
# dnf install qemu-guest-agent
ゲストで QEMU GA サービスを起動します。
# systemctl start qemu-guest-agent
検証
QEMU GA が Linux 仮想マシンで有効化および実行されていることを確認するには、次のいずれかを実行します。
-
ゲストオペレーティングシステムで、
systemctl status qemu-guest-agent | grep Loaded
コマンドを使用します。出力にenabled
が含まれる場合、仮想マシン上で QEMU GA がアクティブになっています。 -
ホストで
virsh domfsinfo <vm-name>
コマンドを使用します。何らかの出力が表示された場合、指定した仮想マシン上で QEMU GA がアクティブになっています。
2.4.2. Windows ゲストでの QEMU ゲストエージェントの有効化
RHEL ホストが Windows 仮想マシン上で 特定の操作のサブセット を実行できるようにするには、QEMU ゲストエージェント (GA) を有効にする必要があります。これを行うには、QEMU ゲストエージェントインストーラーを含むストレージデバイスを、既存の仮想マシンに追加するか、新しい仮想マシンを作成するときに追加し、Windows ゲストオペレーティングシステムにドライバーをインストールします。
グラフィカルインターフェイスを使用してゲストエージェント (GA) をインストールするには、以下の手順を参照してください。コマンドラインインターフェイスで GA をインストールするには、Microsoft Windows Installer (MSI) を使用してください。
前提条件
- ゲストエージェントを含むインストールメディアが仮想マシンに接続されている。メディアの準備手順は、Preparing virtio driver installation media on a host machine を参照してください。
手順
-
Windows ゲストオペレーティングシステムで、
File Explorer
アプリケーションを開きます。 -
この PC
をクリックします。 -
デバイスおよびドライブ
ペインで、virtio-win
メディアを開きます。 -
guest-agent
フォルダーを開きます。 仮想マシンにインストールされているオペレーティングシステムに基づいて、次のいずれかのインストーラーを実行します。
-
32 ビットオペレーティングシステムを使用している場合は、
qemu-ga-i386.msi
インストーラーを実行します。 -
64 ビットオペレーティングシステムを使用している場合は、
qemu-ga-x86_64.msi
インストーラーを実行します。
-
32 ビットオペレーティングシステムを使用している場合は、
-
オプション: ホストと Windows ゲスト間の通信インターフェイスとして準仮想化シリアルドライバー (
virtio-serial
) を使用する場合は、virtio-serial
ドライバーが Windows ゲストにインストールされていることを確認します。virtio
ドライバーのインストールの詳細は、Windows ゲストへの virtio ドライバーのインストール を参照してください。
検証
Windows 仮想マシンで、Services ウィンドウに移動します。
Computer Management > Services
-
QEMU Guest Agent
のステータスがRunning
であることを確認します。
2.4.3. QEMU ゲストエージェントを必要とする仮想化機能
仮想マシン (VM) で QEMU ゲストエージェント (GA) を有効にすると、ホスト上で次のコマンドを使用して仮想マシンを管理できます。
virsh shutdown --mode=agent
-
このシャットダウン方法は、
virsh shutdown --mode=acpi
よりも信頼性が高くなります。これは、QEMU GA で使用するvirsh shutdown
は、確実にクリーンな状態で協調ゲストをシャットダウンするためです。
virsh domfsfreeze
およびvirsh domfsthaw
- ゲストファイルシステムを分離してフリーズします。
virsh domfstrim
ゲストにファイルシステムをトリミングするように指示します。これにより、移行中に転送する必要のあるデータを削減できます。
重要このコマンドを使用して Linux 仮想マシンを管理する場合は、ゲストオペレーティングシステムで次の SELinux ブール値も設定する必要があります。
# setsebool virt_qemu_ga_read_nonsecurity_files on
virsh domtime
- ゲストの時計をクエリーまたは設定します。
virsh setvcpus --guest
- ゲストに CPU をオフラインにするように指示します。これは、CPU をホットアンプラグできない場合に便利です。
virsh domifaddr --source agent
- QEMU GA を使用してゲストオペレーティングシステムの IP アドレスをクエリーします。たとえば、ゲストインターフェイスがホストインターフェイスに直接接続されている場合に便利です。
virsh domfsinfo
- 実行中のゲストにマウントされているファイルシステムのリストを表示します。
virsh set-user-password
- ゲストの特定のユーザーアカウントのパスワードを設定します。
virsh set-user-sshkeys
ゲストの特定のユーザーの認可された SSH 鍵ファイルを編集します。
重要このコマンドを使用して Linux 仮想マシンを管理する場合は、ゲストオペレーティングシステムで次の SELinux ブール値も設定する必要があります。
# setsebool virt_qemu_ga_manage_ssh on