Appendix B. Using KVM Virtualization on Multiple Architectures
B.1. Using KVM Virtualization on IBM POWER Systems
- 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/cpuinfoThe output of this command must include the
PowerNVentry, which indicates that you are running on a supported PowerNV machine type:
platform : PowerNV
- Load the KVM-HV kernel module:
- Verify that the KVM-HV kernel module is loaded:
lsmod | grep kvmIf KVM-HV was loaded successfully, the output of this command includes
- Install the qemu-kvm-ma package in addition to other virtualization packages described in Chapter 2, Installing the Virtualization Packages.
- The recommended minimum memory allocation for a guest on an IBM POWER host is 2GB RAM.
- 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 memoryThis 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 adding
kvm_cma_resv_ratio=memoryto 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.
- 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
xio3130-downstreamdevices, are not supported. This functionality is replaced by multiple independent PCI root bridges, provided by the
- 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 the
- Emulated PCI NICs (
rtl8139) are not supported. Use the
- Sound devices, including
AC97, are not supported.
- USB redirection devices, including
usb-tablet, are not supported.
kvm-clockservice does not have to be configured for time management on IBM POWER systems.
pvpanicdevice 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 the
preservevalue. 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