Xen Dom0 and Paravirtualized guest reported to work in Fedora 11 Beta

Xen 3.0 Dom0 support reported to be working

Xen 3.0 Dom0 support reported to be working

Great news everyone! Fedora Weekly News, issue 175 reports successful Dom0 integration in Fedora 11 Beta.  Here is the quote I read today:

Pasi Kärkkäinen reports[1] success with a dom0 kernel using Fedora 11 Rawhide. “I’m able to run Xen paravirtual (PV) domUs, install new domUs using virt-install and also install and manage domains with virt-manager.”

The environment used was:

– Fedora 11 (rawhide as of 2009-05-05)
– Xen included in F11, no external patches (xen-3.3.1-11.fc11)
– xen-tip/next pv_ops dom0 kernel as of 2009-05-06, Linux 2.6.30-rc3.
– All the rest was standard stuff included in Fedora 11 as well

This is all coming sooner than I previously expected.  I’ll be following up on this story next week as I compile more information and try it myself.  Paravirtualized Operations provide a significant boost to guest Operating System performance and no project implements it better than Xen.  I’m glad to read that it is working in Fedora 11.


Fedora 11 will likely not include Xen Dom0 (virtualization) support

xen logo

I (like many of you) have been patiently waiting since Fedora 8 for Dom0(Domain 0) Xen support in Fedora.  Why hasn’t Red Hat or the Fedora Project made an announcement? Haven’t we been good? I mean libvirtd is great and all, but Xen PV(paravirtualized) VM’s destroy. I did some googling to get to the bottom of this. I found a fedora project page with a January 2009 status update.

Here is a snipit:

“Currently, the Fedora kernel-xen package is based on forward-porting of the XenSource patches from 2.6.18 to more recent kernel versions. This has many problems, including:

  • XenSource code has no chance of being merged upstream, in the near future, making the forward-porting work needed for all new kernel versions.
  • Lots of porting work for each new kernel version
  • Because of the above, kernel-xen has been some releases behind the non-xen kernel package, and the lag between kernel and kernel-xen has been increasing constantly”

And also:

“As of November 2007, the kernel-xen forward-porting was being finished for 2.6.22, and Linux 2.6.24 was about to be released. The effort needed for 2.6.23, 2.6.24 and later would have been even bigger with the introduction of paravirt_ops and the i386-x86_64 merge upstream. Thus, the decision was made to abandon the forward-porting effort and focus on upstream paravirt_ops.”

So where does this leave us?  Unmodified guest are old news.  Even Microsoft can do that.  Well not really, as I understand it, Microsoft’s HyperV platform contains Xensource licensed code.  But a customer of the company I work for likes HyperV a lot(incidently).  On the Xen Wiki it says that Paravirt_ops will be ported to the 2.6.30 kernel.  My prediction, Xen Dom0 support will be available toward the end of Fedora 11’s cycle or Fedora 12.

Why does Dom0 matter?  Dom0 is the specially modifed Xen-linux kernel that sits on top of the hypervisor. From Dom0 you can run fully virtualized guest and partially virtualized guest (paravirtualization).  Paravirtualized guest enjoy a method for allowing the use of a set of generic virtual device drivers provided by Dom0.  PV guest are known to have outstanding perfomance compared to their fully virtualized counterpart.  Paravirt_ops refers to Dom0 integration with the Linux kernel.


Fedora Core 7 Xen Paravirtualized Guest Install

NOTE: I myself am a novice with Xen. This setup worked well for me, but I cannot guarantee results. I came across several hurdles and have worked through most issues. I hope this document helps. Please click on my adds, they help pay for the hosting. Thanks and enjoy.


This is a standard fedora 7 installation with current yum updates; in this setup we have two interfaces. One interface(eth0) provides ethernet connectivity to Dom0 (the master domain from which guest are created). The second interface, is for connecting to the paravirtualized guest. Both network cards are plugged into the same switch.

We will use the standard fedora linux networking mechanism rather than letting xen setup up our interfaces. The advantage to this is that we can easily set up multiple NIC’s, connected to Different LANs with separate firewall rules configured by the individual paravirtualized guest.


Intel Super Micro mainboard

Intel Corporation 82566DM-2 Gigabit Network (does not work with xen kernel 2.6.21-7.fc7xen)

– added 3com 3c905 100BaseTX ethernet card

– added Realtek RTL-8139/8139C/8139C+ ethernet card

Intel(R) Core(TM)2 Duo CPU E6550@2.33GHz


kernel 2.6.21-7.fc7xen

Step 1: Install libvirt and virt-manager

[root@mattcom1 ~]$ yum install libvirt


[root@mattcom1 ~]$ yum install virt-manager


Step 2: prepare installation media

Now we have to create a fedora 7 source tree for installation. One caveat, that I didn’t get at first was how to create the Fedora 7 source tree. The virt-manager tool will expect a standard source tree setup, but doesn’t tell you what that is…

I chose to install from the http, but failed when I copied the files from the Fedora DVD. After some googling I found that the directory for your web server needs to be exactly like this, ‘<files from the fedora dvd>’. Believe it or not, it wouldn’t take the install files in any other directory structure.

In Fedora 7 the default apache web root is ‘/var/www/html/’. So your full path will look like this ‘/var/www/html/fedora/linux/core/7/i386/os/<files from fedora DVD>’. It took me a while to find this information online…

step 3

I like to use the virt-manager to create guest machines. virt-manager is a graphical interface for libvirt. Libvirt is an API for interacting with Xen and other hypervisors. It is defiantly buggy though. Libvirt and Many times I’ll shut down a guest and the virt-manager still shows it running. If this happens do:

[root@mattcom1 ~]# service xend restart
[ OK ]

Then virt-manger will be fine. One other thing, virt-manger has a built in VNC client, but in my testing it failed. More on that later.

Written by mattb in: Uncategorized | Tags: , ,