IscsiBlueprint

= iSCSI support for Compute/Nova =

''' Nova currently supports persistent volumes using ATA-over-Ethernet (AoE). This is to discuss adding iSCSI support as an alternative. '''

Goals
Support high-end storage arrays

Support OpenSolaris / Nexenta (?)

Support Linux iSCSI target so that developers can get up and running quickly

Progress
Work is progressing in a launchpad / bazaar branch:

https://code.launchpad.net/~justin-fathomdb/nova/iscsi-volumes

Currently the Linux iSCSI initiator & target are supported, and it works (though is not heavily tested)

Questions
Is the Linux iSCSI target stable (enough)? Is there a different target we should be supporting?

Has anyone looked at Sheepdog in detail? ( http://www.osrg.net/sheepdog/ )

Also Check into IET ISCSI-target (http://iscsitarget.sourceforge.net/) (This is a widely used target)

What are the requirements around LUNs / targets? Right now, each volume is exported as a target with a single LUN? Is this workable?

Regarding LUNs: Is the idea to create the targets on the fly? If not, then whether its one LUN with multiple targets or one target per LUN, We should remain agnostic as possible.. to the initiator there is little difference.

Which high-end storage targets should we support? Can we get EMC/NetApp/whoever to give us a loaner?

What extra functionality can they offer us that we can expose? Snapshots? Different storage classes? IOPS guarantees/throttling?