Solaris storage enthusiasts will be excited to know that the OpenSolaris iSNS Server Project has released the first usable iSNS Server implementation. I personally refer to this release as “v2″ because some of you may recall Sept ’06 iSNS Server Release which was completely unusable, after which the iSNS Server Project went dark for some time. But, all that is behind us now! This release completes the iSCSI trio officially now that we have a usable iSCSI Initiator, iSCSI Target, and iSNS Server all available as CDDL Open Source.
(If your jumping up and down saying “What about COMSTAR!?!”, I’m not commenting on that right now… yes I know about it, yes I’m interested, we’ll talk later.)
The iSNS Server implementation is available now (released 2 days ago, sorry for the lag). You can download drop-in binary tarballs for X86 and SPARC, or to have a look at the code the WebRev is available here. The code is not yet available in the NWS consolidation OpenGrok, I’m hoping it’ll appear soonish.
To get started with the iSNS Server, download the tarball appropriate for your platform and untar from root (/). You’ll get 3 files: an SMF Manifest, the iSNS server binary, and the iSNS admin CLI binary. Import the manifest (“svccfg import …”) and then start the service (“svcadm enable isns_server”) and you’re good to go.
Now that you have an iSNS Server running you can start to play. I’ll blog about iSNS in detail soon now that there is a reason, but here are some quick notes to get you started:
Once the iSNS Server is running configure both your Solaris Targets and your Solaris Initiators at the iSNS Server, here is an example:
First the iSCSI Target system (I had to restart the target service after doing this):
# iscsitadm modify admin --isns-server 10.0.0.17 --isns-access enable # iscsitadm show admin iscsitadm: Base Directory: Not set CHAP Name: Not set RADIUS Access: Not set RADIUS Server: Not set iSNS Access: Enabled iSNS Server: 10.0.0.17 Fast Write ACK: Not set
And now the Initiator:
root@aeon /$ iscsiadm add isns-server 10.0.0.17 root@aeon /$ iscsiadm modify discovery --iSNS enable root@aeon /$ iscsiadm list discovery Discovery: Static: disabled Send Targets: disabled iSNS: enabled root@aeon /$ iscsiadm list isns-server -v iSNS Server IP Address: 10.0.0.17:3205
Once this is done have a look at your iSNS configuration and you should see your initiator nodes and your targets as part of the Default Discovery Domain:
isnsadm list-node -v iSCSI Name: iqn.1998-07.com.cuddletech:aeon Alias: aeon Type: Initiator Network Entity: iqn.1998-07.com.cuddletech:aeon Portal: 10.0.0.2:61191 Portal Group: 1 DD Name: Default iSCSI Name: iqn.1986-03.com.sun:02:97e538ed-f9c0-6c11-9326-eae82f4f1174 Alias: pool/local/default/aeon Type: Target Network Entity: flux Portal: 126.96.36.199:3260 Portal Group: 1 DD Name: Default
That should start you on your way. More on iSNS to come, I want to discuss it in much greater detail.
To the iSNS Server Project developers, namely Hyon Kim and Victor Li. Great work guys!