iSCSI and (Open)Solaris
21 June '05 - 17:06 by benrI've gotten behind on my iSCSI duties, but Robert's post gave me a little kick in the butt, so lets catch up.
The iSCSI Enterprise Target Project (IET) is rockin' along, nothing majorly new to report since my last report.
I haven't updated my A Quick Guide to iSCSI on Linux paper yet, nor have I submitted it to TLDP, but no worries! Rajeev Karamchedu wrote two excellent tutorials: "iSCSI on Solaris" and "A Quick and Dirty Guide to iSCSI Implementation". Both discuss the Cisco client and its a very nice run through. If your running Solaris prior to SX 2/05 I highly recommend that you read it. In fact even then you might want to use the Cisco initiator instead of the supplied one, so have a go anyway. Anyone running S10 (prior to the yet unrecieved Update 1) or earlier releases will find everything they need in these puppies.
As for me, this morning I figured I'd take a quick whack at the new iSCSI initiator in Solaris10, since in the last couple months I just really haven't had time to even think of it... so I cleaned up my IET Linux Target (VA Linux dual P3 running Gentoo with the IET target implementation, using an old NetApp FC8 Fibre Channel Shelf connected to a QLogic 2100 Copper and cut up using both Linux RAID (for RAID5) and Sistina LVM (for RAID0)) and figured I'd have a go.
So, the new initiator in Solaris10 (avalible only in SX 2/05 or newer, not in Solaris10 release untill Update 1) is pretty decent. Its fairly easy to work with but does feel alittle klunky at first. Everything is done via the iscsiadm command, which has its ups and downs. It supports CHAP uni- and bi- directional authentication as well as RADIUS, can use both static and SendTarget methods of target discovery, and integrates very very cleanly with Solaris.
The flow of configuration is pretty straight forward, although diffrent than with the Cisco Initiator. First define the authentication method if your going to use one, then define one or more targets to be discovered, then enable the discovery mode. Once you've done those you can ask Solaris's devfs to look for any new devices and interface with them like usual. The only trick here is that if your using IET as your target you must use the static method of discovery, my dynamic attempts all failed. Also, with IET you do not need to use authentication, even if a username and password is present in the ietd.conf. Here's a quick idea of what it looks like:
$ iscsiadm add static-config iqn.2005-04.com.cuddletech:storage.md0.raid5,10.10.2.247
$ iscsiadm modify discovery --static enable
$ iscsiadm list target
Target: iqn.2005-04.com.cuddletech:storage.md0.raid5
Target Portal Group Tag: default
Connections: 0
$ devfsadm -i iscsi
$ format
Searching for disks...done
AVAILABLE DISK SELECTIONS:
0. c0d0
/pci@0,0/pci-ide@8/ide@0/cmdk@0,0
1. c2t3d0
/iscsi/disk@0000iqn.2005-04.com.cuddletech%3Astorage.md0.raid5FFFF,0
Specify disk (enter its number): 1
selecting c2t3d0
[disk formatted]
format> fdisk
No fdisk table exists. The default partition for the disk is:
a 100% "SOLARIS System" partition
Type "y" to accept the default partition, otherwise type "n" to edit the
partition table.
y
format> part
partition> print
Current partition table (original):
Total disk cylinders available: 4424 + 2 (reserved cylinders)
Part Tag Flag Cylinders Size Blocks
0 unassigned wm 0 0 (0/0/0) 0
1 unassigned wm 0 0 (0/0/0) 0
2 backup wu 0 - 4424 33.90GB (4425/0/0) 71087625
3 unassigned wm 0 0 (0/0/0) 0
4 unassigned wm 0 0 (0/0/0) 0
5 unassigned wm 0 0 (0/0/0) 0
6 unassigned wm 0 0 (0/0/0) 0
7 unassigned wm 0 0 (0/0/0) 0
8 boot wu 0 - 0 7.84MB (1/0/0) 16065
9 unassigned wm 0 0 (0/0/0) 0
partition> q
format> q
$ newfs /dev/rdsk/c2t3d0s2
(blah blah blah)
$ mkdir /iscsi
$ mount -F ufs /dev/dsk/c2t3d0s2 /iscsi
root@monolyth benr$ df -h
Filesystem size used avail capacity Mounted on
...
/dev/dsk/c2t3d0s2 33G 34M 33G 1% /iscsi
There you have it. I'm using Monolyth for the testing, which is my Athlon64 running Solaris Express Community Release and then BFU'd to the latest build from source. Sadly I don't have my NetApp F840's avalible for testing anymore, I had to deploy them as a nearline backup solution, but I'd love to test with a NetApp again because their just so damned fast. Even better would be some Apple Xraid's connected to a Maranti CorSTOR! Talk about blazing iSCSI performance! But hey, this will have to do for now.
When I've cleared out my plate a bit I'll be adding all the new iscsiadm stuff to my iSCSI paper, and perhaps even renaming the thing. Anybody want to donate CXFS for testing next? :)
This site is a lot of fun very well designed.
hermelinda (Email) (URL) - 12 June '06 - 21:54
Hello and congratulations!darrell (Email) (URL) - 13 June '06 - 13:37
I like this site!roberta (Email) (URL) - 13 June '06 - 14:25
Hello and congratulations!