第9章 仮想マシンの管理
9.1. QEMU ゲストエージェントと VirtIO ドライバーのインストール
QEMU ゲストエージェントは、仮想マシンで実行され、仮想マシン、ユーザー、ファイルシステム、およびセカンダリーネットワークに関する情報をホストに渡すデーモンです。
Red Hat が提供していないオペレーティングシステムイメージから作成された仮想マシンには、QEMU ゲストエージェントをインストールする必要があります。
9.1.1. QEMU ゲストエージェントのインストール
9.1.1.1. Linux 仮想マシンへの QEMU ゲストエージェントのインストール
qemu-guest-agent
は広範な使用が可能で、Red Hat Enterprise Linux (RHEL) 仮想マシン (VM) においてデフォルトで使用できます。このエージェントをインストールし、サービスを起動します。
整合性が最も高いオンライン (実行状態) の仮想マシンのスナップショットを作成するには、QEMU ゲストエージェントをインストールします。
QEMU ゲストエージェントは、システムのワークロードに応じて、可能な限り仮想マシンのファイルシステムの休止しようとすることで一貫性のあるスナップショットを取得します。これにより、スナップショットの作成前にインフライトの I/O がディスクに書き込まれるようになります。ゲストエージェントが存在しない場合は、休止はできず、ベストエフォートスナップショットが作成されます。スナップショットの作成条件は、Web コンソールまたは CLI に表示されるスナップショットの指示に反映されます。
手順
- コンソールまたは SSH を使用して仮想マシンにログインします。
次のコマンドを実行して、QEMU ゲストエージェントをインストールします。
$ yum install -y qemu-guest-agent
サービスに永続性があることを確認し、これを起動します。
$ systemctl enable --now qemu-guest-agent
検証
次のコマンドを実行して、
AgentConnected
が VM 仕様にリストされていることを確認します。$ oc get vm <vm_name>
9.1.1.2. Windows 仮想マシンへの QEMU ゲストエージェントのインストール
Windows 仮想マシンの場合には、QEMU ゲストエージェントは VirtIO ドライバーに含まれます。ドライバーは、Windows のインストール中または既存の Windows 仮想マシンにインストールできます。
整合性が最も高いオンライン (実行状態) の仮想マシンのスナップショットを作成するには、QEMU ゲストエージェントをインストールします。
QEMU ゲストエージェントは、システムのワークロードに応じて、可能な限り仮想マシンのファイルシステムの休止しようとすることで一貫性のあるスナップショットを取得します。これにより、スナップショットの作成前にインフライトの I/O がディスクに書き込まれるようになります。ゲストエージェントが存在しない場合は、休止はできず、ベストエフォートスナップショットが作成されます。スナップショットの作成条件は、Web コンソールまたは CLI に表示されるスナップショットの指示に反映されます。
手順
-
Windows Guest Operating System で、File Explorer を使用して、
virtio-win
CD ドライブのguest-agent
ディレクトリーに移動します。 -
qemu-ga-x86_64.msi
インストーラーを実行します。
検証
次のコマンドを実行して、ネットワークサービスのリストを取得します。
$ net start
-
出力に
QEMU Guest Agent
が含まれていることを確認します。
9.1.2. Windows 仮想マシンへの VirtIO ドライバーのインストール
VirtIO ドライバーは、Microsoft Windows 仮想マシンが OpenShift Virtualization で実行されるために必要な準仮想化デバイスドライバーです。ドライバーは残りのイメージと同梱されるされるため、個別にダウンロードする必要はありません。
container-native-virtualization/virtio-win
コンテナーディスクは、ドライバーのインストールを有効にするために SATA CD ドライブとして仮想マシンに割り当てられる必要があります。VirtIO ドライバーは、Windows のインストール中にインストールすることも、既存の Windows インストールに追加することもできます。
ドライバーのインストール後に、container-native-virtualization/virtio-win
コンテナーディスクは仮想マシンから削除できます。
ドライバー名 | ハードウェア ID | 説明 |
---|---|---|
viostor |
VEN_1AF4&DEV_1001 | ブロックドライバー。Other devices グループの SCSI Controller としてラベル付けされる場合があります。 |
viorng |
VEN_1AF4&DEV_1005 | エントロピーソースドライバー。Other devices グループの PCI Device としてラベル付けされる場合があります。 |
NetKVM |
VEN_1AF4&DEV_1000 | ネットワークドライバー。Other devices グループの Ethernet Controller としてラベル付けされる場合があります。VirtIO NIC が設定されている場合にのみ利用できます。 |
9.1.2.1. インストール中に VirtIO コンテナーディスクを Windows 仮想マシンにアタッチする
必要な Windows ドライバーをインストールするには、VirtIO コンテナーディスクを Windows 仮想マシンにアタッチする必要があります。これは、仮想マシンの作成時に実行できます。
手順
- テンプレートから Windows 仮想マシンを作成する場合は、Customize VirtualMachine をクリックします。
- Mount Windows drivers disk を選択します。
- Customize VirtualMachine parameters をクリックします。
- Create VirtualMachine をクリックします。
仮想マシンの作成後、virtio-win
SATA CD ディスクが仮想マシンにアタッチされます。
9.1.2.2. VirtIO コンテナーディスクを既存の Windows 仮想マシンにアタッチする
必要な Windows ドライバーをインストールするには、VirtIO コンテナーディスクを Windows 仮想マシンにアタッチする必要があります。これは既存の仮想マシンに対して実行できます。
手順
-
既存の Windows 仮想マシンに移動し、Actions
Stop をクリックします。 -
VM Details
Configuration Disks に移動し、Add disk をクリックします。 -
コンテナーソースから
windows-driver-disk
を追加し、Type を CD-ROM に設定して、Interface を SATA に設定します。 - Save をクリックします。
- 仮想マシンを起動し、グラフィカルコンソールに接続します。
9.1.2.3. Windows インストール時の VirtIO ドライバーのインストール
仮想マシンに Windows をインストールする際に VirtIO ドライバーをインストールできます。
この手順では、Windows インストールの汎用的なアプローチを使用しますが、インストール方法は Windows のバージョンごとに異なる可能性があります。インストールする Windows のバージョンに関するドキュメントを参照してください。
前提条件
-
virtio
ドライバーを含むストレージデバイスを仮想マシンに接続している。
手順
-
Windows オペレーティングシステムでは、
File Explorer
を使用してvirtio-win
CD ドライブに移動します。 ドライブをダブルクリックして、仮想マシンに適切なインストーラーを実行します。
64 ビット vCPU の場合は、
virtio-win-gt-x64
インストーラーを選択します。32 ビット vCPU はサポート対象外になりました。- オプション: インストーラーの Custom Setup 手順で、インストールするデバイスドライバーを選択します。デフォルトでは、推奨ドライバーセットが選択されています。
- インストールが完了したら、Finish を選択します。
- 仮想マシンを再起動します。
検証
-
PC でシステムディスクを開きます。通常は
(C:)
です。 -
Program Files
Virtio-Win に移動します。
Virtio-Win ディレクトリーが存在し、各ドライバーのサブディレクトリーが含まれていればインストールは成功です。
9.1.2.4. 既存の Windows 仮想マシン上の SATA CD ドライブから VirtIO ドライバーのインストール
VirtIO ドライバーは、SATA CD ドライブから既存の Windows 仮想マシンにインストールできます。
この手順では、ドライバーを Windows に追加するための汎用的なアプローチを使用しています。特定のインストール手順は、お使いの Windows バージョンに関するインストールドキュメントを参照してください。
前提条件
- virtio ドライバーを含むストレージデバイスは、SATA CD ドライブとして仮想マシンに接続する必要があります。
手順
- 仮想マシンを起動し、グラフィカルコンソールに接続します。
- Windows ユーザーセッションにログインします。
Device Manager を開き、Other devices を拡張して、Unknown device をリスト表示します。
- Device Properties を開いて、不明なデバイスを特定します。
- デバイスを右クリックし、Properties を選択します。
- Details タブをクリックし、Property リストで Hardware Ids を選択します。
- Hardware Ids の Value をサポートされる VirtIO ドライバーと比較します。
- デバイスを右クリックし、Update Driver Software を選択します。
- Browse my computer for driver software をクリックし、VirtIO ドライバーが置かれている割り当て済みの SATA CD ドライブの場所に移動します。ドライバーは、ドライバーのタイプ、オペレーティングシステム、および CPU アーキテクチャー別に階層的に編成されます。
- Next をクリックしてドライバーをインストールします。
- 必要なすべての VirtIO ドライバーに対してこのプロセスを繰り返します。
- ドライバーのインストール後に、Close をクリックしてウィンドウを閉じます。
- 仮想マシンを再起動してドライバーのインストールを完了します。
9.1.2.5. SATA CD ドライブとして追加されたコンテナーディスクからの VirtIO ドライバーのインストール
Windows 仮想マシンに SATA CD ドライブとして追加するコンテナーディスクから VirtIO ドライバーをインストールできます。
コンテナーディスクがクラスター内に存在しない場合、コンテナーディスクは Red Hat レジストリーからダウンロードされるため、Red Hat エコシステムカタログ からの container-native-virtualization/virtio-win
コンテナーディスクのダウンロードは必須ではありません。ただし、ダウンロードするとインストール時間が短縮されます。
前提条件
-
制限された環境では、Red Hat レジストリー、またはダウンロードされた
container-native-virtualization/virtio-win
コンテナーディスクにアクセスできる必要があります。
手順
VirtualMachine
マニフェストを編集して、container-native-virtualization/virtio-win
コンテナーディスクを CD ドライブとして追加します。# ... spec: domain: devices: disks: - name: virtiocontainerdisk bootOrder: 2 1 cdrom: bus: sata volumes: - containerDisk: image: container-native-virtualization/virtio-win name: virtiocontainerdisk
- 1
- OpenShift Virtualization は、
VirtualMachine
マニフェストで定義された順序で仮想マシンディスクを起動します。container-native-virtualization/virtio-win
コンテナーディスクの前に起動する他の仮想マシンディスクを定義するか、オプションのbootOrder
パラメーターを使用して仮想マシンが正しいディスクから起動するようにすることができます。ディスクのブート順序を設定する場合は、他のディスクのブート順序も設定する必要があります。
変更を適用します。
仮想マシンを実行していない場合は、次のコマンドを実行します。
$ virtctl start <vm> -n <namespace>
仮想マシンが実行中の場合は、仮想マシンを再起動するか、次のコマンドを実行します。
$ oc apply -f <vm.yaml>
- 仮想マシンが起動したら、SATA CD ドライブから VirtIO ドライバーをインストールします。
9.1.3. VirtIO ドライバーの更新
9.1.3.1. Windows 仮想マシンでの VirtIO ドライバーの更新
Windows Update サービスを使用して、Windows 仮想マシン上の virtio
ドライバーを更新します。
前提条件
- クラスターはインターネットに接続されている必要があります。切断されたクラスターは Windows Update サービスにアクセスできません。
手順
- Windows ゲストオペレーティングシステムで、Windows キーをクリックし、Settings を選択します。
-
Windows Update
Advanced Options Optional Updates に移動します。 - Red Hat, Inc. からのすべての更新をインストールします。
- 仮想マシンを再起動します。
検証
- Windows 仮想マシンで、Device Manager に移動します。
- デバイスを選択します。
- Driver タブを選択します。
-
Driver Details をクリックし、
virtio
ドライバーの詳細に正しいバージョンが表示されていることを確認します。