第28章 仮想化
Windows 10 および Windows Server 2016 ゲストの CPU サポートに制限あり
Red Hat Enterprise 6 ホストでは、Windows 10 および Windows Server 2016 ゲストは、以下の CPU モデルを使用している場合にのみ作成できます。
- Intel Xeon E シリーズ
- Intel Xeon E7 ファミリー
- Intel Xeon v2、v3、および v4
- Opteron G2、G3、G4、G5、および G6
これらの CPU モデルでは、ホストで virsh capabilities コマンドを実行して検出された CPU モデルと一致するように、ゲストの CPU モデルも設定してください。アプリケーションのデフォルトまたはハイパーバイザーのデフォルトを使用すると、ゲストが正常に起動しなくなります。
レガシー Intel Core 2 プロセッサー(Penryn とも呼ばれる)または Intel Xeon 55xx および 75xx プロセッサーファミリー(Nehalem としても知られる)で Windows 10 ゲストを使用できるようにするには、Penryn または Nehalem のいずれかを MODELNAME としてドメイン XML ファイルに追加します。
<cpu mode='custom' match='exact'> <model>MODELNAME</model> <feature name='erms' policy='require'/> </cpu>
他の CPU モデルはサポートされません。これ上に作成された Windows 10 ゲストと Windows Server 2016 ゲストの両方が、起動プロセス中に応答しなくなる可能性があります。(BZ#1252134)
VHDX ファイルのサイズ変更に非常に時間がかかる場合があります。
ゲストで ext3 ファイルシステムが使用されている場合、非常に大きな Microsoft Hyper-V 仮想ハードディスク(VHDX)デバイスのサイズを変更すると、VHDX ファイルが過剰なサイズに拡大するため、意図したよりもはるかに時間がかかることがあります。この問題を回避するには、ext4 ファイルシステムまたは xfs ファイルシステムを使用するか、VHDX ファイルの作成時に次のカスタムパラメーターを設定します。
- VHDX BlockSize = 1MB
- flex_bg=4096
これにより、VHDX ファイルに予想されるディスク容量が必要になるため、ファイルシステムの操作がはるかに速くなります。(BZ#1024137)
仮想 PCI デバイスのホットプラグ時にマルチ機能が正しく動作しない
multifunction オプションが有効になっている仮想 PCI デバイスで新しい関数をホットプラグしても、PCI デバイスの初期化が正しくトリガーされません。その結果、ゲストはホットプラグされた機能を認識しないため、使用できません。この問題を回避するには、たとえば次のコマンドを使用して、ゲスト内の PCI ホストブリッジの再スキャンを開始します。
# echo 1 > /sys/bus/pci/devices/0000\:00\:00.0/rescan
上記の例では、再度スキャンするデバイスの 0000\:00\:00.0 を、正しい bus:device:function の組み合わせに置き換えます。
これにより、ゲストデバイスドライバーが、新しくホットプラグされたデバイスを使用できるように設定されるため、機能が利用できるようになります。(BZ#1208430)
ソフト再起動の Windows ゲストが起動可能なデバイスの一部を検出できない
特定の状況下では、(Ctrl+Alt+Del キーを使用して) Windows ゲストをソフト再起動すると、ゲストが起動可能なデバイスの一部を検出しません。この問題を回避するには、ゲストをハードリブートします。たとえば、virt-manager インターフェイスの Shutdown ボタンを使用するか、QEMU モニターコンソールの system_reset コマンドを実行します。(BZ#1129549)
qemu-img を使用して使用中のイメージを変更すると、イメージが破損する可能性があります。
ゲストの実行中に QEMU イメージのスナップショットを作成しようとするなど、複数のプロセスから QEMU ディスクイメージを同時に開くと、イメージが破損してしまう場合があります。この問題を回避するには、qemu-img ユーティリティーを使用して、実行中の仮想マシンまたはその他のプロセスで使用されているイメージを変更しないでください。さらに、別のプロセスによって変更されているイメージをクエリーすると、一貫性のない状態エラーが発生する可能性があることに注意してください。今回の更新で、上記の問題に関する admonition が qemu-img (1)の man ページにも追加されています。(BZ#1297424)
VirtIO-win VFD ファイルに Windows 10 ドライバーが含まれていない
フロッピーデバイスファイルサイズの制限により、virtio-win パッケージの仮想フロッピーディスク(VFD)ファイルには Windows 10 フォルダーが含まれません。VFD から Windows 10 ドライバーをインストールする必要がある場合は、代わりに Windows 8 または Windows 8.1 ドライバーを使用してください。あるいは、Windows 10 ドライバーは、
/usr/share/virtio-win/
ディレクトリーの ISO ファイルからインストールすることもできます。(BZ#1315940)
古いホスト CPU で fsgsbase
フラグおよび smep
フラグで仮想マシンの起動に失敗する
fsgsbase
および smep
CPU フラグは、初期の Intel Xeon E プロセッサーなど、古い CPU モデルで適切にエミュレートされません。その結果、上記の CPU のいずれかを持つホストで Windows ゲスト仮想マシンを起動する際に fsgsbase
と smep
を使用すると、起動が失敗します。同様に、上記の CPU のいずれかを持つホストで Red Hat Enterprise Linux ゲスト仮想マシンを起動する際に smep
を使用すると、起動が失敗します。この問題を回避するには、CPU が fsgsbase
および smep
をサポートしていない場合は、fsgsbase および smep を使用しないでください。(BZ#1371765)