Analyze System Virtualization

Source: Internet
Author: User
Tags vps

 

In short, virtualization is an abstract method that represents computer resources. Virtualization simplifies the presentation, access, and management of computer resources, including infrastructure, systems, and software, and provides standard interfaces for these resources to accept input and output.

There are many Virtualization Technologies, such as network virtualization, memory virtualization, desktop virtualization, application virtualization, and virtual memory. Due to the length of the article, this series will focus on system virtualization, especially the X86 platform. All the virtualization mentioned in this series will be system virtualization.

The purpose of system virtualizationVirtual Machine monitor (vmm) is used to virtualize and run one or more virtual machines (VMS) on one physical machine ). Vmm has two main forms:

  1. Hypervisor VMIt runs directly on the hardware (bare metal), provides performance close to that of the physical machine, and has made many optimizations on I/O, mainly used for server applications, it is also called "Type 1 ".
  2. Hosted(Managed)VMIt runs on the operating system of the physical machine. Although its performance is not as good as that of hypervisor (because it is an operating system separated from the hardware), it is very convenient to install and use and has rich functions, for example, it supports 3D acceleration and is often used in desktop applications, also known as "Type 2 ".
Classification of system virtual machines

Due to different technologies, system virtualization can be divided into five categories:

Emulation)

Introduction: In hosted mode, create a hardware simulation program (hardware VM) on the operating system of the physical machine to simulate the desired hardware, and run the virtual machine on the program, in addition, the customer Operating System (Guest OS) inside the virtual machine does not need to be modified. Well-known products include bochs, qemu, and Microsoft Virtual PC (it also uses a small number of full virtualization technologies ).

Figure 1. hardware simulation Architecture

Advantages: The Guest OS does not need to be modified. It is very suitable for Operating System Development and facilitates collaborative development of firmware and hardware. Firmware developers can use the target hardware VM to verify their actual code in the simulation environment, instead of waiting until the hardware is actually available.

Disadvantages: The speed is very slow. Sometimes the speed is more than 100 times slower than the physical condition.

Future: Due to speed issues, the trend is gradually declining, but there should be a place.

Full Virtualization(Full Lifecycle lization)

Introduction: It mainly captures and processes privileged commands that are sensitive to virtualization between the customer's operating system and hardware, so that the customer's operating system can run without modification. The speed varies according to different implementations, however, it can meet the needs of users. This method is the most mature and common in the industry today, and belongs to both the hosted mode and hypervisor mode. Well-known products include ibm cp/CMS, virtualbox, KVM, VMware Workstation and VMWare ESX (it was renamed VMware vsphere in its 4.0 version ).

Figure 2. full virtualization Architecture

Advantages: The Guest OS does not need to be modified. The speed and functions are very good. More importantly, it is very simple to use, whether it is VMware products or Sun (Oracle ?) .

Disadvantages: The performance of all-virtual products based on the hosted model is not very good, especially for I/O.

Future: In this mode, not only does the guest OS not be modified, but it will also improve its performance by introducing hardware-assisted virtualization technology. I personally judge that full virtualization will remain the mainstream in the future.

Parairtulization)

Introduction: It is similar to full virtualization. It also uses hypervisor to achieve shared access to underlying hardware. However, because the guest OS running on the hypervisor has integrated Code related to semi-virtualization, this allows the guest OS to be well integrated with hyperivosr for virtualization. In this way, you do not need to recompile or capture privileged commands, so that their performance is very similar to that of physical machines. The most typical product is xen, because Microsoft's hyper-V technology is similar to xen, hyper-V can also be attributed to semi-virtualization.

Figure 3. Semi-virtualization Architecture

Advantages: Compared with full virtualization, this mode has a simpler architecture and a certain advantage in overall speed.

Disadvantages: You need to modify the guest OS, so it is troublesome to use the user experience.

