Virtualization is the key technology of cloud computing, and the application of cloud computing must apply virtualization technology. Cloud computing is the biggest feature of IT is dynamic, all information and data are built on a dynamic architecture, unlimited expansion of user needs to adjust the resource load. There is no cloud without virtualization dynamic technology. To turn the hardware in the cloud computing infrastructure into a dynamic service, to achieve this goal, the key lies in the virtualization capability of the product. Virtualization is the basis for realizing dynamic, and only in a virtualized environment can the cloud be dynamic.
What is virtualization?
Virtualization is a broad term that, in computing, mainly refers to the fact that computing elements are run on a virtual architecture rather than on physical machines. The role of virtualization technology: it can expand the capacity of hardware, simplify the configuration process of software, can simulate multiple CPUs on a single CPU, a single hard disk can simulate multiple hard disks, a single network card can simulate multiple network cards, and allow a platform Running multiple operating systems at the same time, applications can run in independent spaces without affecting each other, thereby effectively utilizing idle resources of the computer and improving work efficiency.
Virtualization is now a proven software technology that is now changing the face of IT and the traditional IT model at a very fast rate. It did not appear in recent years. In the 1990s, when x86 processors adopted system partitions, virtualization technology appeared. This virtualization technology was first used in Apple’s Macinatosh operating system.
In fact, since the 20th century, people have been paying attention to the compatibility, integration and integration capabilities of the system, but due to the inconsistency of computers, operating systems, communication protocols and interfaces, the results are not very good. help or solve this problem. Nowadays, virtualization technology has made great progress, with more and more users. Individual users, enterprise users, and local government data centers are all adopting virtualization technology.
Why are more and more people choosing to use virtualization technology? Judging from some of the challenges facing IT development at present, the main challenges focus on idle resources, increasing IT operation and maintenance costs, the explosion of big data, and the inability of the product supply chain to keep up. According to the results of statistical analysis, the current idle resources of IT are as high as 85%; the cost of IT operation, maintenance and management is increasing year by year, of which 1 yuan includes 0.7 yuan of operation, maintenance and management costs; big data contributes to the current IT environment This brings challenges, especially in the field of e-commerce, where information is exploding at a rate of 54% per year; inefficiencies in the product supply chain directly lead to a 3.5% loss in turnover, approaching $40 billion. These are all issues that need urgent solutions.
Adopting virtualization technology can alleviate these challenges faced by IT. The advantages of virtualization technology are shown in the following aspects.
- Higher resource utilization. Virtualization technology realizes the dynamic sharing of physical resources and resource pools, which is conducive to improving the utilization rate of resources. Users can dynamically select requirements to meet different loads of resources.
- Reduce management costs. Using virtualization technology, central management can be used to simplify common management tasks, realize automatic management of load balancing, and support the use of common tools on multiple platforms, thereby reducing management costs.
- Improve flexibility of use. Virtualization technology can realize dynamic resource deployment and reconfiguration, and can meet the ever-changing business needs of users.
- High availability. Delete, upgrade, and change physical resources without affecting users.
- High scalability. Virtualization technology is deployed in a dynamic manner, and can support virtual resources that are much smaller or larger than physical resources according to the resource requirements of different products.
- Flexible interoperability. Virtualization technology can provide compatibility of various interfaces and protocols, which is far better than physical resources.
- High security. Virtualization technology enables simple sharing mechanisms that facilitate control and secure access to data and services.
- high efficiency. Virtual resource crashes can be recovered in a very short time due to no hardware problems.
The difference between virtualization technology and other technologies
Virtualization technology is neither multitasking nor multithreaded. Multitasking means that there are multiple programs running in parallel in an operating system. Virtualization technology can run multiple operating systems in the same physical machine, and each operating system has multiple programs running. Each operating system can run on a virtual CPU or on a virtual host. Multi-threading technology means simulating dual CPUs on a single CPU to balance the running performance of each program. The two simulated CPUs are not independent, they cannot be separated, but only work together. The virtualization technology is abstracted from the physical hardware and separates the physical hardware from the operating system. It can simulate multiple CPUs, multiple hard disks, multiple graphics cards, etc., thereby improving the utilization rate of IT resources and reducing idle resources. The efficiency, resources, management, utilization, flexibility and other aspects have been greatly improved.
Development of Virtualization Technology
Virtualization technology first appeared in the 1960s, and in the 1980s, virtual machine technology was no longer widely used. In the 1990s, researchers adopted virtualization technology to solve the problems of compatibility of different types of physical devices, insufficient utilization, and gradually increasing management costs. Virtualization technology is now at the forefront of technology and can help enterprises upgrade and manage, thus ensuring the use of enterprise IT infrastructure around the world.
Classification of Virtualization
There are many virtualization technologies, including memory virtualization, desktop virtualization, cpu virtualization, hard disk virtualization, network virtualization, etc. At present, virtualization technology is widely used in the X86 platform. The virtualization mentioned here mainly refers to system virtualization.
The purpose of system virtualization: to virtualize and run one or more virtual machines (Virtual Machine, VM) on a physical machine by using a virtualization manager (Virtual Machine Monitor, VMM). VMM mainly has the following two forms.
- Hypervisor VM: It runs directly on the hardware (Bare Metal), provides performance close to that of a physical machine, and does a lot of optimization on I/O, mainly for server applications.
- Hosted VM: It runs on the operating system of the physical machine. Although its performance is not as good as the hypervisor itself (because it is separated from the hardware by a layer of OS), it is very convenient to install and use, and has rich functions, such as support for three-dimensional Acceleration and other features are often used in desktop applications.
Classification of System Virtualization 
Due to the different technologies used, system virtualization can be divided into the above five categories.
- Hardware Emulation (Emulation): belongs to the Hosted mode, creates a hardware simulation program (Hardware VM) on the operating system of the physical machine to simulate the desired hardware, and runs the virtual machine on this program, and the guest operating system inside the virtual machine (Guest OS) No modification required.
- Full Virtualization: Capture and process those privileged instructions that are sensitive to virtualization between the guest operating system and the hardware, so that the guest operating system can run without modification. The speed will vary according to different implementations, but it can be roughly meet the needs of users. This method is the most mature and common in the industry, and belongs to both Hosted mode and Hypervisor mode. Well-known products include IBM CP/CMS, VirtualBox, KVM, VMware Workstation and VMware ESX (renamed VMware in its 4.0 version). vSphere).
- Paravirtualization (Paravirtulization): Similar to full virtualization, Hypervisor is also used to achieve shared access to the underlying hardware, but since the Guest OS running on the Hypervisor has integrated code related to paravirtualization, the Guest OS Can be very good with Hyperivosr to achieve virtualization. In this way, there is no need to recompile or capture privileged instructions, so that the performance is very close to the physical machine. The most classic product is Xen, and because the technology used by Microsoft’s Hyper-V is similar to Xen, it is also possible to use Hyper-V. V belongs to paravirtualization.
- Hardware Assisted Virtualization: Hardware manufacturers such as Intel/AMD improve performance by hardwareizing some software technologies used in full virtualization and paravirtualization. Hardware-assisted virtualization technology is often used to optimize full-virtualization and para-virtualization products, rather than being original. The most famous example is VMware Workstation. Although it belongs to full-virtualization, it introduced hardware-assisted virtualization technology in its 6.0 version. , such as Intel’s VT-x and AMD’s AMD-V. Hardware-assisted virtualization is supported by mainstream full- and para-virtualized products on the market today, including VirtualBox, KVM, VMware ESX, and Xen.
- Operating System Level Virtualization: Virtualization is achieved by simply isolating the server operating system, mainly for VPS. The main technologies are Parallels Virtuozzo Containers, chroot on Unix-like systems, and Zone on Solaris.
The foundation of virtualization is the virtual machine
A virtual machine is a tightly isolated software container that can run its own operating system and applications just like a physical computer. A virtual machine operates exactly like a physical computer, containing its own virtual (ie, software-based) CPU, RAM hard disk, and network interface card (NIC).
The operating system cannot tell the difference between a virtual machine and a physical computer, nor can applications and other computers on the network. Even the virtual machine itself considers itself a “real” computer. However, a virtual machine consists entirely of software and does not contain any hardware components. Therefore, virtual machines have many unique advantages that physical hardware does not have.
The advantages of virtualization
The benefits brought by virtualization are many, mainly including the following points:
- Efficiency: Allocate the resources of one server to several virtualized servers, effectively utilize idle resources, and ensure the highest availability and performance of enterprise applications.
- Isolation: Although virtual machines can share a computer’s physical resources, they are still completely isolated from each other, as if they were different physical computers. Therefore, isolation is an important reason why applications running in virtual environments are far superior to applications running in traditional non-virtualized systems in terms of availability and security.
- Reliable: Virtual servers work independently of hardware, improving business continuity by improving disaster recovery solutions. When a server fails, it can be recovered in the shortest time without affecting the operation of the entire cluster, achieving high reliability of the entire data center. availability.
- Cost: Reduced deployment costs, requiring fewer servers to do things that require more servers, and indirectly reducing costs in other areas such as security.
- Compatibility: All virtual servers are compatible with normal x86 systems, which improves the way of desktop management, and can deploy multiple sets of different systems, minimizing the possibility of problems caused by compatibility.
- Ease of Administration: The server/admin ratio has been increased, and one administrator can easily manage more servers than before without causing a greater burden.