[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [RFH] xen domain0 failover stuff


I am ignorantly trying to find a way to start a second domain0 when the
first domain0 crashes.  My original intent was to find a way to collect a
core file much in the same way the domainU core files are collected on a
linux box.  

I managed to hack in some hooks to get a second domain0 loaded and started
upon a crash.  However, I am stuck without console output, ie printk() is
not working.  Oddly, early_printk() works fine and I can sort of track the
progress of the second domain0 as it boots.  So my first question is how
does the serial console (not vga) magic work for a domain0 kernel?  Do I
have to set some internal domain bits to have the console output
redirected to the serial port as opposed to userspace and xend (ala
domainU kernels)?  

I attached my small dirty hack below, if it helps. The jist of it is I
added a new parameter, "failover", to be read in from a domainU config
file (ie /etc/xen/guest).  The second domain0 is treated just like a
domainU kernel in regards to loading and installing the userspace disk.
The only thing different is "xm create -c guest" will load a domain0
kernel instead of a domainU kernel.  Combined with the "failover" flag
above, this triggers the hypervisor to reserve this domain as a backup for
later and _not_ unpause the domain once its cpu context is loaded.  Upon
the first domain0 crash, the hypervisor looks up the backup domain0,
mindlessly sets some interesting bits, and unpauses it.  

Pretty simple.  

Any help or tips or pointers would be great.



Attachment: xend.patch
Description: Text document

Attachment: xen.patch
Description: Text document

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.