1The iSCSI target for openSUSE/Debian/NetBSD/FreeBSD 2 3This software (istgt) is the implementation of iSCSI target 4(refer to RFC3720 about iSCSI) for FreeBSD 7.1 or later. 5It includes iSCSI protocol processor and SPC-3 (SCSI Primary 6Commands - 3) based logical unit emulation. 7You can easily create over 2TB storage for iSCSI target. 8If necessary, you can configure to use multipath failover or 9MCS failover. 10 11If you want use the command queuing, change QueueDepth key of 12the configuration. Because default is comment out, you only 13remove # from this line to make the parameter take effect. 14The command queuing is not yet stable. If you have any problem, 15comment out or specify 0 to disable it. The small QueueDepth 16may cause a problem. I recommend you to specify more than 32. 17 18You can use a file or any raw device as the backing store. 19Microsoft Windows Server 2008 or Microsoft iSCSI initiator 2.08 20or later is recommended. 21Diskless iSCSI boot is tested with Intel PRO/1000 PT Server 22Adapter and Windows Server 2003/2008/2008R2/Windows7 RC. 23iSCSI install/boot is tested with gPXE 1.0.0 and WS2K8/2K8R2/W7. 24Intel Gigabit CT Desktop Adapter is tested with WS 2K8R2/W7. 25 26This software is under development and less document. 27The format of the configuration file may frequently be changed. 28Please use it carefully. 29It is made based on the concept of my own MCS extra patch 30(release 20090125) for iscsi-target (netbsd-iscsi-20080207). 31 32If you want to run FreeBSD in Hyper-V environment, 33please use my small kernel patch of reboot issue which can be 34downloaded below. 35 36The latest version is available at: 37http://shell.peach.ne.jp/aoyama/ 38 39For FreeBSD initiator, please check here: 40ftp://ftp.cs.huji.ac.il/users/danny/freebsd/ 41 42Using path-through tape drive from Microsoft iSCSI Initiator: 43open registry of initiator by regedit.exe. 44change the value of MaxTransferLength to 0x10000 (65536). 45reboot Windows. 46(0000 is an instance number. It might be a different value.) 47 48HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\ 49{4D36E97B-E325-11CE-BFC1-08002BE10318}\0000\Parameters\ 50MaxTransferLength 51 52Timeout of Microsoft iSCSI Initiator: 53If you want fast recovery from failure, try to decrease the value in 54above registry: 55LinkDownTime 56TCPConnectTime 57TCPDisconnectTime 58DelayBetweenReconnect 59 60If you want to keep failed command, try to increase: 61MaxRequestHoldTime 62SrbTimeoutDelta 63 64 65External Libs: 66 o OpenSSL (shipped with FreeBSD) 67 o CAM (shipped with FreeBSD) 68 o VirtualBox 4.x DSO (if use --with-vbox configure option) 69 70Tested Initiators: 71 o Microsoft Windows Server 2012 R2 (builtin) 72 o Microsoft Windows Server 2008 (builtin) 73 o Microsoft Windows Server 2008 R2 (builtin) 74 o Microsoft Windows 7 Ultimate x64 (builtin) 75 o Microsoft Windows 8 Preview x64 (builtin) 76 o Microsoft iSCSI Initiator 2.08 on WS2003 77 o Intel iSCSI Remote Boot 2.1.22 78 o Intel iSCSI Remote Boot 2.3.81 79 o Intel iSCSI Remote Boot 2.5.12 (CT Desktop Adapter) 80 o Intel iSCSI Remote Boot 2.7.44 (ET Dual Port Server Adapter) 81 o Sun VirtualBOX 2.1.2 (builtin) 82 o Sun VirtualBOX 3.0.12 (builtin) 83 o Sun VirtualBOX 3.1.2 (builtin) 84 o VMware ESXi 3.5 Update 3 (builtin) 85 o VMware ESXi 4.0 (builtin) 86 o VMware ESXi 4.1 Update 1 (builtin) 87 o VMware ESXi 5.0 (builtin) 88 o VMware ESXi 5.1 (builtin) 89 o Xen Server 5.0 Update 3 (builtin) 90 o Xen Server 5.5 (builtin) 91 o FreeBSD 7.1 + iscsi 2.1.3 92 o FreeBSD 7.2 + iscsi 2.2.3 93 o FreeBSD 7.3 + iscsi 2.2.4 94 o FreeBSD 8.2 + isboot 0.2.3 95 o FreeBSD 9.1 + isboot 0.2.6 96 o FreeBSD 9.3 + isboot 0.2.8 97 o CentOS 5.2 + Open-iSCSI (package) 98 o Ubuntu 9.10 + Open-iSCSI (package) 99 o gPXE 1.0.0 + VirtualBox 3.1.2 on FreeNAS 0.7.1 100 o iPXE 1.0.0 + isboot 0.2.5 + FreeBSD 9.1 101 o FreeNAS 0.7.1 (FreeBSD 7.2/7.3 + iscsi 2.2.4) 102 o FreeNAS 0.7.2 (FreeBSD 7.3 + iscsi 2.2.4) 103 o FreeNAS 0.7.5 (FreeBSD 9.0 + iscsi 2.3.1.0) 104 o NAS4Free 9.1.0.1 (FreeBSD 9.1 + iscsi 2.3.1.0) 105 o NAS4Free 9.3.0.1 (FreeBSD 9.3 + iscsi 2.3.1.0) 106 107Features: 108 o MCS/MPIO for failover (up to 255 concurrent sessions) 109 o Multipath I/O (only support Microsoft MPIO/VMware ESXi) 110 o SPC-3 Persistent Reservation for cluster nodes 111 o 64bit LBA for over 2TB 112 o Header/Data digest by CRC32C 113 o CHAP w/Mutual authentication 114 o Multiple LUNs and ACLs for portals 115 o IPv6/IPv4 dual support 116 (experimental features) 117 o Command Queuing (up to 255 depth, 32 by default) 118 o iSCSI boot with Intel PRO/1000 Server Adapters 119 o virtual DVD-ROM and virtual tape drive (DLT emulator) 120 o pass-through device (only support DA/SA/CD/CH type) 121 122Current Limitations: 123 o can't create empty VirtualBox VirtualDisk. 124 o The parameters other than PG, IG, and LU are not reloaded by SIGHUP. 125 o PG and IG mapped to LU can't be deleted by SIGHUP. 126 o LU connected by the initiator can't be reloaded by SIGHUP. 127 o If you delete an active LU, all connections of the LU are closed by SIGHUP. 128 o Updating IG is not affected until the next login. 129 o logical unit is sharing with exclusive lock 130 o exclusive port w/asynchronous operation 131 o command queuing is incomplete for multiple initiators 132 o LUN1 and more are shared information of LUN0 (e.g. UnitInquiry) 133 o APTPL (Activate Persist Through Power Loss) is not supported 134 o TPGS is incomplete for multipath failover (disabled by default) 135 o path-through SA variable length must not exceed 65536 (CAM limit) 136 o maximum LUN is 63 137 o maximum PortalGroup are 1024 138 o maximum InitiatorGroup, LogicalUnit are 4096 139 o maximum mapping per target is 256 140 o maximum concurrent session identifier per target is 255 141 o maximum persistent reservation keys per target is 256 142 (most case of limitation is due to memory allocation and finding 143 method by linear search) 144 145Special Thanks to: 146Isao Takatani (bug report and idea suggestion) 147Toshiya Shimpo of Meikohsha Information System Co.,Ltd 148Yoshio Takii of Meikohsha Information System Co.,Ltd 149 150Author: 151Daisuke Aoyama <aoyama@peach.ne.jp> 152