Sharing iSCSI volumes from Solaris to Windows XP
I just noticed that I could create iSCSI volumes onto my ZFS pool and share them easily over network to other machines. And I mean easily!
- Enable the iSCSI service:
# svcadm enable iscsitgt
- Create a zfs stub for your volumes:
# zfs create storagepool/volumes # zfs set shareiscsi=on storagepool/volumes
- Create a volume
# zfs create -V 20g storagepool/volumes/test
- Verify that sharing was successfull:
# iscsitadm list target Target: storagepool/volumes/test iSCSI Name: iqn.1986-03.com.sun:02:737cb2f1-ea2b-e6d5-b8af-e335e05852f6 Connections: 0
- Install Microsoft iSCSI Software Initiator Version from here
- Go to Control Panel -> iSCSI Initiator -> Discovery, add the solaris server ip to Target Portals, then go to Targets tab and Log On to the volume.
- Go to the Computer Management and format the new iSCSI partition and you’re ready to go.
I benchmarked read speeds of 70 to 80 MB/sec with access time of about 2.3 ms over a 1GBps ethernet network. Not bad, could be a bit faster, but the network will anyway be a bottleneck compared to local drivers. My 160 GB RAID-0 stripe gives 260 MB/sec read times with 18.4 ms access time and 300 GB RAID-1 mirror gives 110 MB/sec with 19 ms access time (both are local drivers)
So what I can do with iSCSI volumes? I could for example use them as virtual machine disks, which would allow me to move virtual machines more easily across my network (though I dont have that many machines where to move them). Also the access time is blazingly fast, so I will also try to use them as video editing storage, as suggested in this article.