Low/no-cost, cross-platform alternatives to iSCSI and Fibre Channel

Solution 1:

There is known workaround which uses an older version of Droboshare Dashboard software which includes an CLI Xtend SAN iSCSI Initiator written in Java:

Download and install Droboshare Dashboard 2.6.2 which is the last version containing the Atto iSCSI Initiator. Download and install Java.

Remove/rename the file /usr/sbin/xtendsan/.iqn.filter or replace the content/add a line with the beginning of your target name:

The content of the original file looks like this:

iqn.2005-06.com.datarobotics
iqn.2005-06.com.drobo

The main app to use is "xtendsancli" as superuser. Enter sudo xtendsancli to get a list of possible commands.

And here is a basic script to connect to your iSCSI-targets:

#!/bin/bash

serverAddress="${1:-127.0.0.1}"

if [ -x /usr/sbin/xtendsancli ] ; then
  for target in $(/usr/sbin/xtendsancli discoverTargets -address $serverAddress -verbose | grep ^iqn); do
    /usr/sbin/xtendsancli logoutTargets -verbose -address $serverAddress "$target"
    /usr/sbin/xtendsancli removeTargets -verbose -address $serverAddress "$target"
    /usr/sbin/xtendsancli addTargets -address $serverAddress "$target" -autoLogin Yes
    # works even if no security is set on server
    /usr/sbin/xtendsancli loginTargets -address $serverAddress "$target" -autoLogin Yes -security CHAP,TargetUserName=username,TargetSecret=password
  done
else
  echo "no file"
fi

Replace the x.x.x.x by the real IP-address of your server. Make the script executable with sudo chmod +x scriptname.sh and run it with sudo scriptname.sh.
If you have CHAP enabled replace "-security NONE" with "-security CHAP,TargetUserName=username,TargetSecret=password".

Tested with 10.9.5 Mavericks/Java SE Runtime Environment 1.7.0_71/Java for OS X 2014-001.


Addendum for OS X 10.11 El Capitan

To install Droboshare Dashboard 2.6.2 and use the Atto iSCSI Initiator you have to download and install Java for OS X 2015-001 Beta.

Then you have to disable rootless mode to be able to modify /usr/sbin/ with the following command:

sudo nvram boot-args="rootless=0";sudo reboot

After the reboot install Droboshare Dashboard 2.6.2 and reboot again.

Atfer modifying /usr/sbin/xtendsan/.iqn.filter as described above you should be able to use the iSCSI Initiator like in Mavericks or Yosemite.

Tested with 10.11 El Capitan Public Beta/Java for OS X 2015-001 beta.

Solution 2:

Drobo Dashboard stopped detecting my Drobo FS800 iSCSI after upgrading to OS X El Capitan. To fix it I had to disable System Integrity Protection (SIP) and then reinstall the JAVA OS X & Drobo Dashboard 2.6.2.

These are the steps you need to get it going again...

  1. Restart OS X and go into Recovery mode by pressing Cmd + R.
  2. Launch Terminal and type: csrutil disable [To make 100% sure that its disabled, execute csrutil status and make sure it reads disabled.]
  3. Reboot into normal OS X.
  4. Install JAVA for OS X (here).
  5. Install Drobo Dashboard 2.6.2 (here).
  6. Update Drobo Dashboard, if you want.
  7. Enable csrutil again.