Providing a Nexenta iSCSI target to a Windows Server 2008 initiator

       586 words, 3 minutes

Last time, I had a look at storing stuff on Nexenta using VMware ESXi and iSCSI . This time, I’m gonna try the same thing but Windows Server 2008 as the iSCSI client, aka initiator. Should this matter, the Windows Server is 2008R2 SP1, 64-bit, Standard Edition.

Enable the Windows Server’s iSCSI initiator

Connect to the Windows Server using your preferred method, I use remote connexion (TSE).

From the “Start” menu, select the “Administrative Tools” entry, then “iSCSI Initiator”.
If you’ve never done that before, you’ll get a warning saying “The Microsoft iSCSI service is not running. The service is required to be started for iSCSI to function correctly. (…)”. Click “OK” to start the service.

On the “Configuration” tab, you’ll find the “Initiator Name” ; the long “iqn.(…)” string.
Select it and use the right-click button to copy the string.

Create the Nexenta’s iSCSI target

Using the Nexenta Web interface, create the iSCSI target.

Go to “Data Management”, then “SCSI Target”. From the “Zvols” section, use the “Create” link. Fill-in the “Name”, “Size” and then options.

Reference the Windows Server’s iSCSI initiator

Using the Nexenta Web interface, have the appliance know about the Windows' iSCSI client.

Go to “Data Management”, then “SCSI Target”. From the “iSCSI” section, use the “Remote Initiators” link and click the “Create” button. Paste the initiator name copied at step #1 and click “Create”.

On my lab, I give access to everything to anyone. In a real, hear production, environment, you’ll use the “SCSI Target” groups and mappings to secure access.

Connect the client to the server

Back to the Windows Server remote connexion. In the “iSCSI Initiator Properties” window, click the “Target” tab. In the “Quick Connect” section, enter the “Target” reference ; I used the Nexenta’s IP. Then click the “Quick Connect” button.

If everything went well, you’ll get a message saying “Targets that are available for connection at the IP address or DNS name that you provided are listed below. (…)”
Should there be several targets, you’ll have the opportunity to select the one you want to map. In my case, there can be only one ; click the “Done” button.

From the “Start” menu, right-click on “Computer” and select the “Manage” option. From the “Server Manager” MMC, browse to “Storage”, “Disk Management”. You should see the iSCSI target appearing as a new online “Healthy (Primary Partition)”. Right-click on it and select “Delete volume…”. When done, right-click the “Unallocated” space and select “New Simple Volume”. Follow the wizard to create the volume according to you wish.

After a few seconds, my 128GB NTFS partition was ready to use.

Final thoughts

There were a few strange things I noted during my testings.

  1. I don’t get why the volume seem formatted when it is first attached to Windows. According to some documentation on the Internet, the iSCSI volume is usually attached unformatted.[UPDATE] I just messed up with my iSCSI target… Windows saw my VMware LUN. When corrected, Windows see an unformatted partition.

  2. There seem to be some delay when writing data on it. It’s going like “fast bunch of writes”, 10-sec delay, “fast bunch of writes”, 10-sec delay… Maybe related to my “poor” back-end ZFS configuration.

  3. The Nexenta doesn’t seem to understand that the volume contains data:[UPDATE] A reboot of the Windows Server and a migration to some other ESXi later, the iSCSI share utilization is updated on the Nexenta side:

  # zfs list tank/iscsi_windows
  NAME                USED  AVAIL  REFER  MOUNTPOINT
  tank/vmware_iscsi  17.7G   213G  17.7G  -

‘Got to investigate those ASAP…