Key terms and technical explanations in virtualization technology

  
                  With the development of virtualization technology, more and more nouns and terminology appear in virtualization technology. These terms are generally related to certain characteristics of virtualization technology, and they are understood to master specific virtualization technologies and select appropriate virtual technologies. Chemical products will be very helpful.


Key terms and technical explanations in virtualization technology

With the development of virtualization technology, more and more nouns and terminology appear in virtualization technology. It's generally related to some of the features of virtualization technology, and understanding them can be very helpful in mastering specific virtualization technologies and choosing the right virtualization products.

(1) Virtual Machine Virtual Machine

Generally refers to hardware that is simulated by virtualization technology. It provides a simulated hardware environment for the operation of the operating system.

(2) Guest OS (Guest OS)

The operating system running on the virtual machine is called the guest operating system. “Customer” can be understood as “being guest”, the computer that is started in the virtual machine can be regarded as “being guest” in the basic operating system.

(3) Hypervisor hypervisor

In virtualization technology, Hypervisor is the software that provides management and monitoring of virtual machines, which is at the basic physical layer and guest operating system (Guest OS). Between, you can allow virtual machines or applications to share hardware. Some people call it VMM (Virtual Machine Monitor), but I think Hyperviosr is more appropriate because it can not only monitor, but also the ability to manage virtual machines and coordinate virtual machines and hardware devices. The relationship between the components of virtualization technology is shown in Figure 2-1.


(Click to enlarge) Figure 2-1 Diagram of each component in virtualization technology


(4) Full virtualization

In full virtualization, the Hypervisor runs the guest operating system in a virtual machine-simulated hardware environment by emulating a corresponding hardware device. This solution is the virtualization technology used by the IBM mainframe in 1960. Therefore, some people call it the original virtualization. In this technology, the virtual machine acts as a coordinator between the guest operating system (Guest OS) and the original hardware. Therefore, specific protected instructions on the hardware device must be captured and processed in the hypervisor to prevent operational conflicts when the virtual machine accesses certain resources at the same time.

(5) Partial virtualization

Hypervisor only simulates some of the underlying hardware, so the guest operating system cannot be run in a virtual machine without modification. In the history of computers, partial virtualization is an important milestone on the road to full virtualization. It first appeared in the first generation of time-sharing systems CTSS and IBM M44/44X experimental time-sharing systems. Although sometimes this is not considered a virtual machine in the general sense, it is a very important page in history.

(6) Para-virtualization

Paravirtualization (also translated para- virtualization into parallel virtualization) Hypervisor provides a special programming interface for guest operating systems Used, the guest operating system must be modified to run in a paravirtualized environment. Because paravirtualization technology allows the guest operating system to interact directly with the hardware, performance is better than full virtualization. However, due to the special programming interface provided by the Hypervisor, the guest operating system must be customized, thus losing the convenience of porting to different hardware platforms. At the same time, because the client uses a special programming interface to interact directly with the hardware, when a client fails to operate the hardware, it will affect the operation of all guest operating systems on the hardware.

(7) OS - level virtualization

In operating system layer virtualization, independent hosts are virtualized in the operating system layer, allowing multiple independent The virtualized server runs on a single computer. The guest operating system environment shares the same operating system as the host server. For example, the same system kernel is used to create the client environment. The program runs in a client environment that is considered a standalone system. Simply put, the operating system is divided into separate partitions for different users, and the user feels like using a separate computer when using it. Operating system layer virtualization does not require the installation of a guest operating system, but it can only virtualize the same virtual machine as the operating system. For example, Sun's Solaris operating system uses this technology to virtualize multiple independent operating system spaces for users in the Solaris operating system.

(8) Live Migration

