Brief introduction to hypervisor, KVM and QEMU
This article mainly introduces the related concepts that should be known when using oVirt: hypervisor, KVM, QEMU, etc.
An intermediate layer software running between a physical server and an operating system, which allows multiple operating systems and applications to share a set of basic physical hardware. The hypervisor can be regarded as a "meta" operating system in the virtual environment, which can coordinate access to all physical devices and virtual machines on the server, so it is also called a virtual machine monitor (VMM). The hypervisor is the core of all virtualization technologies. Nondisruptive support for multi workload migration is the basic function of the hypervisor. When the server starts and executes the hypervisor, it will allocate an appropriate amount of memory, CPU, network, and disk resources to each virtual machine, and load the client operating systems of all virtual machines.
The hypervisor is to the operating system what the operating system is to the process. They provide an independent virtual hardware platform for execution, which in turn provides complete virtual access to the underlying machine. But not all hypervisors are the same, which is a good thing because Linux is famous for flexibility and selectivity.
Virtualization is the process of hiding the underlying physical hardware in some way so that multiple operating systems can use and share it transparently. Another more common name for this architecture is platform virtualization. In a typical layered architecture, the layer that provides platform virtualization is called a hypervisor. Guest operating systems are called virtual machines (VMS) because the hardware is specifically virtualized for these VMS.
Common hypervisors fall into two categories:
Type-I (bare metal type) means that VMM operates directly on the bare metal to use and manage the underlying hardware resources. Guest OS accesses the real hardware resources through VMM. As the direct operator of the underlying hardware, VMM has the hardware driver.
Type II (host type) means that there is another host operating system under VMM. Since the guest OS must access the hardware through the host operating system, it brings additional performance overhead, but it can make full use of the device drivers and underlying services provided by the host operating system for memory management, process scheduling, and resource management.
KVM is the abbreviation of the kernel-based virtual machine. It is an open-source system virtualization module, which has been integrated in various major Linux distributions since Linux 2.6.20.
KVM is a virtualization module embedded in the standard kernel of the Linux operating system. It can convert a Linux standard kernel into a VMM. The Linux standard kernel embedded with the KVM module can support GuestOS loaded through KVM tools. Therefore, under such an operating system platform, the VMM virtualization layer is directly on the computer physical hardware layer, but there is no independent Hostos operating system layer. In such an environment, HostOS is a VMM.
Each GuestOS created by KVM is a single process on Hostos (or VMM). Applications running in user space on GuestOS can be understood as threads in the process.
The virtualization of KVM requires hardware support (such as Intel VT technology or AMD V Technology), which is full virtualization based on hardware.
QEMU is a VMM on a host that simulates the CPU through dynamic binary conversion and provides a series of hardware models to make the guest OS think that they are dealing directly with the hardware. In fact, they are dealing with the hardware simulated by QEMU, and QEMU will translate these instructions to the real hardware for operation. Through this mode, the guest OS can interact with the hard disk, network card, CPU, CD-ROM, audio device, and USB device on the host. However, since all instructions need to be translated by QEMU, the performance will be poor:
Interested Blogs More
Brief introduction to RHEV architecture
Why Can 3-2-1 Backup Rule Lessen Data Vulnerability?
Vinchin’s XenServer Backup Software
What is the difference between incremental backup, differential backup and incremental backup?
What should we do when the data lost in the cloud?