What are the choices for iSCSI target support for Linux?

I recently purchased an IBM BladeCenter E chassis with HS21 blades. I'd like to build a SAN so the HS21 blades will have more storage space.

From everything I've read, iSCSI seems to be the best choice for a cheap SAN. I can't afford Fibre Channel, and ATA over Ethernet means I can't use the network for TCP/IP at the same time, right?

The HS21 blades have Broadcom NICs that are also iSCSI Host Bus Adapters. I'd like to use my Linux desktop as the iSCSI target.

I haven't used iSCSI with Linux before, what are the choices? I've seen a few kernel modules and various userspace tools, but I haven't been able to figure out which is the most used, best supported, etc.


Open-iSCSI is the primary implementation for most of the Linux distros that I've run into, and the kernel has had pretty solid iSCSI support since 2.6.11... As long as everything adheres to RFC 3720, it should pretty much just work.

HowtoForge also has a pretty decent setup walkthrough if you're interested.


To answer your secondary points first: ATA over Ethernet just means you're not using IP for the transport - you can stil use the NICs for TCP/IP if you want, IP runs over ethernet too. However, you really want to keep your storage and traffic networks separate, regardless of your protocol, simply because you don't want storage traffic to interfere with network traffic, and vice-versa.

You're suggesting using a desktop machine as the iSCSI target though, which I guess means this isn't for a production environment, so I'll skip any discussion of FC- or SAS-connected SANs

I haven't used Open-iSCSI, but I have used IETD before. Evaluate both.

Finally, there are various appliance type systems that you can use, although this will preclude using your desktop for a target. Check out nexenta and openfiler as examples.


How many NICs per blade do you have? A proper iSCSI solution will require 4.

2 should go to bond the interfaces (probably in mode 1) so you can lose a nic (or switch (or cable) ) without losing connectivity.

The other 2 should be setup with multipath to the iscsi target, and they should be on their own network with their own switches. iSCSI /can/ be routed and treated like normal network traffic, but according to all the people I've talked to, it /shouldn't/ be.