21.2. Windows 仮想マシンの最適化
RHEL 9 でホストされる仮想マシンで Microsoft Windows をゲストオペレーティングシステムとして使用すると、ゲストのパフォーマンスが悪影響を受ける可能性があります。
そのため、Red Hat は、以下のいずれかを組み合わせて実行して Windows 仮想マシンを最適化することを推奨しています。
- 準仮想化ドライバーの使用。詳細は、Installing KVM paravirtualized drivers for Windows virtual machines を参照してください。
- Hyper-V Enlightenment の有効化。詳細は、Hyper-V enlightenment の有効化 を参照してください。
- NetKVM ドライバーパラメーターの設定。詳細は、Configuring NetKVM driver parameters を参照してください。
- Windows バックグラウンドプロセスの最適化または無効化。詳細は、Optimizing background processes on Windows virtual machines を参照してください。
21.2.1. Windows 仮想マシン用の KVM 準仮想化ドライバーのインストール リンクのコピーリンクがクリップボードにコピーされました!
Windows 仮想マシンのパフォーマンスを改善する主な方法は、Windows 用の KVM 準仮想化 (virtio) ドライバーをゲストオペレーティングシステムにインストールすることです。
virtio-win ドライバーは、各 virtio-win リリースの時点で利用可能な Windows 10 および 11 の最新リリースに対して認定 (WHQL) されています。ただし、virtio-win ドライバーは広くテストされており、Windows 10 および 11 の以前のビルドでも正しく機能することが期待されます。
Windows VM にドライバーをインストールするには、次の操作を実行します。
- ホストマシンにインストールメディアを準備します。詳細は、Preparing virtio driver installation media on a host machine を参照してください。
- インストールメディアを既存の Windows 仮想マシンに接続するか、新しい Windows 仮想マシンを作成するときに接続します。詳細は、RHEL への Windows 仮想マシンのインストール を参照してください。
-
Windows ゲストオペレーティングシステムに
virtioドライバーをインストールします。詳細は、Installing virtio drivers on a Windows guest を参照してください。 -
QEMU Guest Agentを Windows ゲストオペレーティングシステムにインストールします。詳細は、Windows ゲストへの QEMU ゲストエージェントのインストール を参照してください。
21.2.1.1. Windows virtio ドライバーの仕組み リンクのコピーリンクがクリップボードにコピーされました!
準仮想化ドライバーは仮想マシンのパフォーマンスを向上し、I/O レイテンシーを下げ、ベアメタルレベルまでスループットを増加させます。Red Hat は、I/O 負荷の高いタスクとアプリケーションを実行する仮想マシンには、準仮想化ドライバーを使用することを推奨します。
virtio ドライバーは、KVM ホストで実行する Windows 仮想マシンで利用可能な、KVM の準仮想化デバイスドライバーです。これらのドライバーは、virtio-win パッケージにより提供されます。これには、以下のドライバーが含まれます。
- ブロック (ストレージ) デバイス
- ネットワークインターフェイスコントローラー
- ビデオコントローラー
- メモリーバルーニングデバイス
- 準仮想化シリアルポートデバイス
- エントロピーソースデバイス
- 準仮想化パニックデバイス
- マウス、キーボード、タブレットなどの入力デバイス
- エミュレートされたデバイスの小規模セット
エミュレートされたデバイス、virtio デバイス、および割り当てられたデバイスの詳細は、仮想デバイスの管理 を参照してください。
KVM の virtio ドライバーを使用すると、以下の Microsoft Windows バージョンが、物理システムのように動作することが見込まれます。
- Windows Server バージョン - Red Hat ナレッジベースの Certified guest operating systems for Red Hat Enterprise Linux with KVM を参照してください。
Windows デスクトップ (サーバー以外) バージョン:
- Windows 10 (32 ビット版および 64 ビット版)
- Windows 11 (64 ビット)
21.2.1.2. ホストマシンでの virtio ドライバーインストールメディアの準備 リンクのコピーリンクがクリップボードにコピーされました!
KVM virtio ドライバーを Windows 仮想マシン (VM) にインストールまたは更新するには、最初にホストマシンで virtio ドライバーインストールメディアを準備する必要があります。これを行うには、virtio-win パッケージで提供される .iso ファイルをストレージデバイスとして Windows VM に接続します。
前提条件
- RHEL 9 ホストシステムで仮想化が有効になっていることを確認する。詳細は、仮想化の有効化 を参照してください。
- 仮想マシンへのルートアクセス権限があることを確認します。
手順
サブスクリプションデータを更新します。
# subscription-manager refresh All local data refreshedvirtio-winパッケージの最新バージョンを入手します。virtio-winがインストールされていない場合:# dnf install -y virtio-winvirtio-winがインストールされている場合:# dnf upgrade -y virtio-winインストールが成功すると、
virtio-winドライバーファイルが/usr/share/virtio-win/ディレクトリーで使用可能になります。これには、ISOファイルと、ディレクトリーにドライバーファイルを持つdriversディレクトリー (各アーキテクチャーと対応している Windows バージョン用のファイル) が含まれます。# ls /usr/share/virtio-win/ drivers/ guest-agent/ virtio-win-1.9.9.iso virtio-win.iso
virtio-win.isoファイルをストレージデバイスとして Windows 仮想マシンに割り当てます。-
新しい Windows 仮想マシンを作成する ときは、
virt-installコマンドオプションを使用してファイルをアタッチします。 既存の Windows 仮想マシンにドライバーをインストールする場合は、
virt-xmlユーティリティーを使用してファイルを CD-ROM として割り当てます。# virt-xml WindowsVM --add-device --disk virtio-win.iso,device=cdrom Domain 'WindowsVM' defined successfully.
-
新しい Windows 仮想マシンを作成する ときは、
21.2.1.3. Windows ゲストへの virtio ドライバーのインストール リンクのコピーリンクがクリップボードにコピーされました!
KVM virtio ドライバーを Windows ゲストオペレーティングシステムにインストールするには、ドライバーを含むストレージデバイスを (仮想マシン (VM) の作成時または作成後に) 追加し、Windows ゲストオペレーティングシステムにドライバーをインストールする必要があります。
この手順では、グラフィカルインターフェイスを使用してドライバーをインストールする手順を説明します。Microsoft Windows Installer (MSI) コマンドラインインターフェイスを使用することもできます。
前提条件
-
KVM
virtioドライバーを含むインストールメディアが仮想マシンに割り当てられている。メディアの準備手順は、Preparing virtio driver installation media on a host machine を参照してください。
手順
-
Windows ゲストオペレーティングシステムで、
File Explorerアプリケーションを開きます。 -
この PCをクリックします。 -
デバイスおよびドライブペインで、virtio-winメディアを開きます。 仮想マシンにインストールされているオペレーティングシステムに基づいて、次のいずれかのインストーラーを実行します。
-
32 ビットオペレーティングシステムを使用している場合は、
virtio-win-gt-x86.msiインストーラーを実行します。 -
64 ビットオペレーティングシステムを使用している場合は、
virtio-win-gt-x64.msiインストーラーを実行します。
-
32 ビットオペレーティングシステムを使用している場合は、
表示された
Virtio-win-driver-installerセットアップウィザードで、表示される指示に従い、Custom Setupステップまで進みます。
- カスタムセットアップ画面で、インストールするデバイスドライバーを選択します。推奨されるドライバーセットが自動的に選択され、ドライバーの説明がリストの右側に表示されます。
- をクリックして、 をクリックします。
- インストールが完了したら、 をクリックします。
- 仮想マシンを再起動してドライバーのインストールを完了します。
検証
Windows 仮想マシンで、Device Manager に移動します。
- Start をクリックします。
- Device Manager を検索します。
デバイスが正しいドライバーを使用していることを確認します。
- デバイスをクリックして Driver Properties ウィンドウを開きます。
- Driver タブに移動します。
- Driver Details をクリックします。
次のステップ
- NetKVM ドライバーをインストールした場合は、Windows ゲストのネットワークパラメーターの設定も必要になる場合があります。詳細は、Configuring NetKVM driver parameters を参照してください。
21.2.1.4. Windows ゲストでの virtio ドライバーの更新 リンクのコピーリンクがクリップボードにコピーされました!
Windows ゲストオペレーティングシステム (OS) で KVM virtio ドライバーを更新するには、Windows OS バージョンがサポートしている場合、Windows Update サービスを使用できます。そうでない場合は、Windows 仮想マシン (VM) に割り当てられている virtio ドライバーインストールメディアからドライバーを再インストールします。
前提条件
- virtio ドライバーがインストールされた Windows ゲスト OS。
-
Windows Updateを使用しない場合は、最新の KVMvirtioドライバーを含むインストールメディアを Windows 仮想マシンに割り当てる必要があります。メディアの準備手順は、Preparing virtio driver installation media on a host machine を参照してください。
手順 1: Windows Update を使用してドライバーを更新する
Windows 10、Windows Server 2016 以降のオペレーティングシステムでは、Windows Update グラフィカルインターフェイスを使用して、ドライバーの更新が利用可能かどうかを確認します。
- Windows 仮想マシンを起動し、ゲスト OS にログインします。
Optional updates ページに移動します。
Settings
Windows Update Advanced options Optional updates - Red Hat, Inc. からのすべての更新をインストールします。
手順 2: ドライバーを再インストールして更新する
Windows 10 および Windows Server 2016 より前のオペレーティングシステムの場合、または OS が Windows Update にアクセスできない場合は、ドライバーを再インストールします。これにより、Windows ゲスト OS のネットワーク設定がデフォルト (DHCP) に復元されます。カスタマイズしたネットワーク設定を保持する場合は、バックアップを作成し、netsh ユーティリティーを使用して復元する必要もあります。
- Windows 仮想マシンを起動し、ゲスト OS にログインします。
Windows コマンドプロンプトを開きます。
- Super+R キーボードショートカットを使用します。
-
表示されるウィンドウで
cmdと入力し、Ctrl+Shift+Enter を押して管理者として実行します。
Windows コマンドプロンプトを使用して、OS ネットワーク設定をバックアップします。
C:\WINDOWS\system32\netsh dump > backup.txt割り当てられているインストールメディアから KVM
virtioドライバーを再インストールします。次のいずれかを行います。Windows コマンドプロンプトを使用してドライバーを再インストールします。ここで、X はインストールメディアのドライブ文字です。次のコマンドは、すべての
virtioドライバーをインストールします。64 ビット vCPU を使用している場合:
C:\WINDOWS\system32\msiexec.exe /i X:\virtio-win-gt-x64.msi /passive /norestart
32 ビット vCPU を使用している場合:
C:\WINDOWS\system32\msiexec.exe /i X:\virtio-win-gt-x86.msi /passive /norestart
- VM を再起動せずに、グラフィカルインターフェイスを使用して ドライバーを再インストールします。
Windows コマンドプロンプトを使用して、OS ネットワーク設定を復元します。
C:\WINDOWS\system32\netsh -f backup.txt- 仮想マシンを再起動してドライバーのインストールを完了します。
21.2.1.5. 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であることを確認します。