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

Re: [Xen-devel] NetApp vfiler example scripts


  • To: "Mark Williamson" <mark.williamson@xxxxxxxxxxxx>
  • From: "Mark Johnson" <johnson.nh@xxxxxxxxx>
  • Date: Mon, 19 May 2008 14:37:22 -0400
  • Cc: xen-user@xxxxxxxxxxxxxxxxxxx, xen-devel@xxxxxxxxxxxxxxxxxxx, Stefan de Konink <skinkie@xxxxxxxxx>
  • Delivery-date: Mon, 19 May 2008 11:37:45 -0700
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=ZiFgklinx4gRiE0VwfU/zZil9ha8xitKw1I34FWsCXZxAIyv9IxuCCAkClRGih420zbBQVIuzgDz7onmAg9qsdNmlV3qJpNE1sJw5yimMme1LKB4otr82NPgZojDv8+Lcebr94Xt5iMsfTEd6/C0c/AnATAwD8q6Yvl6jjoiQ34=
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>

On Mon, May 19, 2008 at 12:29 PM, Mark Williamson
<mark.williamson@xxxxxxxxxxxx> wrote:
> Cool idea.
>
> Might be generally useful to people?  Is anybody else using this with a
> NetApp?  Any other features wanted in order to make this work?
>
> If it's valuable it would be worth looking at adding it, or something like it,
> into the Xen tree as an additional block script.  We've still not exploited
> the ability to transparently support crazy networked block devices as much as
> we could :-)

I've been playing with adding extensions to phy: to handle dynamic
block devices. For iscsi, it's something like.
   phy:iscsi:[static]/<targetid>/<lun>/[serverIpAddr]

e.g.
  disk = ['phy:/dev/zvol/dsk/tank/guests/snv89,0,w',
             
'phy:iscsi:static/iqn.1986-03.com.sun:02:17f34578-00a9-ef69-f3e9-b8a2896a4915/0/192.168.0.70,1,w']

when the block hotplug script see's the phy:<ext>: it
looks for something like a block-<ext> script and runs
it if it can find it, else, defaults down normal path.

The iscsi hotplug script verifies/sets up the disk, then adds
a params-dynamic (equivalent to Stefan's node?) entry in
xenstore.  A small change to the disk backend looks for a
dynamic entry first, then defaults back to param if it can't find it.

I currently have a small change to xend to handle this for non
boot disks.  I still need to look at setting up the disks before pygrub
runs so you can boot off of it..

def _parse_uname(uname):
      fn = taptype = None
      if uname.find(":") != -1:
          (typ, fn) = uname.split(":", 1)
 -        if typ == "phy" and not fn.startswith("/"):
 -            fn = "/dev/%s" %(fn,)
 -        if typ == "tap":
+        if typ == "tap" or typ == "phy":
              (taptype, fn) = fn.split(":", 1)

The nice thing about this, is it's really easy to extend to other
block devices, etc.

e.g.
  phy:fc:...
  phy:npiv:...


MRJ
MRJ

_______________________________________________
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®.