Today I configured my very first iSCSI target and initiator, both on Linux. Unfortunately, I only have old and slow hardware at home (you are still
invited to donate), so the performance isn't really a lot of fun (see below), but installation and configuration is a charm: basically you only need
iSCSI Enterprise Target for Linux (2.6.9 or later required) for the target (that's the server in iSCSI speak) and
linux-iscsi on the initiator (that's the client in iSCSI speak). Installation of both is really easy, just follow the instructions in the README files. Then, you need to configure at least one node on the target.
This HOWTO explains how. Even though it's referring to the Ardis Technologies implementation, the description works fine with the iSCSI Enterprise Target, since it's simply a fork. After that, configure the initiator after the same HOWTO (in my case, the ietd.conf on the target and the iscsi.conf on the initiator both have 6 lines each, so it's really very easy) and start iscsid on the initiator. Have a look at your syslog on both hosts. With
iscsi-ls you can view your available iSCSI nodes on the initiator, and you can partition, format and mount them like any other devices.
Here you have the bonnie++ output, as already mentioned, the performance is quite poor, but the bottleneck in my case was the slow network (one of the involved hosts only has a 10 MBit network card, and every other 100 MBit network card I tried made Linux crash...):
Version 1.02b ------Sequential Output------ --Sequential Input- --Random-
-Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP
nirvana 56M 1011 68 1148 4 395 3 678 49 916 6 65.2 4
------Sequential Create------ --------Random Create--------
-Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP
16 225 97 7786 97 6054 100 236 98 7671 97 832 98