Virtuozzo commands virtual server stage
SWSoft offers an innovative, low-overhead approach to server virtualizationFollow @pvenezia
If you think of server virtualization in terms of VMware, SWSoft Virtuozzo will turn that thinking around.
Whereas VMware virtualizes and emulates the hardware layer, Virtuozzo runs with the native OS on the host server and creates VPSes (virtual private servers), by generating chroot jails for the host. It then tightly controls the network and kernel layers to deliver packets correctly and to handle disk, memory, and CPU quotas.
I looked at Version 3.0 of SWSoft’s Virtuozzo for Linux. First released in 2001, Virtuozzo for Linux has come a long way, and this version has a lot to offer, not the least of which is the v2.6 kernel base -- better late than never.
SWSoft’s approach to server virtualization has some definite benefits over VMWare’s. Among them, it requires much less overhead, so more virtual servers can be run from a single server without noticeable performance degradation. Further, the management of the servers is simpler.
On the other hand, it’s impossible to run Windows virtual servers on a Linux host with this version of Virtuozzo -- and vice versa -- and each VPS is much more dependent on the underlying host OS than with VMware.
Also, all VPSes running on a single host platform must run the host kernel, which is a highly customized Linux v2.6.8. This reliance on the host OS renders Virtuozzo much less attractive for some QA and development work. It makes the solution more alluring to hosting providers and large infrastructures, however, as a single server can handle more VPSes, and the management tools are quite good. OS and app templating features alone make Virtuozzo a big time-saver.
Virtuozzo is capable of running different Linux distributions on a single host. Thus, for example, it’s possible to run CentOS, Red Hat, and Suse VPSes on a Fedora Core 4 (FC4) host. A lot of low-level masking makes that possible. For instance, SWSoft has customized the host OS kernel to function with each of the supported OS distributions, and installing a new distribution template really installs a complete distribution under the /vz partition.
Subsequent VPS builds of that distribution are then created in chroot-like jails with almost every file created as a symlink to the base distribution path. Thus, a brand-new VPS consumes only 100MB of disk, whereas each virtual server under VMware requires a full, generally multigigabyte, installation.
When any file is added to or modified within a VPS, the change is made locally, not globally, and any altered files are first unlinked from the base distribution. To prevent tampering with the host OS, certain tools such as lsmod -- which normally shows all kernel modules within the running kernel -- are symlinked to the true executable, which simply returns a successful exit code.
The templates Virtuozzo provides are broad in range, though by no means complete. Fortunately, SWSoft has provided plenty of tools for admins to roll their own templates, which is generally as simple as providing a pointer to a standard RPM (Red Hat Package Manager) for any given distribution, or simply a directory of files. After the template is created, it can be applied to one or more VPSes in a single command.
Also present in the management console are control panels for quickly modifying Apache and Sendmail configurations on a per-VPS basis, and monitoring panels for each VPS, complete with Windows Performance Monitor-style live-utilization graphing. Very cool.