This post introduces new iSCSI storage capabilities available to ExoGENI slices. Many of the ExoGENI racks include a sliverable iSCSI device. Users can now allocate iSCSI targets that are made available to their compute nodes. Optionally, NEuca tools within the compute nodes can be configured to attach to the target, format the filesystem, and mount the filesystem.
In Flukes, there is a new resource type. In the drop down list of resources choose “Storage”. Add a storage node to your slice request. The storage node is represented by a green cylinder. After adding a storage node, add a compute node and drag a link between the storage node and the compute node. The link represents the network over which the compute node will communicate with the storage target.
Your request should look like the following figure.
Right click the storage node to view and set its properties.
Set the domain to the same domain as the node. For now, compute nodes can only attach to storage targets on the same rack. Choose the capacity of the storage node in gigabytes. Many racks are limited to 5 TB of space shared among all users, however large capacities can take a very long time to instantiate. In addition, set any formatting parameters and the set the mount point.
After submitting the slice and waiting for it to instantiate, the virtual machine in this example will have a 10 GB iSCSI storage device mounted at /mnt/target.
Here is an example of how to create and attaching storage to a node using RSpec:
<node client_id="master" component_manager_id="urn:publicid:IDN+exogeni.net:ucdvmsite+authority+am" exclusive="false"> <sliver_type name="XOXlarge"> <disk_image name="http://geni-images.renci.org/images/pruth/Shakedown/adcirc/adcirc.condor.v0.6/adcirc.condor.v0.6a.data.xml" version="03b5b1392f46a005fbe256e4cba8c90cfd6a5ab8"/> </sliver_type> <interface client_id="master:stor0"> </interface> </node>
<node client_id="master-stor" component_manager_id="urn:publicid:IDN+exogeni.net:ucdvmsite+authority+am" exclusive="false"> <sliver_type name="storage"> <storage:storage resource_type="LUN" do_format="true" fs_param="-F -b 1024" fs_type="ext4" mnt_point="/mnt" capacity="942"/> </sliver_type> <interface client_id="masterstor:if0"/> </node>
<link client_id="storage-lan"> <interface_ref client_id="masterstor:if0"/> <interface_ref client_id="master:stor0"/> </link>