Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I want to set up a server as a SCSI Target.

  • How good are the open source implementations?
    • What is the tutorial one?
  • How is performance and reliability?
  • How dependent is the OS? How much is built in typically? I was looking at CentOS
  • How important are the RAID controllers and drivers?
  • How important are the Infiniband cards and drivers?

  • With multiple RAID controllers, can I see all LUNs from one Infiniband connection?

I also am considering using Fibre Channel or iSCSI with 10 GbE. Comparisons (pros/cons in setting up) would be insightful.

share|improve this question
up vote 2 down vote accepted

OpenFiler might be what you are looking for - it has iSCSI and FC target support together with many other features.

share|improve this answer

The target_core module set for the Linux kernel (in mainline 2.6.38) is pretty solid. I deployed a solution using that, but with an earlier kernel, a couple of months ago for an iSCSI network. I found it to be superior to the linux_iscsi modules in overall support. I found performance to be limited more on hardware spec than software power, which is as it should be a for a storage system. I can't speak to reliability as I hadn't run it long enough, and it's only now going mainline.

Target_core can run on top of LVM, which means you can also use LVM for snapshots and overall volume management.

Performance tracks very closely with hardware performance. I was able to saturate a 1GbE network with I/O to this system and sufficient back-end storage. Running the benchmarks locally gave the true performance of the system (able to pump right up to the 3Gb SAS limit, which is what the system was built on).

As target_core can also present RAM-drive LUNs, even pounding the snot out of one of those did not raise CPU loading very significantly even doing heavily random I/O. This tells me that target_core is built very efficiently.

Target_core can present as a Fibre Channel Target, but I didn't do that as this system was designed for cheap iSCSI not FC. The target_core web-site shows some testing cases they did with 10GbE interlinks, so it worked for them at least once.

If you're looking for a tutorial, I wrote one for OpenSUSE 11.3 (now on 11.4 version, so already out of date). Which you can find here if you are interested. That goes even MORE out of date once 2.6.38 releases. It's a fast moving environment right now, so any tutorials will be dated, perhaps unworkably dated, pretty quickly.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.