Chapter 3. Introduction to Red Hat Virtualization Products and Features
Chapter 3. Introduction to Red Hat Virtualization Products and Features This chapter introduces the main virtualization products and features available in Red Hat Enterprise Linux 7. 3.1. KVM and Virtualization in Red Hat Enterprise Linux KVM (Kernel-based Virtual Machine) is a full virtualization solution for Linux on a variety of architectures. It is built into the standard Red Hat Enterprise Linux 7 kernel and integrated with the Quick Emulator (QEMU), and it can run multiple guest operating systems. The KVM hypervisor in Red Hat Enterprise Linux is managed with the libvirt API, and tools built for libvirt (such as virt-manager and virsh ). Virtual machines are executed and run as multi-threaded Linux processes, controlled by these tools. Warning QEMU and libvirt also support a dynamic translation mode using the QEMU Tiny Code Generator (TCG), which does not require hardware virtualization support. This configuration is not supported by Red Hat. For more information about this limitation, see the Red Hat Enterprise Linux 7 Virtualization Deployment and Administration Guide . Figure 3.1. KVM architecture Virtualization features supported by KVM on Red Hat Enterprise 7 include the following: Overcommitting The KVM hypervisor supports overcommitting of system resources. Overcommitting means allocating more virtualized CPUs or memory than the available resources on the system, so the resources can be dynamically swapped when required by one guest and not used by another. This can improve how efficiently guests use the resources of the host, and can make it possible for the user to require fewer hosts. Important Overcommitting involves possible risks to system stability. For more information on overcommitting with KVM, and the precautions that should be taken, see the Red Hat Enterprise Linux 7 Virtualization Deployment and Administration Guide . KSM Kernel Same-page Merging (KSM) , used by the KVM hypervisor, enables KVM guests to share identical memory pages. These shared pages are usually common libraries or other identical, high-use data. KSM allows for greater guest density of identical or similar guest operating systems by avoiding memory duplication. Note For more information on KSM, see the Red Hat Enterprise Linux 7 Virtualization Tuning and Optimization Guide . QEMU guest agent The QEMU guest agent runs on the guest operating system and makes it possible for the host machine to issue commands to the guest operating system. Note For more information on the QEMU guest agent, see the Red Hat Enterprise Linux 7 Virtualization Deployment and Administration Guide . Disk I/O throttling When several virtual machines are running simultaneously, they can interfere with the overall system performance by using excessive disk I/O. Disk I/O throttling in KVM provides the ability to set a limit on disk I/O requests sent from individual virtual machines to the host machine. This can prevent a virtual machine from over-utilizing shared resources, and impacting the performance of other virtual machines. Note For instructions on using disk I/O throttling, see the Red Hat Enterprise Linux 7 Virtualization Tuning and Optimization Guide . Automatic NUMA balancing Automatic non-uniform memory access (NUMA) balancing moves tasks, which can be threads or processes closer to the memory they are accessing. This improves the performance of applications running on non-uniform memory access (NUMA) hardware systems, without any manual tuning required for Red Hat Enterprise Linux 7 guests. Note For more information on automatic NUMA balancing, see the Red Hat Enterprise Linux 7 Virtualization Tuning and Optimization Guide . Virtual CPU hot add Virtual CPU (vCPU) hot add capability provides the ability to increase processing power on running virtual machines as needed, without shutting down the guests. The vCPUs assigned to a virtual machine can be added to a running guest to either meet the workload's demands, or to maintain the Service Level Agreement (SLA) associated with the workload. Note For more information on virtual CPU hot add, see the Red Hat Enterprise Linux 7 Virtualization Deployment and Administration Guide . Nested virtualization As a Technology Preview, Red Hat Enterprise Linux 7.2 and later offers hardware-assisted nested virtualization. This feature enables KVM guests to act as hypervisors and create their own guests. This can for example be used for debugging hypervisors on a virtual machine or testing larger virtual deployments on a limited amount of physical machines. Note For further information on setting up and using nested virtualization, see Red Hat Enterprise Linux 7 Virtualization Deployment and Administration Guide . KVM guest virtual machine compatibility Red Hat Enterprise Linux 7 servers have certain support limits. The following URLs explain the processor and memory amount limitations for Red Hat Enterprise Linux: For the host system: https://access.redhat.com/site/articles/rhel-limits For the KVM hypervisor: https://access.redhat.com/site/articles/rhel-kvm-limits For a complete chart of supported operating systems and host and guest combinations see Red Hat Customer Portal Note To verify whether your processor supports virtualization extensions and for information on enabling virtualization extensions if they are disabled, see the Red Hat Enterprise Linux 7 Virtualization Deployment and Administration Guide .