Introduction ------------- iSCSI Enterprise Target is for building an iSCSI storage system on Linux. It is aimed at developing an iSCSI target satisfying enterprise requirements. We borrow code from an Ardis iSCSI target (with respect to the GPL). Installation ------------- The iSCSI target requires a host running the Linux operating system with a kernel version of 2.6.19 (2.6.14 - 2.6.18 kernels using backward compatibility patches, see below) or newer. You need to enable "Cryptographic API" under "Cryptographic options" in the kernel config. You also need to enable "CRC32c CRC algorithm" if you use header or data digests. They are the kernel options, CONFIG_CRYPTO and CONFIG_CRYPTO_CRC32C, respectively. The user-space code requires OpenSSL library (http://www.openssl.org/). The iSCSI target consists of kernel modules and a daemon. Since IET is generally targetted at the latest stable mainline kernel, you might need to apply a backward compatibility patch to compile it against older kernel versions: patch -p0 < patches/compat-2.6.14-2.6.18.patch Compilation of the kernel modules require the path to the kernel sources: make KSRC= The path can also be set by editing the main Makefile. If KSRC is omitted, make program will try to locate the kernel sources for current running kernel. Be sure to check whether it finds the right kernel sources. This will build the modules, the daemon, and the control tool. To install both, use: make KSRC= install The kernel modules will be install in the module directory of the kernel. The daemon and the control tool will be installed as ietd and ietadm under /usr/sbin. The boot script will be installed as iscsi-targt under /etc/init.d. If you use Linux distribution that does not have /etc/init.d, the boot script will not be installed. So you need to install it to an appropriate directory manually. Configuration ------------- The daemon is configured via the configuration file /etc/ietd.conf. See the man page and the example file for the current syntax. The ietadm utility is for managing IET software dynamically. You can change the configurations of running targets. See the help message. The access control based on initiator address and target name patterns is configured via two configuration files (/etc/initiators.allow and /etc/initiators.deny). These files work like tcpd files (/etc/hosts.allow and /etc/hosts.deny). This feature enables you to hide a particular targets from some initiators. See the example files for the supported expressions. You can change the configuration dynamically. The modifications to the files become effective immediately. Starting ------------- The target is not started automatically. So execute: /etc/init.d/iscsi-target start Note that you must edit the configuration file before starting the target. Stopping ------------- Execute: /etc/init.d/iscsi-target stop Contact ------------- Please send bug reports, comments, feature requests etc. to our mailing list . Developer Notes ---------------- The central resource for IET development is the mailing list. Our subversion repository can be found at: svn://svn.berlios.de/iscsitarget When submitting patches, please diff against the code in our repository's trunk and adhere otherwise to the same rules that apply to Linux kernel development, in particular the Linux kernel coding style ($KSRC/Documentation/CodingStyle) and the rules for submitting patches ($KSRC/Documentation/SubmittingPatches), i.e. please send patches inline as plain text.