This is a guest blog post by Georg Dörn, a long-time system administrator and open source enthusiast. Georg founded his company its-doern in 2008, to develop solutions for customers entirely from open source software.
On the right, you see the XEN-HA Cluster which is based on two identical Debian XEN Hosts (Debian Lenny, Xen 4.0.1, Kernel 3.2.16) with DRDB 8.4.1 (1 x SATA Disks and sync with 2 x GBit NICs per Node) and heartbeat 2.1.3 .
The whole system runs with open source software! This XEN-HA cluster is not an experimental system: It works as a video production system for many of our customers.
The video shows you an RDP session in which a Windows 2012 Beta terminal server VM with Univention GPLPV-drivers is running on the XEN-HA cluster. Within the RDP session a video is playing while live migrating the terminal server VM from one XEN-HA cluster node to the other node and back again without any downtime. You will see a very short stop playing the video at 2:22 and 3:55, where only one ping is lost during migration.
One of the goals for the 4.2 release is for xl to have feature parity with xm for the most important functions. But along the way, we’ve also been adding a number of improvements to the interface as well. One of the ways in which xl has changed and improved the interface is in passing through pci devices directly to VMs.
A basic device pass-through review
As you may know, Xen has for several years had the ability to “pass through” a pci device to a guest, allowing that guest to control the device directly. This has several applications, including driver domains and increased performance for graphics or networking.
To pass through a device, you need to find out its BDF (Bus, Device, Function). A BDF now consists of three or four numbers in this format: DDDD:bb:dd.f, where:
DDDD is a 4-digit hex for the PCI domain. This is optional (if not included, it will be assumed to be 0000).