Virtualization Concepts: Difference between revisions
Line 64: | Line 64: | ||
{{External|[https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Virtualization_Tuning_and_Optimization_Guide/sect-Virtualization_Tuning_Optimization_Guide-NUMA-Auto_NUMA_Balancing.html RHEL 7 Virtualization Tuning and Optimization Guide]}} | {{External|[https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Virtualization_Tuning_and_Optimization_Guide/sect-Virtualization_Tuning_Optimization_Guide-NUMA-Auto_NUMA_Balancing.html RHEL 7 Virtualization Tuning and Optimization Guide]}} | ||
=Virtual CPU Hot Add= | |||
''Virtual CPU hot add'' is the capability to increase processing power allocated to virtual machines without shutting down the quests. | |||
=Linux Virtualization Concepts= | =Linux Virtualization Concepts= | ||
{{Internal|Linux Virtualization Concepts|Linux Virtualization Concepts}} | {{Internal|Linux Virtualization Concepts|Linux Virtualization Concepts}} |
Revision as of 21:04, 23 June 2017
Internal
Virtualization
Virtualization represents running software, usually multiple operating systems, concurrently and in isolation from other programs on a single system, called host. The software entity that controls virtualization is called hypervisor. The virtual machines executing on the host under the control of the hypervisor are known as guests or guest operating systems.
There are several types of virtualization: full virtualization allows for an unmodified version of the guest operating system. The guest addresses the host's CPU and other hardware resources via a channel created by the hypervisor. This is the most performant virtualization type, because the guest operating system communicates directly with the physical CPU. Paravirtualization requires a modified guest operating system, which communicates with the hypervisor. The hypervisor passes the unmodified calls from the guest to the CPU and other devices. Software virtualization or emulation uses binary translation and other emulation techniques to run unmodified guest operating systems. The hypervisor translated the guest calls to a format that can be understand by the host operating system.
Virtualization Platforms
- Red Hat Enterprise Linux as Virtualization Plaform
- Red Hat Virtualization
- Red Hat OpenStack Platform
- VMware vSphere
- Microsof Hyper-V
Hypervisor
The software entity that controls virtualization is referred to as hypervisor. The hypervisor manages the hardware resources of the host system and makes them available to the guest operating systems.
Hypervisors: KVM, Xen, VMware ESX.
Host Operating System
The host operating system (or the host OS) is the operating system of the physical computer on which the hypervisor is installed.
Guest Operating System
The guest operating system (or the guest OS) is the operating system that is running inside the virtual machine.
Virtual Machine
Hardware Virtualization Extensions
Hardware Devices and Virtualization
Migration
Migration describes the process of moving a guest virtual machine from one host to another. There are two types of migration: Offline migration suspends the guest virtual machine and then moves the image to the destination host. The virtual machine is then resumed on the destination host. Live migration is the process of migrating an active virtual machine from one host to another.
Overcommitting
Overcommitting represents allocation to guests of more virtualized CPU and memory than actual physical resources available on the host system. This way, resources are dynamically swapped when needed by one guest and not used by another. Overcommitting can improve resource utilization efficiency, but it also poses risks to the system stability.
Kernel Same-page Merging (KSM)
Kernel Same-page Merging (KSM) is a technique enabling guests to share identical memory pages. These shared pages are usually common libraries or other similar high-use data. KSM allows for greater guest density of identical or similar guests operating on the same host, by avoiding memory duplication.
Disk I/O Throttling
Disk I/O throttling provides the ability to set a limit on disk I/O requests sent from individual VMs to the host machine. This prevents a virtual machine from over-utilizing shared resources, and thus impacting the performance of other VMs.
Automatic NUMA Balancing
Automatic non-uniform memory access (NUMA) balancing is a technique involving moving tasks, which can be threads or processes, closer to the memory they are accessing. This improves the performance of application running on non-uniform memory access (NUMA) hardware systems, without the need for manual tuning.
Virtual CPU Hot Add
Virtual CPU hot add is the capability to increase processing power allocated to virtual machines without shutting down the quests.