The integration of iSCSI into to ZFS makes it really simple to make your own storage system. Let me take you through a very simple example.
Indentify a lun to use.
# format
Searching for disks...done
AVAILABLE DISK SELECTIONS:
0. c0t1d0 <LSILOGIC-LogicalVolume-3000 cyl 65533 alt 2 hd 16 sec 136>
/pci@780/pci@0/pci@9/scsi@0/sd@1,0
1. c0t3d0 <FUJITSU-MAY2073RCSUN72G-0401-68.37GB>
/pci@780/pci@0/pci@9/scsi@0/sd@3,0
Create a zpool
# zpool create blaze c0t3d0
# zpool list
NAME SIZE USED AVAIL CAP HEALTH ALTROOT
blaze 68G 88K 68.0G 0% ONLINE -
Partition up pool as you would like.
# zfs create -V 2g blaze/disk1
Turn on iSCSI
# zfs set shareiscsi=on blaze/disk1
Now on the target add the target server
# iscsiadm add discovery-address 10.10.10.10
# iscsiadm modify discovery -t enable
View if you like
# iscsiadm list discovery-address -v
Now you can format the lun on the target system and create the file system. Simple and quick. There is more for configuring dynamic multipathing