WARNING - OLD ARCHIVES

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/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

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

To: xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: Re: [Xen-devel] Running netback/blkback in non-dom0 domains
From: Anton Burtsev <aburtsev@xxxxxxxxxxxxx>
Date: Mon, 21 Jul 2008 12:11:37 -0600
Cc: Mark Williamson <mark.williamson@xxxxxxxxxxxx>
Delivery-date: Mon, 21 Jul 2008 11:12:03 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <200807180030.48315.mark.williamson@xxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <20080717220232.GE1918@xxxxxxxxxxxxxxxxx> <200807180030.48315.mark.williamson@xxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mutt/1.4.2.2i
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