This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


Re: [Xen-users] multiple dom0s

Hi Mark,

I agree with your definition for dom0 (" dom0 is much like a domU but it is special in a number of ways ...")

But, there is an alternative way , you can use a domU as an "halted" dom0, and when your dom0 crashed you can boot your system with domU as a dom0 (and your dom0 as a domU).

I have a domU system (based on LVM partition) so I changed my menu.lst file (grub.conf) to :

title 2.6.18-xen31
        root (hd0,0)
        kernel /xen-3.1.0.gz dom0_mem=256M
        #module /vmlinuz-2.6.18-xen ro root=/dev/VolGroup00/LogVol00 selinux=0
        #module /initrd-2.6.18-xen.img
        module /vmlinuz-2.6.18-xen ro root=/dev/VolGroup00/LogVol02 selinux=0
        module /initrd-2.6.18-xen.img

(LogVol00 is my root file system for the original dom0 and LogVol2 is the domU root file system)

a better way to do it is something like:

title 2.6.18-xen31
        root (hd0,0)
        kernel /xen-3.1.0.gz dom0_mem=256M
        module /vmlinuz-2.6.18-xen ro root=/dev/VolGroup00/LogVol00 selinux=0
        module /initrd-2.6.18-xen.img
title 2 (alternative system)
        kernel / xen-3.10.gz .....
        module /vmlinuz-2.6.18-xen ro root=/dev/VolGroup00/LogVol02 selinux=0
        module /initrd-2.6.18-xen.img

(and, of course you need to install xend in your domU )

In regular my domU serving as a domU system but,  when I have a problem in my dom0, I can reboot my system and use my domU as a "rescue" environment or alternative dom0 system .

I don't know if its stable enough ... I just tried  it in the first time.

Any comments ?

- Doron


Mark Williamson wrote:

I loaded pciback module using modprobe and tried to unbind a pci device
(IDE controller with pci id --00:1f.1) from PIIX_IDE and bind it to
pciback. But it is giving error " write error: no such device".

Please remember that you shouldn't try and do this with a device you need to 
use in dom0.  You can only do it with "spare" devices that dom0 doesn't need 
to use in order to run (e.g. the IDE controller with dom0's disk attached 
can't be passed through).  Whilst you're playing around with PCI device 
assignment you would ideally use a testing machine that you don't care about, 
in case you get something wrong.  Don't learn this stuff on an important 
machine if you can help it!

If you want to pass a device through you need to make sure that a normal 
driver in domain 0 does not grab it, otherwise pciback won't be able to seize 
it.  This is quite a common problem, since the hotplug routines are very good 
at loading the "real" device driver automatically, which is usually what you 
want - but not in this case!

To make sure pciback does get the device you can do one of the following:

a) follow the instructions in section 1.ii at 
to manually unbind the device from the current driver and rebind to pciback
b) use the instructions in section 2 at the wiki page to modify modprobe.conf 
to make sure that pciback gets a chance to grab the device before the normal 
driver for that device does
c) compile pciback statically into the kernel and then put a pciback.hide 
directive onto your kernel command line and reboot

I'd start off with a).  Using the instructions on the wiki page you can 
manually unbind the device from whatever its current driver is.  In this 
particular case I think the following command should do that for you:

echo -n "0000:00:1f.1" > "/sys/bus/pci/devices/0000:00:1f.1/driver/unbind"

That command is just a shorthand for what the instructions on the wiki do.

Then issue your other commands again:

I am using following command to bind the device....

 echo -n 0000:00:1f.1 > /sys/bus/pci/drivers/pciback/new_slot
 echo -n 0000:00:1f.1 > /sys/bus/pci/drivers/pciback/bind

and see if this works better.


Why it is giving such error?

Thanks and regards

-----Original Message-----
From: M.A. Williamson [mailto:maw48@xxxxxxxxxxxxxxxx] On Behalf Of Mark
Sent: Sunday, 9 December 2007 7:48 AM
To: P, Namitha
Cc: xen-users@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-users] multiple dom0s (was: Re: [Xen-devel] ragarding xen
in sles10)

Hi Namitha,

I hope you don't mind but I've copied my reply onto xen-users for public


I am trying to create two privileged domains for better

I have set up XEN on sles10 sp1. Created VMs on that.

Is it possible to create two domain0's? If it is possible how can we
make them to manage VMs.

I tried a lot to get document on such topics...but I failed to get

dom0 is much like a domU but it is special in a number of ways.  Two
ways are:

1) can access the real hardware - by default dom0 owns all the real
in the system
2) can manage other domains

Number 1 can be extended to domUs using the pciback / pcifront drivers.
allows you to dedicate PCI devices to PV domUs.  If you want, you can
these domUs to be "backends" for certain devices, so that they export
devices as virtual disks or virtual network interfaces to other domUs,
like dom0 does.  Or they can just use the devices themselves to improve
performance.  Giving a domain this ability means that you are trusting
it as
much as dom0.

A more restricted form of this would be to just dedicate, say, a serial
to a domain.  There's basic support so that HVM domains can be given
dedicated access to USB devices.  And in the xen-unstable tree it's now
possible to dedicate PCI devices to HVM domUs - and isolate them so they

can't damage the system.

Number 2 is currently reserved only for dom0 and there's no way of
another domain to share this function.

There are lots of possibilities here, depending on what you're trying to



-----Original Message-----
From: M.A. Williamson [mailto:maw48@xxxxxxxxxxxxxxxx] On Behalf Of

Sent: Monday, 3 December 2007 9:26 AM
To: xen-devel@xxxxxxxxxxxxxxxxxxx
Cc: P, Namitha
Subject: Re: [Xen-devel] ragarding xen in sles10

Hi there,

If you google around a bit you may find some backup scripts that

hacked up...  I can't think of a specific project you'd go to off the
top of
my head.

I am new to xen . I need to develop one project that will back up
virtual machine from host. Is there any "script which will support

in host. Or any script which is used to list files of virtual

in the host..........please help me in this regards
You could parse the config file to figure out what disk files are used
by the
VM.  Or you could use the xenstore-* (e.g. xenstore-ls) commands to

details from Xenstore regarding what the paths of the virtual disks

Or, more simply, you could just adopt a naming strategy for your
virtual disks based on their config file name / hostname.  And then

your backup scripts to understand that (e.g. domain with "hostname"

config file /etc/xen/hostname and disk /vm-disks/hostname.disk).

site-specific but if it works for you, that's what counts.

Personally, I just rsync backup the contents of /mnt/vm/, which

my VM's virtual disks (having shut the VMs down first).  I also
rsync /etc/xen/ to my backup device.  This doesn't record which disk
to which VM but it does make it easy to restore the whole lot at once
rsync them back).  If I ever need to restore a particular VM I can do

manually without to much hassle.

Actually, I've been working on a much more advanced backup script for
up VMs in a home / smaller deployment environment.  I'm waiting on

my employers regarding whether I can release this publically.  For
interested, there's some details at
http://www.cl.cam.ac.uk/~maw48/vm-backup-pictures/ - but don't hold

breath for it to be released because it could take a long while to get
permission, if it's allowed at all.



Xen-users mailing list