Article Title: risks, traps, and planning of Linux Virtualization. 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.
Original article: linuxuniversity.net/articles/33812.shtml "target = _ blank> Today's Guide to Linux Virtualization by Joe 'zonker' Brockmeier
Linux virtualization is nothing new. It has been around for 10 years. Technically, it has indeed made significant progress, but that doesn't mean it is much simpler (51CTO article: Linux Virtualization: top ten attractive reasons I love you ). On the contrary, there are dazzling virtualization solutions everywhere, all of which claim to be able to manage workloads and storage, reduce complexity, and reduce costs and energy consumption, however, we have not answered the question about whether to deploy virtualization. Today, the real question is what kind of virtualization solution is suitable for virtualization and what kind of workload.
In addition, virtualization is not omnipotent. Some workloads can achieve the best results only when they run directly on physical servers. However, server virtualization has many advantages. We will use four articles to describe Linux Virtualization in detail. This article first outlines the Linux virtualization solution. In the next few weeks, you will see the standard virtualization strategy, virtual devices, cloud computing and other details.
What does virtualization bring to us?
First of all, I want to tell you that the current sales of the virtualization solution are good. Through virtualization, the server utilization is improved, the energy cost is reduced, and the workload of each server is maximized, improves resource utilization. In the past, Linux running on commercial x86 servers often used only a small portion of the server's computing power, and a large amount of computing power was idle. By using virtualization, you can ensure that the workload carried by the hardware is sufficient without overload or idling. By integrating applications on multiple physical servers into one server, you can also save power costs. (See 51CTO related articles: Research on the Application of virtualization technology in high-performance computer systems)
If you choose a suitable tool and have a good management solution, virtualization can also reduce complexity and provide more convenient system management. An excellent virtualization management tool can manage dozens or even hundreds of virtual machines from a GUI console. Its complexity does not exceed the management of a physical server. For example, to use the ParallelsVirtuozzo container, you only need to click a few clicks to configure and deploy a standard operating system template to bring the virtual machine online. Use SUSEStudio, you can quickly build a VMware or Xen virtualization server within minutes. The open-source Virtual Machine Xen 4.0 is released, enhancing fault tolerance and scalability.
Virtualization also brings more flexibility. For example, when the workload exceeds the limit of its resources, more resources can be allocated to the same server through virtualization, you can also move virtual machines (VMS) to servers with larger capacities. If you are using a cloud-based solution, the sky is the limit on workload flexibility.
Note: we are talking about server virtualization, which does not involve many desktop-level virtualization solutions. Therefore, table-level virtualization tools, including VirtualBox, VMwareWorkstation, and ParallelsDesktop, are recommended, however, we strongly recommend that you do not use these desktop-level virtualization solutions for key businesses. (51CTO related articles: How to face server virtualization-small and medium-sized enterprises)
The Linux server virtualization solution provides a lot of choices for organizations of all sizes, whether you want to integrate servers or provide a solution for Web 2.0 startups, linux should be the core of virtualization planning, but the problem is what projects it is suitable for and which vendor's solution should be selected.
Prospect of Virtualization
Virtualization involves a wide range of technical fields. When talking about Linux virtualization, it often refers to full virtualization, that is, the host operating system runs multiple client operating systems, it seems that they all run on their own hardware, maybe Linux, maybe other operating systems. Nowadays, virtualization may refer to operating system virtualization, storage virtualization, or virtual devices.
For operating system virtualization, you will find many mature Linux virtualization solutions. First, you need to decide whether to use full virtualization, container-based virtualization, or cloud-based computing. The full virtualization mentioned here refers to the solution for running one or more operating systems on a Hypervisor, such as the Bare Metal of Xen and Parallels, VMware ESXi and Linux Kernel-based KVM (Kernel-based VirtualMachine ).
Full virtualization is widely used today, but container-based virtualization is also a good solution for some workloads. Container-based virtualization generally does not run multiple operating systems, it can accommodate the client operating system in its own user space, rather than running on a separate operating system kernel. Container-based virtualization is more robust, because hardware simulation is not required, it requires less system overhead. The disadvantage of container-based virtualization is that it is not allowed to run multiple operating systems on the same hardware platform. Would you like to run six Linux instances on one server using the container-based virtualization solution? No problem, but how many Linux clients do you want to run with Microsoft Server? Container-based virtualization solutions cannot be used.
For the container-based virtualization solution, you can study Parallels javasozzo container, or OpenVZ with open source but fewer functions. If you are using FreeBSD, you can try jails, if you are using Solaris/OpenSolaris, try Zones.
What is the substantial difference between full virtualization and container-based virtualization? With the full virtualization solution, you can use most of the operating systems or use them together. For example, a small organization may use full virtualization tools on a server, for example, Xen, Parallels, KVM, VMware, or Microsoft Hyper-V, Windows Server 2008 and SUSE Linux Enterprise Server 10 are run simultaneously to integrate their workloads.
However, in a hosted environment, you need to run dozens of Linux virtual private servers on a physical server. OpenVZ or mongoozzo may be the best choice.
Although KVM is very mature, it is still not considered to be at the same level as Xen, VMware, or Parallels solutions, the KVM status page lists the completed and ongoing work. In the long run, KVM can reach the same level of professional solutions, it is worth mentioning that KVM has now entered the Linux kernel trunk, which has aroused great attention in the kernel community.
Dangers, traps and planning
Virtualization is not a panacea for solving all your computing problems. In fact, if you choose a wrong or improper virtualization solution, you may have more headaches. To avoid increasing your workload, it is important to evaluate the solution because you have to deal with it for at least the next five years.
First, make sure that your organization is ready to meet the challenges posed by virtualization. For example, when two departments share physical hardware to run virtual machines, who will bear the virtualization cost and who can control the underlying hardware, if you need to adjust who is responsible for the allocation of VM resources and coordinate resource competition between departments, you must think carefully and plan these issues. Otherwise, there will only be chaos.
If the department has its own IT staff, who has the right to deploy and manage virtual machines? What is the scope of management? These are not technical problems, but these problems must be resolved and clarified before the problems such as insufficient memory and insufficient storage.
You also need to prevent virtual machine abuse. Before you plan well, you should not immediately deploy virtual machines on impulse. managing virtual machines should be planned and deployed like managing physical servers.
Another consideration is the type of virtual workloads, the limitations of underlying hardware and virtualization solutions. Although many workloads are suitable for virtualization, not all of them are suitable. For example, make sure that you provide powerful hardware support for resource-intensive applications. If not, run them directly on the physical hardware platform.
Another problem that is often ignored is also very important, that is, training. Although the current virtualization tool is not a great challenge for system administrators, not everyone is familiar with it, if your organization plans to implement virtualization with a new toolset, training should be part of the implementation process and budget.
Through this article, we can only see part of the one-sided content of virtualization. In the next few articles, we will introduce 51CTO's best strategic practices in enterprises, the differences between full virtualization and container-based virtualization will be discussed in depth, and the significance of cloud computing for your organization will be discussed. Please stay tuned.