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

Re: [Xen-devel] Running netback/blkback in non-dom0 domains



Thanks Mark,

Yes, this generally works (I've tried block devices on xen-3.2-testing).  
Some additional details: 

  1) If you build two different kernels dom0 and domU don't forget to 
     enable XEN_BACKEND, XEN_BLKDEV_BACKEND, XEN_NETDEV_BACKEND in your 
     domU config. 

  2) To connect backend you need a domU with a Linux system with working  
     hotplug scripts (I guess BSD and other systems use something else).  
     Hotplug scripts in turn depend on working xenstore-write, 
     xenstore-read, xenstore-..., etc. tools. 

Some bugs/unclear features:

  1) If you ask to import the same device, but from different domains, 
     like /dev/loop0 below:
     
         disk = ['phy:/dev/loop0,sda1,w', 
'phy:/dev/loop0,sda2,w,block-backend-domain']   
     
     Domain is not created with an error:     
       Error: The file "/dev/loop0" is already used

  2) If you export a block device from dom0 through a domU to the second 
     domU, e.g.
     
       /dev/loop0  ---->  /dev/sda2  ---->  /dev/sda2
         dom0               domU(1)           domU(2)
     
     device is not accessible in domU(2) with an error 
        Buffer I/O error on device sda2, logical block 25840 
     Xen complains: 
        (XEN) grant_table.c:360:d0 Could not pin grant frame 99551

Anton
  
On Fri, Jul 18, 2008 at 12:30:48AM +0100, Mark Williamson wrote:
> On Thursday 17 July 2008, Anton Burtsev wrote:
> > Hi,
> >
> > Is there a way to configure/hack Xen to run backend devices in
> > a non-dom0 domain (in domU). Like, for example connect two domU
> > domains with a block device.
> 
> Yes, I think this should Just Work with the right configuration parameters...
> 
> Set:
> blkif = 'yes'
> or
> netif = 'yes'
> 
> As appropriate in your domain config file for the "backend" domU.  Then in 
> the 
> frontend domU's config file you can specify something like:
> 
> disks = [ 'phy:hda1,hda1,w,BACK' ]
> 
> substituting the domid of the backend domain for BACK (its name might work, 
> possibly, I'm not sure).  Specifying file: or tap: disks in the backend domU 
> to work in this way might be a bit of a fiddle (if it's possible) but phy: 
> should work just fine.
> 
> or you can do:
> 
> vif 
> = 
> "type=TYPE,mac=MAC,bridge=BRIDGE,ip=IPADDR,script=SCRIPT,backend=DOM,vifname=NAME"
> 
> again, specifying the domid (or possibly the name) of the backend domain.
> 
> If you start the backend and then the frontend from these config files they 
> should be able to connect do virtual device IO.
> 
> Cheers,
> Mark
> 
> 
> -- 
> Push Me Pull You - Distributed SCM tool (http://www.cl.cam.ac.uk/~maw48/pmpu/)

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

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