3.2. IBM POWER 中的虚拟化与 AMD64 和 Intel 64 的不同
IBM POWER 系统上 RHEL 8 中的 KVM 虚拟化在许多方面与 AMD64 和 Intel 64 系统中的 KVM 不同,特别是:
- 内存要求
- IBM POWER 上的虚拟机消耗更多内存。因此,推荐在 IBM POWER 主机上为虚拟机(VM)分配最小内存为 2GB RAM。
- 显示协议
IBM POWER 系统不支持 SPICE 协议。要显示虚拟机的图形化输出,请使用
VNC
协议。另外,只支持以下虚拟图形卡设备:-
vga
- 仅在-vga std
模式中支持,在-vga cirrus
模式中不支持. -
virtio-vga
-
virtio-gpu
-
- SMBIOOS
- SMBIOS 配置不可用。
- 内存分配错误
POWER8 虚拟机(包括兼容模式虚拟机)可能会因为类似如下的错误而失败:
qemu-kvm: Failed to allocate KVM HPT of order 33 (try smaller maxmem?): Cannot allocate memory
这在使用 RHEL 7.3 及之前作为虚拟机操作系统的虚拟机上发生的可能性更大。
要解决这个问题,请通过将
kvm_cma_resv_ratio= memory
添加到主机的内核命令行来增加客户机哈希页表(HPT)的 可用 CMA 内存池,其中 memory 是应为 CMA 池保留的主机内存的百分比(默认为 5)。- 巨页
透明巨页(THP)在 IBM POWER8 虚拟机上不提供任何显著的性能优势。但是 IBM POWER9 虚拟机可以如预期从 THP 中受益。
另外,IBM POWER8 系统中静态巨页的大小为 16 MiB 和 16 GiB,而 AMD64、Intel 64 和 IBM POWER9 上的 2 MiB 和 1 GiB 不同。因此,要将配置有静态巨页的虚拟机从 IBM POWER8 主机迁移到 IBM POWER9 主机,您必须首先在虚拟机上设置 1GiB 巨页。
- kvm-clock
-
不需要为 IBM POWER9 上的虚拟机的时间管理配置
kvm-clock
服务。 - pvpanic
IBM POWER9 系统不支持
pvpanic
设备。但是在这个构架中默认使用并激活等同的功能。要在虚拟机中启用它,请使用带有preserve
值的<on_crash>
XML 配置元素。另外,请确保从
<devices>
部分中删除<panic>
元素,因为它的存在可能会导致虚拟机无法在 IBM POWER 系统上引导。- 单线程主机
- 在 IBM POWER8 系统中,主机机器必须以 单线程模式 运行,才能支持虚拟机。如果安装了 qemu-kvm 软件包,则会自动进行配置。但是,在单线程主机上运行的虚拟机仍然可以使用多个线程。
- 外设设备
IBM POWER 系统中不支持在 AMD64 和 Intel 64 系统上支持很多外设设备,或者支持不同的设备替换。
-
不支持用于 PCI-E 层次结构的设备,包括
ioh3420
和xio3130-downstream
。此功能由spapr-pci-host-bridge
设备提供的多个独立的 PCI root 网桥所取代。 - 不支持 UHCI 和 EHCI PCI 控制器。使用 OHCI 和 XHCI 控制器。
-
不支持 IDE 设备,包括虚拟 IDE CD-ROM
(ide-cd
)和虚拟 IDE 磁盘(ide-hd
)。改为使用virtio-scsi
和virtio-blk
设备。 -
不支持仿真 PCI NIC (
rtl8139
) 。改为使用virtio-net
设备。 -
不支持声音设备,包括
intel-hda
、hda-output
和AC97
。 -
USB 重定向设备,包括
usb-redir
和usb-tablet
,不支持。
-
不支持用于 PCI-E 层次结构的设备,包括
- v2v 和 p2v
-
virt-v2v
和virt-p2v
工具仅在 AMD64 和 Intel 64 构架上被支持,且在 IBM POWER 上不提供。
其他资源
- 有关在红帽支持的系统构架中选择支持的和不支持的虚拟化功能的比较,请参阅 RHEL 8 支持的虚拟化功能概述。