Ubuntu Server Edition
Ubuntu Server Edition offers a great variety of virtualization technologies, whether it is used as a host or a guest operating system. From free to non-free solutions, Ubuntu offers choices to match every need. We acknowledge that not any single tool offers all the options to fit all needs and while we are strongly committed with KVM as our maintained open source option, VMware and Parallels' OpenVz offer choices for use cases that KVM does not account for in the server space.
KVM - Linux kernel based virtualization
Ubuntu now includes Kernel-based Virtual Machine (KVM), developed by Qumranet. It is integrated within the mainstream 2.6.20 Linux kernels and above. It has built a large community of developers, bringing in contributions and optimisations from many vendors. KVM works in conjunction with Intel VT or AMD-V hardware virtualization technologies, which is available in most current server-oriented x86 Intel or AMD processors. Using KVM, it is possible to run multiple unmodified OSes in parallel with each having private virtual hardware (network, disk, graphics etc.). KVM supports a wide variety of guest operating systems.
Through the implementation of virtualization within the standard Linux Kernel, the footprint and overhead of a traditional virtualization solution is reduced to a bare minimum. The standard Ubuntu Server is, by default, a hypervisor. It also takes full advantages of all the optimisations implemented in the Linux Kernel without any modifications.
Ubuntu Server JeOS is now fully optimised to run as a KVM guest.
New in 8.10: Simplified installation
Two new meta packages have been added to setup a virtualization environment using KVM:and a "Virtualization Host" installation profile (tasksel) has been added to allow set up ubuntu-virt-server during install.
- ubuntu-virt-server will install and configure the tools you need to run KVM guest on a server,
- ubuntu-virt-mgmt will install and configure the tools you need to administer a KVM server from a client.
New in 9.04:
- Modern, even more full featured KVM with a number of stability and performance improvements, and early preview support for nested virtualization (virtual machines running virtual machines).
- KVM has supported live migration for well over a year already, but we now support this all the way through the stack, from hypervisor (KVM itself) through libvirt and all the way to virt-manager.
- KSM is a new technology within KVM which allows for memory agregation. Identical memory blocks accross virtual machine are detected and aggregated allowing for a much higher density of guests on a given host when running similar virtual machines.
- PCI passthrough feature of KVM allows to assign PCI devices directly to a given guest (up to 8 guests per PCI with supporting PCI devices), bringing performance to an unprecented level.
VirtIO's increased performance
The use of Linux Kernel's VirtIO for disk and network access brings the stability of kernel-supported unified drivers with the peace of mind of common drivers for multiple hosting technologies. VirtIO is a patch that has been included in the Linux kernel to provide a common interface for all virtualization technologies to access disk and network. This bring much simpler access to the actual hardware from the guest OS thus significantly increasing performance. For example, instead of KVM emulating a complete physical network interface card (NIC) and the kernel inside that interfacing with this NIC and both sides of the fence trying their best to cope with the details of this emulated NIC, VirtIO skips all that and just moves data back and forth in a very simple way.
This simplicity does not only provide speed but also maintainability. With VirtIO the virtualization engines nor the guests need to reimplement specific virtual drivers and maintain them over time. This also implies easier migrations of guest OSes from one virtualization technology to the other, if it was ever needed. It also allows the kernel to provide hardware optimisations based on the specifics of it without requiring any updates in the guests' environments.
Libvirt flexibility
Thanks to the standardisation provided Libvirt we now can provide a single common command line interface and API to handle the creation and maintenance of KVM or XEN hosts and could be expanded to support any future Linux based virtualization technology. This means that graphical interface tools, such as Red Hat's Virt-Manager (Virtual Machine Manager) can locally or remotely connect to hosts to know each guest ressource usage, and manage them.
Supported technology
Being part of our maintained set of technologies, KVM and libvirt benefits from the 5 year maintenance and support policy of Ubuntu Server Edition LTS. This means that updates and patches will be provided for free, but also that our customers under a standard support contract are able to receive advice and remediation for it. It should be noted that the tests that we perfom on KVM are only done with Ubuntu Server OS (from 6.06 and newer versions) and while other OS should work as guests, we do not commit on support for it.
New in 8.10: Ubuntu as a Xen guest
Recognizing the requirement many of our users have to run Ubuntu as a paravirtualized guest (DomU) in Xen environment, this is now a fully supported option of the server kernel. Running a Xen host (Dom0) on Ubuntu still requires a community maintained kernel in universe.
New in 9.10:
- Libvirt is now integrated with AppArmor
- Ubuntu Enterprise Cloud is integrated in the Server installer
Third Party Virtualization
Canonical has engaged with VMWare and Parallels to provide Ubuntu users additional choices in terms of virtualization.
VMWare
VMWare is Canonical's premier partner on virtualization with whom we have jointly created the JeOS flavor of Ubuntu Server Edition to offer a optimized guest for VMWare Server or ESX.
VMWare also provides VMWare Server at no charge from the partner repository.
Parallels
Aside from the partnership on the desktop which provide Parallels Workstation from the partner repository, Parallels has also uploaded OpenVZ, the open source version of Virtuozzo Containers, and is directly available from the universe repository. It can be used to create isolated containers on a single physical server and OS instance offering high levels of density and performance.


