So basically all the articles I could find on setting up Linux as an iSCSI server (aka iSCSI target) were out of date and useless. Here’s the current info:
You have two current choices:
Linux SCSI target framework (also current as of April 2010) – http://stgt.sourceforge.net/
iSCSI Enterprise Target (currently maintained as of late April 2010) – http://iscsitarget.sourceforge.net/
The first one, Linux SCSI target framework (tgt) is shipped by Red Hat (5 and 6 beta, Fedora), Debian, SuSE and several other vendors which is good, but most of the vendors ship older versions (like 0.4, 0.6, 0.9) rather than the current 1.0 which is not so great (but upgrading is easy). Judging by the widespread vendor support I’m going to pick tgt over the iSCSI Enterprise Target for the simple and pragmatic reason that more people are using it and thus bugs and support are probably easier to deal with.
The Fedora Project Wiki has a quick start guide for setting up tgt at https://fedoraproject.org/wiki/Scsi-target-utils_Quickstart_Guide that covers creating target devices/etc.
The good news is that iSCSI initiators (aka clients) are reasonably mature and included in the installation support for most modern Linux systems.VMware also supports iSCSI out of the box with pretty much no hassle.
Now to find an affordable 16 port SATA RAID controller and case.
Obsolete iSCSI target software for Linux:
http://www.open-iscsi.org/ – Not maintained since May 2009
http://linux-iscsi.sourceforge.net/– Not maintained since 2005