[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] NetApp vfiler example scripts
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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |