付録B 複数のアーキテクチャー上での KVM 仮想化の使用
デフォルトでは、Red Hat Enterprise Linux 7 での KVM 仮想化は AMD64 および Intel 64 アーキテクチャーと互換性を維持します。しかし、Red Hat Enterprise Linux 7.5 以上では kernel-alt パッケージが導入されたため、以下のアーキテクチャーもサポートされるようになりました。
これらのアーキテクチャー上で仮想化を使用する場合、インストール、使用方法、および機能のサポートは若干 AMD64 や Intel 64 とは異なることに注意してください。詳細は、以下を参照してください。
B.1. IBM POWER Systems での KVM 仮想化の使用
Red Hat Enterprise Linux 7.5 より、IBM POWER8 Systems および IBM POWER9 Systems で KVM 仮想化がサポートされるようになりました。ただし、IBM POWER8 はkernel-alt を使用しません。つまり、この 2 つのアーキテクチャーは特定の側面で異なります。
インストール
IBM POWER8 および POWER9 Systems 向けの Red Hat Enterprise Linux 7 に KVM 仮想化をインストールするには、以下を行います。
- カスタマーポータルのブート可能なイメージからホストシステムをインストールします。詳細な手順については、Red Hat Enterprise Linux 7 インストールガイドを参照してください。
- お使いのホストシステムがハイパーバイザーの要件を満たしているようにしてください。
- お使いのマシンが適切なタイプであることを確認します。
# grep ^platform /proc/cpuinfo
このコマンドの出力には、サポートされる PowerNV マシンタイプで実行されていることを示すPowerNV
エントリーが含まれている必要があります。platform : PowerNV
- KVM-HV カーネルモジュールをロードします。
# modprobe kvm_hv
- KVM-HV カーネルモジュールがロードされたことを確認します。
# lsmod | grep kvm
KVM-HV が正常にロードされた場合は、このコマンドの出力にkvm_hv
が含まれます。
- 2章仮想化パッケージのインストール で説明されているその他の仮想化パッケージに加え、qemu-kvm-ma パッケージをインストールします。
アーキテクチャーの関連事項
IBM POWER 向けの Red Hat Enterprise Linux 7.5 上の KVM 仮想化は、AMD64 や Intel 64 システムの KVM とは以下の点が異なります。
- IBM POWER ホスト上のゲストに推奨される最低メモリー容量 の割り当ては 2GB の RAM です。
- IBM POWER システムでは、SPICE プロトコルに対応していません。ゲストのグラフィカル出力を表示するには、VNC プロトコルを使用します。さらに、次の仮想 グラフィックスカードデバイス にのみ対応しています。
vga
--vga std
モードでのみサポートされ、-vga cirrus
モードではサポートされません。virtio-vga
virtio-gpu
- 以下の仮想化機能は、AMD64 および Intel 64 ホストでは無効になっていますが、IBM POWER 上では動作します。しかし、Red Hat ではサポートしていないため、使用は推奨されません。
- I/O スレッド
- SMBIOS 設定は利用できません。
- 互換モードのゲストを含む POWER8 ゲストは、以下のようなエラーで起動に失敗することがあります。
qemu-kvm: Failed to allocate KVM HPT of order 33 (try smaller maxmem?): Cannot allocate memory
これは、Red Hat Enterprise Linux 7.3 またはそれ以前を使用するゲストで発生する可能性が高くなります。この問題を解決するには、ホストのカーネルコマンドラインにkvm_cma_resv_ratio=memory
を追加して、ゲストのハッシュページテーブル (HPT) に使用できる CMA メモリープールを増やします。memory は、CMA プールに予約する必要があるホストメモリーの割合 (デフォルトは 5) です。 - 現在、THP (transparent huge page) を利用しても IBM POWER8 ゲストのパフォーマンスは著しく改善されません。また、IBM POWER8 Systems の静的な ヒュージページ のサイズは 16MiB と 16GiB で、IBM POWER9 の AMD64 および Intel 64 は 2MiB および 1GiB であることに注意してください。そのため、ゲストに静的なヒュージページが設定されている場合、ゲストを IBM POWER8 ホストから IBM POWER9 ホストに移行できません。さらに、IBM POWER8 ゲストで 静的なヒュージページまたは THP を使用 できるようにするには、最初に ホスト上でヒュージページを設定 する必要があります。
- AMD64 および Intel64 システムでサポートされる仮想 周辺デバイス の一部は、IBM POWER Systems ではサポートされず、異なるデバイスが代替としてサポートされます。
ioh3420
やxio3130-downstream
デバイスを含む PCI-E 階層に使用されるデバイスはサポートされません。この機能は、spapr-pci-host-bridge
デバイスが提供する複数の独立した PCI root ブリッジに置き換えられます。- UHCI コントローラーおよび EHCI PCI コントローラーには対応していません。代わりに OHCI コントローラーおよび xHCI コントローラーを使用してください。
- 仮想 IDE CD-ROM (
ide-cd
) および仮想 IDE ディスク (ide-hd
) を含む IDE デバイスはサポートされません。代わりにvirtio-scsi
デバイスおよびvirtio-blk
デバイスを使用します。 - エミュレートされた PCI NIC (
rtl8139
) はサポートされません。代わりにvirtio-net
デバイスを使用します。 intel-hda
、hda-output
、およびAC97
を含むサウンドデバイスはサポートされません。usb-redir
、usb-tablet
などの USB リダイレクトデバイスはサポートされません。
kvm-clock
サービスを IBM POWER システムの 時間管理 のために設定する必要はありません。pvpanic
デバイスは IBM POWER システムではサポートされません。しかし、このアーキテクチャーではデフォルトで有効になっている同等の機能を使用できます。この機能をゲストで有効にするには、<on_crash>
設定要素でpreserve
の値を使用します。さらに、<devices>
セクションの<panic>
要素を削除するようにしてください。 削除しないと、ゲストが IBM POWER システムで起動しない原因となります。- IBM POWER8 システムでは、ゲストに対応するために、ホストマシンをシングルスレッドモードで稼働する必要があります。これは、qemu-kvm-ma パッケージがインストールされていると、自動的に設定されます。シングルスレッドのホストで実行しているゲストは複数のスレッドを使用することができます。
- RHEL 7 ホストで実行している IBM POWER 仮想マシンが、ゼロメモリー (
memory='0'
) を使用する NUMA ノードで設定されていると、仮想マシンが正しく動作しません。したがって、Red Hat は、RHEL 7 ではゼロメモリー NUMA ノードを持つ IBM POWER 仮想マシンに対応しません。