Virtualization is a widely used technology nowadays. A whole set of hosting plans is based on it – the so-called Virtual Private Servers (VPS). VPS provides full control over the account (i.e. root access), remote reboots and system restore.
Two of the most popular virtualization technologies are: Xen and OpenVZ.
Xen is a virtualization engine for x86, x86-64, Itanium platforms. On number of processor a paravirtualization technique is applied by Xen. This means that the operation systems run on Xen are modified in order to achieve high performance on a wide range of hardware architectures, which are initially not intended for virtualization technologies.
Xen makes possible for multiple guest operating systems to run on a single computer by using a software layer called a hypervisor to mediate access to the real hardware. The hypervisor acts like a traffic cop, directing hardware access and coordinating requests from the guest operating systems.
OpenVZ is an open-source virtualization engine on the x86, x86_64, and IA64 processors. OpenVZ, itself, is built on top of Linux. OpenVZ virtualization the operating environment is virtualized instead of the hardware. Thus, while there is only one operating system kernel, multiple programs run in isolation from each other within the single OS instance. OpenVZ is easily portable across different architectures, since 95 percent of the code is platform-independent.
Differences between OpenVZ and XEN
Additionally both Xen and OpenVZ provide the ability to securely separate virtual operating systems. However, this feature is implemented through different techniques. Xen provides full fixed isolation, where the initially assigned quotas are kept throughout the entire functioning period, and additional request for memory are processed using the swap space on the HDDs. OpenVZ, on the other hand, provides semi-dynamical assignment of resources. Such terms as burstable RAM and resources exist in OpenVZ. Therefore, VPSs based on OpenVZ may also take advantage of the free resources of the server. This can result in better utilization of the resources of the carrier hardware.
Unlike OpenVZ, XEN has the ability to support legacy software as well as new OS instances on the same computer. That means that proprietary systems can be installed on Xen based carrier without any additional modification if hardware assisted virtualization is used. OpenVZ provides compatibility only in frame of the alike kernel, such as various distributions of Linux OSs.
Both provide great and relatively equal check pointing and live migration options.
Both engines are based on the Unix OSs, therefore they have great scalability.
An administrator (i.e. root) of an OpenVZ physical server (carrier) can see all the running processes and files of all the containers on the system. That makes mass management scenarios possible. In case if Xen is used for server consolidation: in order to apply a security update to 10 virtual servers, an administrator is required to log in into each one and run an update procedure. Since VPSs are normally indented for different users, this is not an issue for Xen. However, the OpenVZ is a simple shell script can update all containers at once greatly eases the management of the entire system.
It is obvious that both XEN and OpenVZ are outstanding virtualization systems and provide sufficient number of features to support an entire type of VPS plans. Xen is a technology mainly aimed at providing the maximum approach to the full virtualization and full separation of virtual machines on the hardware carrier. OpenVZ, on the other hand, is a system specifically aimed at Linux based virtual environments. It provides good dynamic resource sharing and isolation tools, which leads to higher server utilization figures.
XEN will greatly suit for voip, proxy, vpn servers and unoptimized sites, and OpenVZ will be a good solution for databases and mail servers.