Article Title: Linux virtualization technology Xen virtualization beginner's guide. Linux is a technology channel of the IT lab in China. Includes basic categories such as desktop applications, Linux system management, kernel research, embedded systems, and open source.
A virtual platform is an operating system that supports running Xen;
Virtual Operating System: An operating system that installs and runs on a virtual platform;
For example, if Xen is installed in Slackware, Slackware is a virtual platform and other operating systems can be virtualized through the virtual platform. For example, Debian and Fedora can be virtualized through Slackware ......
1. What is Xen;
Xen is an open-source para-virtualizing Virtual Machine (VMM) or "hypervisor" designed for machines with x86 architecture. Xen can safely execute multiple virtual machines on a set of physical hardware. Xen is a kernel-based virtual program, which is closely integrated with the operating platform, so it occupies the least resources.
What is a virtual machine? You may know about VMWARE. Yes, Xen is a program like this. For example, we can install and use Slackware, Debian, Gentoo... and other releases on Fedora. Because Xen is kernel-based, compared with VMWARE, it occupies about a few percent of the system resources of VMWARE. Is Xen more advantageous? Only when you practice it can you know. This is also the main reason for my writing this article;
1.1 Xen features;
Virtual Machine performance is closer to the real hardware environment)
Switching between platforms and virtual platforms in real physical environments)
Each customer's Virtual Machine supports 32 virtual CPUs, hot swapping through VCPU)
Supporting the PAE Instruction Set x86/32, x86/64 platforms
Using Intel virtual support VT support to use virtual original operating system (unmodified) support (including Microsoft Windows)
Excellent hardware support. supports almost all Linux Device Drivers
1.2 Xen application scope;
Server integration: multiple servers are installed on a physical host within the scope of virtual machines for demonstration and fault isolation;
No hardware dependency: allows applications and operating systems to test the value shifting of new hardware;
Multi-Operating System Configuration: For the purpose of development and testing, multiple operating systems are run simultaneously;
Kernel development: Test and debug the kernel in the sandbox of the virtual machine. You do not need to set up an independent machine for testing;
Cluster Computing: Compared with managing each physical host separately, it provides more flexible VM-level management and easier control and isolation for Server Load balancer;
Provide hardware technical support for the customer's operating system: You can develop a new operating system to benefit from the extensive hardware support of the existing operating system, such as Linux;
1.3 Xen operating system support and hardware support;
2. A Theoretical Basis of Xen;
The Xen-based operating system has multiple layers. The bottom layer and the top privileged layer are the Xen program itself. Xen can manage multiple customers' operating systems. Each operating system can be implemented in a secure virtual machine. In terms of Xen, Domain is controlled by Xen to efficiently use the physical resources of the CPU. Each customer's operating system can manage its own applications. This management includes the response to execution of each program within the specified time, which is implemented through Xen scheduling to the virtual machine.
After Xen is started and running, the first virtual operating system is Xen itself. We can find a virtual machine with Domain 0 through xm list. Domain 0 is the manager and controller of other virtual hosts. Domain 0 can build more other domains and manage Virtual Devices. It can also perform management tasks, such as virtual machine sleep, wake up, and migrate other virtual machines.
A server process called xend manages the system through domain 0. Xend manages a large number of virtual hosts and provides access to the console of these systems. A command is sent to xend through an HTTP interface using a command line tool.