第4章 Windows 仮想マシンの最適化
RHEL 10 でホストされる仮想マシン (VM) でゲストオペレーティングシステムとして Microsoft Windows を使用すると、ゲストのパフォーマンスに悪影響が出る可能性があります。
そのため、以下の対策を組み合わせて実施することで、Windows 仮想マシンのパフォーマンスを最適化できます。
- 準仮想化ドライバーの使用。詳細は、Windows 仮想マシン用の KVM 準仮想化ドライバーのインストール を参照してください。
- Hyper-V enlightenments の有効化。詳細は、Hyper-V enlightenments の有効化 を参照してください。
- NetKVM ドライバーパラメーターの設定。詳細は、NetKVM ドライバーパラメーターの設定 を参照してください。
- Windows バックグラウンドプロセスの最適化または無効化。詳細は、Windows 仮想マシンでのバックグラウンドプロセスの最適化 を参照してください。
4.1. Windows 仮想マシン用の KVM 準仮想化ドライバーのインストール リンクのコピーリンクがクリップボードにコピーされました!
Windows 仮想マシンのパフォーマンスを改善する主な方法は、Windows 用の KVM 準仮想化 (virtio) ドライバーをゲストオペレーティングシステムにインストールすることです。
virtio-win ドライバーは、各 virtio-win リリースの時点で利用可能な Windows 10 および 11 の最新リリースに対して認定 (WHQL) されています。ただし、virtio-win ドライバーは広くテストされており、Windows 10 および 11 の以前のビルドでも正しく機能することが期待されます。
Windows 仮想マシンにドライバーをインストールするには、次の操作を実行します。
- ホストマシンにインストールメディアを準備します。詳細は、ホストマシンでの virtio ドライバーインストールメディアの準備 を参照してください。
- インストールメディアを既存の Windows 仮想マシンに割り当てるか、新しい Windows 仮想マシンを作成するときに割り当てます。詳細は、RHEL への Windows 仮想マシンのインストール を参照してください。
-
Windows ゲストオペレーティングシステムに
virtioドライバーをインストールします。詳細は、Windows ゲストへの virtio ドライバーのインストール を参照してください。 -
Windows ゲストオペレーティングシステムで
QEMU Guest Agentを有効にします。詳細は、Windows ゲストへの QEMU ゲストエージェントのインストール を参照してください。
4.1.1. Windows virtio ドライバーの仕組み リンクのコピーリンクがクリップボードにコピーされました!
準仮想化ドライバーは、I/O レイテンシーを下げ、スループットをほぼベアメタルレベルまで上げることで、仮想マシン (VM) のパフォーマンスを向上させます。I/O 負荷の高いタスクやアプリケーションを実行する仮想マシンには、準仮想化ドライバーを使用できます。
virtio ドライバーは、KVM の準仮想化デバイスドライバーであり、KVM ホスト上で稼働する Windows 仮想マシンで利用できます。このドライバーは、次のドライバーを含む virtio-win パッケージによって提供されます。
- ブロック (ストレージ) デバイス
- ネットワークインターフェイスコントローラー
- ビデオコントローラー
- メモリーバルーニングデバイス
- 準仮想化メモリーデバイス
- 準仮想化シリアルポートデバイス
- エントロピーソースデバイス
- 準仮想化パニックデバイス
- マウス、キーボード、タブレットなどの入力デバイス
- VirtIO FS Device
- QEMU FwCfg Device
- エミュレートされたデバイスの小規模セット
エミュレートされたデバイス、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 ビット)
4.1.2. ホストマシンでの virtio ドライバーインストールメディアの準備 リンクのコピーリンクがクリップボードにコピーされました!
KVM virtio ドライバーを Windows 仮想マシン (VM) にインストールまたは更新するには、最初にホストマシンで virtio ドライバーインストールメディアを準備する必要があります。これを行うには、virtio-win パッケージによって提供される .iso ファイルを、ストレージデバイスとして Windows 仮想マシンに割り当てます。
前提条件
- RHEL 10 ホストシステムで仮想化が有効になっていることを確認する。詳細は、仮想マシンをホストするための RHEL の準備 を参照してください。
- 仮想マシンへの root アクセス特権があることを確認する。
手順
サブスクリプションデータを更新します。
# 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/ agents.json drivers/ guest-agent/ info.json /installer /qxl-wddm-dod release-drivers-versions.txt /spice-vdagent /tools virtio-win-1.9.45.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 仮想マシンを作成 する場合は、
4.1.3. Windows ゲストへの virtio ドライバーのインストール リンクのコピーリンクがクリップボードにコピーされました!
KVM virtio ドライバーを Windows ゲストオペレーティングシステムにインストールするには、ドライバーを含むストレージデバイスを (仮想マシン (VM) の作成時または作成後に) 追加し、Windows ゲストオペレーティングシステムにドライバーをインストールする必要があります。
この手順では、グラフィカルインターフェイスを使用してドライバーをインストールする手順を説明します。Microsoft Windows Installer (MSI) コマンドラインインターフェイスを使用することもできます。
前提条件
-
KVM
virtioドライバーを含むインストールメディアが仮想マシンに割り当てられている。メディアを準備する手順は、ホストマシンでの virtio ドライバーインストールメディアの準備 を参照してください。 -
KVM
virtioドライバーを備えた記憶媒体を Windows 仮想マシンに接続する必要があります。
手順
-
Windows ゲストオペレーティングシステムで、
File Explorerアプリケーションを開きます。 -
This PCをクリックします。 -
Devices and drivesペインで、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 ゲストのネットワークパラメーターの設定も必要になる場合があります。詳細は、NetKVM ドライバーパラメーターの設定 を参照してください。
4.1.4. Windows ゲストでの virtio ドライバーの更新 リンクのコピーリンクがクリップボードにコピーされました!
Windows ゲストオペレーティングシステム (OS) で KVM virtio ドライバーを更新するには、Windows OS バージョンでサポートされている場合は Windows Update サービスを使用できます。そうでない場合は、Windows 仮想マシン (VM) に割り当てられている virtio ドライバーインストールメディアからドライバーを再インストールします。
前提条件
- virtio ドライバーがインストールされた Windows ゲスト OS。
-
Windows Updateを使用しない場合は、最新の KVMvirtioドライバーを含むインストールメディアを Windows 仮想マシンに割り当てる必要があります。メディアを準備する手順は、ホストマシンでの virtio ドライバーインストールメディアの準備 を参照してください。
手順
Windows 10、Windows Server 2016 以降のオペレーティングシステムでは、
Windows Updateグラフィカルインターフェイスを使用して、ドライバーの更新が利用可能かどうかを確認します。- Windows 仮想マシンを起動し、ゲスト OS にログインします。
Optional updates ページに移動します。
Settings
Windows Update Advanced options Optional updates - Red Hat, Inc. からのすべての更新をインストールします。
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 /norestart32 ビット vCPU を使用している場合:
C:\WINDOWS\system32\msiexec.exe /i X:\virtio-win-gt-x86.msi /passive /norestart
- 仮想マシンを再起動せずに、グラフィカルインターフェイスを使用 してドライバーを再インストールします。
Windows コマンドプロンプトを使用して、OS ネットワーク設定を復元します。
C:\WINDOWS\system32\netsh -f backup.txt- 仮想マシンを再起動してドライバーのインストールを完了します。