Dynamic migration is the migration of a virtual machine from one computer to another while the virtual machine is running. Imagine a situation where an organization has two servers, A and B, each with 16 CPUs, eight virtual machines running on server A, and one CPU per virtual machine. On the server B, there are also 8 virtual machines running, and each virtual machine uses only 1 CPU. And this situation lasted for a long time, and the utilization of both servers was only 50%. If the hypervisor on servers A, B supports live migration, we can move all virtual machines on server B to server A and shut down server B. It not only improves the efficiency of server A, but also saves the resources of one server. It is a kind of “green technology” (called Green IT in English). At the same time, dynamic migration can also play the role of automatic recovery. When the hardware is out of thin questions, it will automatically migrate to other hardware configured previously.

(9) Hardware-assisted virtualization

Hardware-assisted virtualization requires hardware support to help create virtual machines, monitor and allow guest operating systems to run independently. Hardware-assisted virtualization was introduced in 1972, in order to use the first virtual machine operating system VM/370, first introduced by IBM System/370. In 2005 and 2006, Intel and AMD provided additional hardware support for virtualization, respectively. Intel calls it VT, which AMD calls AMD-V. Hardware-assisted virtualization refers to efficient, fully virtualized support with the support of hardware (primarily host processors). The execution environment of the Guest OS and the Hypervisor is automatically and completely isolated. The Guest OS has its own "full set of registers" that can run directly at the highest level. Intel - VT and AMD-V are two hardware-assisted virtualization technologies available on the x86 architecture today.

For hardware-assisted virtualization, you first need to figure out what factors limit virtualization performance under traditional platforms. Virtualization technology allows people to run multiple different virtual machines on a single physical server. This requires a physical server to create and manage multiple virtual systems. At the heart of virtualization technology is the hypervisor, which is the key to successfully completing multiple virtualization-related tasks. Hypervisor manages multiple different operating system instances at the same time, and manages process switching between these instances, ensuring that each virtual machine can access hardware resources such as the underlying processor, memory, and local disk. It distributes computing resources between different instances through a competitive mechanism, while also ensuring relative independence between different virtual machines.

Before Intel and AMD introduced the corresponding hardware-assisted virtualization technology, the performance problem of the virtualization platform mainly focused on the lack of a corresponding internal instruction set in the processor, so the virtualization task of the processor could not be guaranteed. Efficiently completed. The allocation of these virtualization tasks is implemented at the software level, and therefore performs very poorly in terms of virtual machine experience, resource control, and efficiency. Simply put: If a virtual machine does something bad, the entire server is affected. Both AMD and Intel are working on new processor upgrades to meet the new virtualization needs. These upgrades reduce (or even eliminate) resource contention and limitations between guest operating systems, greatly improving the security and performance of virtual machine instances.

Another requirement is from the perspective of hardware vendors. Because Hypervisor provides virtual machines with many ways to access basic hardware devices, if a virtual machine accesses the underlying hardware control that should not be accessed due to inadvertent operation. Interfaces can affect other computers, so hardware vendors need to provide special interfaces to ensure that virtual machines do not interfere with each other at the hardware level.

Intel - VT technology is considered by Intel to be a new technology for high-end personal computers and servers. Only high-end Intel CPUs have joined this technology. AMD's AMD-V technology bath is widely used in AMD's new CPUs, such as Phenom II.

Whether it's Intel or AMD, their hardware-assisted virtualization technology, for developers, is the final set of CPU instruction sets. However, the CPU instruction set between different vendors is not compatible. For example, Intel - VT's Flex Migration feature allows for quick and easy migration of virtual machines between multiple physical servers supporting the Intel-VT instruction set in a virtualization platform. However, this extended migration feature is not available for AMD processor platforms. Migration between platforms of different processor vendors can cause serious performance problems and even system failures. Therefore, when building a cloud infrastructure, both cost considerations and infrastructure compatibility issues must be considered.

In the actual work, full virtualization and paravirtualization technology is widely used, we will select several types of more common and relatively easy to obtain virtualization products.

Copyright © Windows knowledge All Rights Reserved