I doesn’t matter if you are new to VPS hosting, virtualization technology or if you have been working with these technologies for awhile, choosing the best virtualization solution for your hosted environment can be tricky. In this article we will discuss two of the most prevalent technologies available for VPS hosting: Xen and OpenVZ. While both of these are open-source server virtualization packages, often found in VPS hosting and enterprise-level environments, there are some big differences between the two. The purpose here will be to help you find the best fit for your hosting environment and the one that will work best with your applications.
To begin, we have OpenVZ, which is a container-based virtualization system for Linux on the x86, x64 and IA64 platforms. OpenVZ allows you to create multiple operating environments that are isolated Linux containers on the same physical server. This means that resources on the physical server are shared across all container systems and there is only one operating system kernel. This creates a thin layer of virtualization on top of the underlying OS.
Some of the bonuses of OpenVZ include extreme portability, since 95% of the code is platform-independent, the ability to “burst” RAM and other resources when nodes in the system are underused and upgrades can be applied without reboots. OpenVZ allows you to create a shared, virtual environment without a lot of hassle since setup is easy over the network or via disk. OpenVZ is often called the “more cost-effective” solution to virtualization that is easy for new administrators to work with.
On the other hand, there are several drawbacks to this kind of virtualization system. Running an operating-system-level virtualization platform can create problems such as slowness, due to the software layer that has to manage the server kernel. There is no swap space since it uses the physical system swap space, no kernel modules are supported and you are pretty limited to what you can set up. Since you are sharing your physical resources with all of the other compartmentalized systems on the server, this may mean that you do not get as much of the pie as you thought you would and you could end up with a poor environment if there are too many nodes on the system.
The other virtualization system we will look at is Xen Hypervisor, or Xen, which is a powerful virtualization system for x86, x64, IA64 and RAM as well as other CPU architectures. Unlike OpenVZ, which is confined to Linux only systems, you can use Windows, Linux, Solaris and some versions of BSD operating systems. Xen runs a para-virtualization platform that creates isolated systems with their own kernels, kernel modules, dedicated memory, I/O and scheduler that run on a single server system. These systems can then run just like they were stand-alone servers.
Obviously, there are more benefits to an isolated system such as Xen offers over the compartmentalized setup of OpenVZ. You get a system that based more on hardware virtualization and no sharing of physical resources between virtualized systems. Some of the other key benefits are: access to available swap space, highly configurable, better Java performance and direct access to kernel modules. Since Xen acts more like a dedicated server you get greater performance on a wide range of architectures as well as the benefits of a virtualized system.
What are the drawbacks with Xen? Xen is usually limited in hardware. So you need to be careful that you have the correct system specifications up front, since changing them later will be difficult. Since there is no sharing of resources between systems, Xen does not have the “burstable” feature that OpenVZ has. Xen also has a greater overhead, much like a dedicated server, so be prepared to need more resources to keep things running smoothly.
Xen vs. OpenVZ
There are some similarities between the two systems. Both provide a consolidated, virtualized environment where you can run different systems simultaneously on one physical server. They both provide for rapid provisioning, dynamic fault tolerance, hardware fault tolerance and full root access. Both provide great equal check pointing and live migration options and since both engines are based on Unix OSs, they have great scalability.
When it comes to choosing between the two, it can be a tough decision depending on how confident you are in your abilities to set up and manage each system as well as the requirements of the project you will be using it for. In this article I have tried to give you a clear picture of both virtualization solutions so that you can make an informed decision. It is obvious that both projects are outstanding systems and provide the industry with the features necessary to support their needs. Each of these engines is designed to solve a specific set of tasks. Xen excels at providing the maximum approach to the full virtualization solution and full separation between virtual machines and their hardware. Xen also works to support a wide range of operating systems. OpenVZ is a system specifically aimed at Linux based virtual environments and provides good dynamic resource sharing and isolation tools, which leads to higher server utilization figures. Both engines show great performance and great promise. I hope that you can use this information to help you in your decision making process.
Help us spread the word!
If you liked this article, consider enrolling in one of these related courses:
|May 26||Virtualization Introduction|
|Jul 28||Virtualization Introduction|
|Sep 29||Virtualization Introduction|
|- Classroom - Online|