Server Virtualization has taken the IT industry by storm. It has become incredibly popular and common in the last few years. A huge number of organisations have employed server virtualisation and shifted their focus on the virtual space in order to minimize cost, while also maintaining all their services.
The business scenario is constantly saving. It is essential to save funds to survive economically, while also maintaining their technological advancement. Virtualization techniques allow the companies to respond fast and be efficient while doing it. There are a number of vital advantages in implementing Virtualization, which majorly includes:
In order for a business to remain successful, it must constantly strive to reduce all types of costs. Companies, which are turning to virtualisation are essentially saving up on their costs. Virtualisation allows a company to lower the number of physical machines required to run multiple application. This saves physical space, which was otherwise required for data centres or servers, and also greatly reduces electricity and cooling costs.
Operating System Flexibility
The incredibly fast-paced business changing environment requires the company to be efficient as well as flexible. Server Virtualization provides the benefit of running identical or different operating system and applications on a single server, with the use of multiple virtual servers. This provides the customers with the opportunity to test different operating system, without having to change the hardware.
OpenVZ is increasingly popular in the hosting industry, due to its very high density and rapid deployment. It is able to achieve this as the host kernel shares diskspace, CPU and RAM along with guests. There is a very basic separation between the host and the guest, and the I/O bottleneck is almost non-existent.
OpenVZ is a virtualization software, offered by SWSoft Inc. OpenVZ offers a huge number of advantages to the administrator as it allows to host multiple virtual environments onto a single server. The only limitations to this are CPU and RAM.
OpenVZ is an OS-level virtualization technology, which is based on Linux Kernel. It allows one physical server to run multiple different operating system instances, known as virtual environments or virtual private servers.
Unlike paravirtualization and VMWare technologies, such as Xen, OpenVZ is limited as it required both the guest and host OS to be Linux, although the linux distributions can be different in the virtual environments, under a common kernel. OpenVZ offers a good performance advantage, and there’s only a 1 to 3% penalty for running OpenZ as compared to another standalone server.
As OpenVZ utilizes a single kernel model, it can support up to 64 CPUs along with up to 64 GB of RAM. A single virtual environment is able to scale up to a whole physical box, and use the entire RAM and all the CPUs.
OpenVZ is divided into custom kernel and a number of tools, such as vzstat, vzctl etc. can be used. Other than this, OpenVZ lacks some features of the commercial product Virtuozzo, such as the advanced file system, templating features that allows saving disk space and additional user tools. OpenVZ is flexible, efficient and offers quality service in an enterprise environment. Each of the virtual private server is an independent hardware, which can be moved to another OpenVZ based system inside of a network.
In terms of disk latency and disk access speed, OpenVZ is clearly the winner, if compared to Xen and KVM, however, when it comes to the cost of lack of separations and privacy, and the impact one guest OS can have on both the host node and other guest OS, it is highly concerning. All individual processes are visible to host node and data cannot be encrypted or be hidden.
OpenVZ only supports Linux, unless using the various commercial parallels. The good thing with OpenVZ is that it can also be nested inside KVM or Xen to attain even greater density. Due to the number of guests you can run on a host node, the price of OpenVZ is kept much more competitive than Xen or KVM. Look at our OpenVZ VPS Hosting Plans Here.
Xen is offered in 2 flavors, which can basically run simultaneously on the same physical host, XEN HVM (full hardware virtualisation) and PV (paravirtualisation).
Xen is an open source hypervisor, included in Linux kernel, due to which, it can be found in all Linux distributions. The Xen Project is one of the many projects distributed and managed by Linux Foundation.
An environment running Xen may consist of various parts. Initially, there’s Domain 0. In Xen, this is the way of referring to the host operating system (OS), as it is not essentially the host OS, due to it being not accessible to other virtual machines for getting to host server hardware. Domain 0 is only responsible for providing access to the drivers and maintain coordination, which is required to run applications. Other than Domain 0, there are other virtual machines, which are referred as Domain U.
Xen offers two different types of virtualization, which are paravirtualization and full virtualization. In paravirtualization, the virtualized operating system runs a modified version of the same OS, which results in the main OS knowing that it is virtualized. This enables for an efficient and effective communication, between the physical hardware and the OS, as all the hardware devices can be communicated directly. The only actual drawback of paravirtualization is that a modified guest OS is required, which is not supported by a number of vendors.
The second type is full virtuaization. In this mode, the CPU is required to provide support to further virtualization extensions. The advantage being that even unmodified virtualized OS can address the hardware directly due to this support.
Compared to Xen, Red Hat dropped Xen support back in 2010 as the interest began shifting from Xen to KVM as the major Linux virtualization platform. KVM established itself as one of the leading virtualization platform for Linux, during the period when Red Hat dropped Xen in 2010 and Linux Foundation adopting it in 2015.
However, the shift in attention does not mean that Xen is less useful. Major websites all around the world offer virtualization platforms highly based on Xen. One of the most prominent being the Amazon Web Services, one of the leading cloud platforms available today. Xen is doing increasingly well in critical production environment as it maintains its reputation of being more reliable and stable than KVM.
Xen PV guests more often tend to be template based, for rapid development. You can run your own kernel in XEN PV, which is pretty much the default setting nowadays. However, you may only be able to run Linux on Xen PV, and BSD with some additional configuration, although it is not very common.
Xen HVM also runs similar to KVM as it has better drivers for Linux based distributions due to PV being available as a default option since 2006. You don’t need to add modules, or drivers for a performance boost, as the kernel will run just fine without them. However, while Linux kernel runs perfectly smooth, Windows and BSD constantly fail to perform on Xen HVM, unlike KVM. If you still wish to run Windows, you can try installing PV drivers for Windows, however, it will only work to an extent.
Least to say, Xen is quite mature, and most people select Xen for its exceptional stability and good performance. Xen hosts usually pre-allocate CPU cores and RAM to Xen hypervisor, all the dedicated resources are set and no guest is able to impact the performance, thus, achieving stability.
KVM provides full hardware Virtualization. This essentially means that you can run any sort of operating system as a guest, whether it be Linux/Windows/BSD and along with the virtual driver, you get almost identical native performance. It supports ISO and template based installation. It also features a good separation in terms of privacy, as data is hidden from other users. However, it might suffer I/O log occasionally under heavy load, which can reflect across the host operating system and guest operating systems.
KVM utilizes hardware virtualisation technology, which means the main operating system on the server can simulate hardware for another OS to run over it. It then also acts as a hypervisor, which manages and distributes shared resources, such as CPU time and network IO.
KVM does not contain burst resources, they are either all shared or dedicated. This means all disk space or RAM is usually harder to overcommit, as there is an impending danger to all user data. The downside with KVM is that if resources cross the limit, the VPS must swap, which can incur major performance downfall, or start killing the processes one by one. Unlike OpenVZ, KVM cannot temporarily run by borrowing from one of its peers, as all the dedicated resources are completely isolated from one another.
As KVM simulates different hardware, you can run whatever type of kernel you wish too, within its limits. This also means that KVM in not just limited to Linux kernel that is installed in the root node. KVM is also capable of running other x86 OS, such as Windows and BSD. Having an independent kernel means that the VPS can load its own modules and further modify the kernel. This is a unique feature to KVM, which OpenVZ does not support.
In KVM, each process is linked to the host node and runs on it. This is great for discovering which guest is causing issues, if any occur, however, it can also cause problems, such as slowing down, when the host is under heavy load.
The user can easily over allocate the RAM, with minimal effort though it is a highly unlikely scenario unless the host is full SSD. The overhead this will put on the host node will result in huge performance issues. Although, KVM being native to all modern kernels does lend a great advantage over others in various circumstances, it is still fairly new and is still currently under active development. A bunch of organisation select KVM for flexibility and excellent performance. Look at our KVM VPS Hosting Plans Here.