Appendix B. Using KVM Virtualization on Multiple Architectures
By default, KVM virtualization on Red Hat Enterprise Linux 7 is compatible with the AMD64 and Intel 64 architectures. However, starting with Red Hat Enterprise Linux 7.5, KVM virtualization is also supported on the following architectures, thanks to the introduction of the kernel-alt packages:
- ARM systems (not supported)
Note that when using virtualization on these architectures, the installation, usage, and feature support differ from AMD64 and Intel 64 in certain respects. For more information, see the sections below:
B.1. Using KVM Virtualization on IBM POWER Systems
Starting with Red Hat Enterprise Linux 7.5, KVM virtualization is supported on IBM POWER8 Systems and IBM POWER9 systems. However, IBM POWER8 does not use kernel-alt, which means that these two architectures differ in certain aspects.
Installation
To install KVM virtualization on Red Hat Enterprise Linux 7 for IBM POWER 8 and POWER9 Systems:
- Install the host system from the bootable image on the Customer Portal:For detailed instructions, see the Red Hat Enterprise Linux 7 Installation Guide.
- Ensure that your host system meets the hypervisor requirements:
- Verify that you have the correct machine type:
#
grep ^platform /proc/cpuinfo
The output of this command must include thePowerNV
entry, which indicates that you are running on a supported PowerNV machine type:platform : PowerNV
- Load the KVM-HV kernel module:
#
modprobe kvm_hv
- Verify that the KVM-HV kernel module is loaded:
#
lsmod | grep kvm
If KVM-HV was loaded successfully, the output of this command includeskvm_hv
.
- Install the qemu-kvm-ma package in addition to other virtualization packages described in Chapter 2, Installing the Virtualization Packages.
Architecture Specifics
KVM virtualization on Red Hat Enterprise Linux 7.5 for IBM POWER differs from KVM on AMD64 and Intel 64 systems in the following:
- The recommended minimum memory allocation for a guest on an IBM POWER host is 2GB RAM.
- The SPICE protocol is not supported on IBM POWER systems. To display the graphical output of a guest, use the VNC protocol. In addition, only the following virtual graphics card devices are supported:
vga
- only supported in-vga std
mode and not in-vga cirrus
modevirtio-vga
virtio-gpu
- The following virtualization features are disabled on AMD64 and Intel 64 hosts, but work on IBM POWER. However, they are not supported by Red Hat, and therefore not recommended for use:
- I/O threads
- SMBIOS configuration is not available.
- POWER8 guests, including compatibility mode guests, may fail to start with an error similar to:
qemu-kvm: Failed to allocate KVM HPT of order 33 (try smaller maxmem?): Cannot allocate memory
This is significantly more likely to occur on guests that use Red Hat Enterprise Linux 7.3 or prior.To fix this problem, increase the CMA memory pool available for the guest's hashed page table (HPT) by addingkvm_cma_resv_ratio=memory
to the host's kernel command line, where memory is the percentage of host memory that should be reserved for the CMA pool (defaults to 5). - Transparent huge pages (THPs) currently do not provide any notable performance benefits on IBM POWER8 guestsAlso note that the sizes of static huge pages on IBM POWER8 systems are 16MiB and 16GiB, as opposed to 2MiB and 1GiB on AMD64 and Intel 64 and on IBM POWER9. As a consequence, migrating a guest from an IBM POWER8 host to an IBM POWER9 host fails if the guest is configured with static huge pages.In addition, to be able to use static huge pages or THPs on IBM POWER8 guests, you must first set up huge pages on the host.
- A number of virtual peripheral devices that are supported on AMD64 and Intel 64 systems are not supported on IBM POWER systems, or a different device is supported as a replacement:
- Devices used for PCI-E hierarchy, including the
ioh3420
andxio3130-downstream
devices, are not supported. This functionality is replaced by multiple independent PCI root bridges, provided by thespapr-pci-host-bridge
device. - UHCI and EHCI PCI controllers are not supported. Use OHCI and XHCI controllers instead.
- IDE devices, including the virtual IDE CD-ROM (
ide-cd
) and the virtual IDE disk (ide-hd
), are not supported. Use thevirtio-scsi
andvirtio-blk
devices instead. - Emulated PCI NICs (
rtl8139
) are not supported. Use thevirtio-net
device instead. - Sound devices, including
intel-hda
,hda-output
, andAC97
, are not supported. - USB redirection devices, including
usb-redir
andusb-tablet
, are not supported.
- The
kvm-clock
service does not have to be configured for time management on IBM POWER systems. - The
pvpanic
device is not supported on IBM POWER systems. However, an equivalent functionality is available and activated on this architecture by default. To enable it on a guest, use the<on_crash>
configuration element with thepreserve
value. In addition, make sure to remove the<panic>
element from the<devices>
section, as its presence can lead to the guest failing to boot on IBM POWER systems. - On IBM POWER8 systems, the host machine must run in single-threaded mode to support guests. This is automatically configured if the qemu-kvm-ma packages are installed. However, guests running on single-threaded hosts can still use multiple threads.
- When an IBM POWER virtual machine (VM) running on a RHEL 7 host is configured with a NUMA node that uses zero memory (
memory='0'
), the VM does not work correctly. As a consequence, Red Hat does not support IBM POWER VMs with zero-memory NUMA nodes on RHEL 7