Virtualization fragmentation knowledge

Source: Internet
Author: User

Device Simulation

Hypervisor provides a way to share CPU with multiple operating systems (CPU virtualization), but to provide complete virtualization, the entire environment must be virtualized for these VMS. Machine-or platform-simulation can be implemented in several ways. One popular open-source package supports many hypervisor, calledQemu. Qemu is a complete simulator and hypervisor. However, KVM only uses qemu for device simulation as a separate process in the user space. One interesting feature of qemu is that it provides disk simulation (in qcow format). qemu also provides other advanced features such as snapshot and real-time VM migration.

After kernel 2.6.25, KVM uses virtio as a means to optimize I/O virtualization performance. To this end, it uses the quasi-virtualized (paravirtualized) DriverProgramIntroduce to hypervisor to improve performance to a level close to native. This is only effective when the operating system can be modified for this purpose, but it can still be used in Linux guest in the linuxhypervisor scenario.

Today, virtio and qemu can work together to optimize simulated device transactions between Linux guest and qemu simulators in the user space.

Network Planning

As VMS are merged into physical servers, the demand for platform networking is urgent. However, we do not need to add all VM networks to the physical layer of the platform. local communication can be virtualized by itself. To optimize network communication between VMSVirtual Switch. Vswitches are virtualized into the platform just like physical switches. In this figure, the Virtual Interface (vif) connected to the VM communicates with the physical interface (PIF) through the Virtual Switch.

Open source can also solve this problem, with the help of a very interesting solution calledOpen vswitch. In addition to providing Virtual Switching for the virtual environment, vswitch can also integrate the physical platform and provide enterprise-level features, such as virtual local area network (VLAN), priority-based quality of service (QoS), relay, and support for hardware acceleration (such as a single I/O virtualization [IOV] network adapter ). Open vswitch is now available in kernel 2.6.15 and supports a series of Linux-based virtualization solutions (xen, KVM, virtualbox) and management standards (Remote switchedport analyzer [rspan], NetFlow, etc ).

VM tools and technologies

As VMS are the aggregation of operating systems, root file systems, and configurations, the space is very mature and fully suitable for tool development. However, to make full use of the potential of VMS and tools, there must be a way to combine them. Currently, this method is calledOpen configuralization format(Ovf) is a VM structure that is flexible, efficient, and portable. Ovf contains a virtual disk image in an XML package, which defines the VM configuration, this image and its Platform requirements are further defined using network configuration, processor and memory requirements, and a variety of scalable metadata. The key feature provided by ovf is portability, which allows VM distribution in a way unknown to hypervisor.

Currently, many utility tools are available to manage VM images (VMI), convert these images to other formats, or convert them back from other formats. VMWareOvftoolThis is a very useful tool that can be used for conversion from the VMware Virtual Disk development kit [vmdk] format to ovf ). These tools are very useful for VMI, But what should we do if there is a physical server to convert it into VMI? You can use a very useful tool calledClonezilla. Although the tool was first developed as a disaster recovery disk clone tool, it can be used to convert a physical server instance into a VM to facilitate deployment in a virtual infrastructure. With the extensive adoption of the ovf format, there are many other conversion and management tools or existing (such as utility tools built on libvirt) or are under development.

Local Management

This article explores management from two perspectives. This section discusses platform management. A later chapter will talk about more advanced infrastructure management.

RedHat introduces the libvirt library as an API for managing platform Virtualization (hypervisor and Vm. One attraction of libvirt is that it supports multiple hypervisor solutions (KVM and xen are two of them) and provides API binding for multiple languages (such as C, Python, and Ruby. It provides the "Last Phase" of management, interacts directly with the Platform hypervisor, and extends the API to a larger infrastructure management solution. With libvirt, it is very easy to start and stop VMS, and it also provides APIs for more advanced operations (such as migrating VMS between platforms. Libvirt can also use its shell (built on libvirt), calledVirsh.

KVM

KVM is designed for the virtualization infrastructure that runs on x86 hardware and resides in the kernel. KVM is the first hypervisor to become part of the native Linux kernel (2.6.20). It is developed and maintained by AVI kivity and is now owned by red hat.

The hypervisor provides x86 virtualization and supports both PowerPC and IA64 channels. In addition, KVM has recently added support for Symmetric Multi-processing (SMP) hosts (and guests) and supports enterprise-level features, for example, event migration (allow migration of the guest operating system between physical servers ).

KVM is implemented as a kernel module. Therefore, as long as Linux loads this module, it will become a hypervisor. KVM provides complete virtualization for hardware platforms that support hypervisor commands (such as Intel virtualization technology [intel VT] Or amdvirtualization [AMD-V] products ). KVM also supports quasi-virtualized guest operating systems, including Linux and Windows.

This technology is implemented by two components. The first one is the detachable KVM module. After the module is installed in the Linux kernel, it can manage virtualization hardware and publish its functions through the/proc file system. The second component is used for simulation on the PC platform. It is provided by the modified version of qemu. Qemu is executed as a user space process and coordinates with the kernel in the guest operating system request.

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.