Future: I think it should be similar to the current situation in the future. It should continue to have a place on public cloud (such as Amazon EC2) platforms, however, it is difficult to compete with fully-virtualized products like VMware vsphere in other aspects, and it will also use hardware-assisted virtualization technology to speed up and simplify the architecture.

Hardware-aided Virtualization(Hardware assisted virtualization)

Introduction: Intel, AMD, and other hardware vendors improve performance by using hardware for some software technologies used in full virtualization and semi-virtualization (detailed below. Hardware-assisted virtualization technology is often used to optimize all-virtualization and semi-virtualization products, rather than the original one. The most famous example is vmware workstation. Although it belongs to full virtualization, however, in its 6.0 version, hardware-assisted virtualization technology is introduced, such as Intel's VT-X and AMD-v. Currently, mainstream all-virtualization and semi-virtualization products on the market support hardware-assisted virtualization, including virtualbox, KVM, VMWare ESX, and xen.

Advantages: The introduction of hardware technology will bring virtualization technology closer to the speed of physical machines.

Disadvantages: The existing hardware is not optimized enough, and there is room for further improvement.

Future: Because the use of hardware technology not only improves the speed, but also simplifies the architecture of virtualization technology, it is predicted that hardware technology will be used by most virtualization products.

Operating system virtualization(Operating system level virtualization alization)

Introduction: This technology achieves virtualization through simple isolation of server operating systems, mainly used for VPs. The main technologies include parallels javasozzo containers, chroot on Unix-like systems, and zone on Solaris.

Figure 4. Operating System Architecture

Advantages: Because it directly modifies the operating system, the implementation cost is low and the performance is good.

Disadvantages: Poor performance in resource isolation and limited the model and version of guest OS.

Future: Unclear. I think it should belong to a niche, such as VPs, unless there is a revolutionary technology.

Comparison between five categories

Based on my personal experience, I have compared these five categories in terms of performance, user experience, and use cases. For details, see:

  Performance (to the ratio of physical machine speed) User Experience Form
Hardware simulation 30%- Simple Hosted
Full Virtualization 30%-80% + Simple Hosted/hypervisor
Semi-Virtualization 80% + Difficult Hypervisor
Hardware-aided Virtualization 80% + Average Hosted/hypervisor
Operating system virtualization 80% Difficult Similar to hypervisor

Table 1. Comparison between five categories of system virtualization

This table is just my general experience and is for reference only, especially in operating system virtualization.

Use of system virtualization

What are the main functions?

  1. Software TestingBy using virtualbox and vmware workstation to configure the test environment, it is not only faster than the physical method, but also does not need to buy a lot of expensive hardware, more importantly, the Snapshot/pause functions provided by these tools can be used to conveniently Save the status of errors, which is very helpful for communication between testers and programmers. Currently, many software has been tested through virtual machines. The most famous example is the Chrome OS test version released in the form of virtualbox virtual machine. I first came into contact with the powerful power of virtualization technology in terms of software testing.
  2. Desktop applicationsThrough desktop virtualization software such as virtualbox and VMWare Workstation, users can use exclusive software from other platforms, for example, Linux users can access ActiveX-based online banking through the Virtual Windows environment on virtualbox.
  3. Server IntegrationWith VMware ESX and xen, the workload on multiple physical machines can be integrated into one physical machine. The current general integration rate is around, that is, the use of these software can integrate the work required for eight physical machines into one physical machine. Server integration not only reduces hardware, energy, and site expenses, but also greatly simplifies the complexity of the IT architecture.
  4. Automated ManagementBy using similar drs (distributed resource scheduling, distributed resource scheduling), Live migration (dynamic migration), DPM (Distributed Power Management, distributed power management) and HA (high availability, high Availability) and other advanced virtualization management technologies can greatly improve the automation management of the entire data center.
  5. Accelerate Application DeploymentBy introducing the virtualization application release format ovf (Open virtualization alization format), third-party application vendors can release applications more conveniently, in addition, the system administrator can easily deploy the application (in most cases, the entire deployment can be completed with a single click ).

 

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.