Mac OS X,  Mac OS X Server,  Xsan

How to use iSCSI on Mac OS X

iSCSI is a network storage protocol that allows sending and receiving of SCSI commands over a TCP/IP network. This allows you to leverage Ethernet, a low cost network medium to get SAN performance and network based storage. While you can use pretty much any Ethernet switch, I’d recommend that if you’re going to use iSCSI that you dedicate a switch to it, or use quality switches and build a dedicated VLAN for your iSCSI traffic.

Recently, I’ve recently been seeing a lot of traffic about whether or not you can use iSCSI with Mac OS X. The answer, yes. As with Xsan, to get started with iSCSI you’ll need an initiator and a target. Studio Network Solutions (SNS) provides a software-based iSCSI initiator called globalSAN that can be downloaded and used free of charge from their site. Alternatively you can also look into the Atto Xtend SAN, which runs about $200 for 1 user with volumes discount slashing the prices to about $90 for 100 users. Software based initiators will use the CPU of your system and a built-in or third party standard Ethernet port, but you can also buy a dedicated card which will offload the processing power to the card, which in some cases will be required for various performance reasons. For the purpose of this article we’re going to use the SNS globalSAN software.

For the purposes of this howto, we’re using the free version of software called Starwind from RocketDivision. However, we’ve also tested LeftHand, Isilon, OpenFiler, iSCSI Target (from Microsoft) and many others (including dozens of appliances) with the Mac. So for starters, fire up your iSCSI storage and share it out. Next, extract the installer as seen in the globalSAN installer screenshot.

globalSAN Installer
globalSAN Installer

Next, launch the installer and click on the Continue button at the Welcome screen.

globalSAN Welcome Screen
globalSAN Welcome Screen

At the Software License Agreement screen, read the licensing agreement and then click on the Continue button if you agree to the terms.

globalSAN License Agreement Screen
globalSAN License Agreement Screen

At the uninstall screen, click on continue. If you later need to uninstall the software you would re-run this installer and click on the Uninstall button.

globalSAN Uninstall Screen
globalSAN Uninstall Screen

At the Standard Install screen you can click on the Custom Install button to allow you to choose which packages within the metapackage to install. It is best to leave them all checked and then click on the Continue button.

globalSAN Custom Install Screen
globalSAN Custom Install Screen

Provided everything installs properly you will next be at the Installation Completed Successfully screen. Here, click on Restart and then log back into the system when it comes back online.

globalSAN Installation Successful Screen
globalSAN Installation Successful Screen

Once you are logged back in, open System Preferences and you’ll see the new System Preference for globalSAN iSCSI.

System Preferences with globalSAN Pane
System Preferences with globalSAN

If you click on the globalSAN System Preference you’ll be able to add your first portal. Each share will have a unique IP and be referenced as a portal. Click on the add icon (+) to add your first portal.

globalSAN Portal Screen
globalSAN Portal Screen

At the dialog box, type in the IP address of your iSCSI target and the port number, which defaults to 3260 for a majority of the products you may use.

globalSAN Portal Dialog Box
globalSAN Portal Dialog Box

If you require authentication to your target then click on the Advanced… button and enter the pertinent information (Kerberos is not yet supported as an authentication method but CHAP is).

globalSAN Advanced Dialog Box
globalSAN Advanced Dialog Box

You can also click on the IPSec tab if you use IPSec for authentication on your targets.

globalSAN IPSec Setup Tab
globalSAN IPSec Setup Tab

Click OK to add your portal and you will be taken back to the Portals tab of the globalSAN System Preference. Here you should see your portal listed. If you don’t, click on the Refresh button.

Populated globalSAN Portals Tab
Populated globalSAN Portals Tab

Now that you have your portal populated, click on the Targets tab and you should see the storage listed. Click on it and then click on the Log On button to initiate your session into the storage. At this point, it will mount on the Desktop (provided you have already given it a file system) and you will be able to use it as you would any other storage. You can check the box for Peristent if you would like to have the volume always mounted on the system.

globalSAN Targets Tab
globalSAN Targets Tab

If you click on the Sessions tab then you will be able to look at various statistics about your storage including the LUN identifier and disk name.

globalSAN Sessions Tab
globalSAN Sessions Tab

If you don’t yet have a file system on the storage then you can go ahead and open Disk Utility and you will see the storage listed there, click on it, click on the Partition tab and you will then be able to give it a file system.

Disk Utility with iSCSI Storage
Disk Utility with iSCSI Storage

So it’s pretty easy to use iSCSI with Mac OS X. We didn’t have to open Terminal or do anything crazy in the least. It just works and while it’s not going to be as fast as something like fiber channel, it also doesn’t come with the costly infrastructure requirements that fiber channel comes with. The LUNs can be accessed by multiple hosts provided that the file system supports that. However, HFS+ does not support iSCSI, nor do any of the current file systems for the Mac that we’ve tested other than acfs (Apple Clustered File System)/cvfs, the file system for Xsan.