******************************************************************************* Release notes for iSCSI Initiator ******************************************************************************* * Please see the iSCSI Initiator User's Guide for more information on installation and troubleshooting. * Before installing RTM of the iSCSI initiator, please uninstall any previous versions using the MSI installer package. You can use either the previous MSI installer package used to install the old version or you can use the RTM MSI installer package. Uninstalling a previous version will not remove your registry configuration settings so long as you choose "Perform no action" on the installation dialog for the iSCSI initiator. Registry settings such as those needed for persistent connection across reboot will not be affected. * Dynamic disks on an iSCSI session are not supported. For best results it is recommended that basic disks be used with iSCSI. Basic Disks can be expanded in the same way that Dynamic Disks can be expanded. Please see KB325590 at http://support.microsoft.com/default.aspx?scid=kb;[LN];325590 for more information on extending a data volume on a basic disk If you do attempt to setup a dynamic disk on an iSCSI volume, after logging into the target you may have to manually go into the disk manager and reactivate the disk. To do this, right click on the disk and select the Reactivate Disk menu item. Please see the iSCSI users guide for more information. * Both initiator and target CHAP secrets should be greater than or equal to 12 bytes, and less than or equal to 16 bytes if IPsec is not being used. It should be greater than 1 byte and less than or equal to 16 bytes if IPsec is being used. * The Microsoft iSCSI software initiator and initiator service have been tested and confirmed to work in a Microsoft Windows Cluster Server environment (Windows 2000 and Windows Server 2003). Testing has also been completed with DFS, Microsoft Exchange Server and Microsoft SQL Server. This is not an inclusive list, just what Microsoft has verified in the Microsoft iSCSI lab. * Support for iSCSI with MSCS: Customers with iSCSI Windows Server 2003 Cluster environments up to eight nodes will be supported until nine months after the release date of Win2003 Service Pack 1 (to give time for the submission process to get on-line and for vendors to run tests and submit), provided that: - Customers contact their vendor to ensure that vendor plans on submitting their Cluster configuration for qualification before the deadline expires in order to continue support beyond that. - Customers will upgrade to Service Pack 1 within nine months of SP1 release. - All iSCSI hardware used in the configuration must be qualified under the Designed for Windows Logo Program in their individual device categories (HBAs, iSCSI Arrays, etc.). For a complete list of qualified devices, please see the iSCSI Hardware Devices Qualified Under the Designed for Windows Logo Program at: http://www.microsoft.com/windowsserversystem/storage/technologies/iscsi/default.mspx For more details on support of iSCSI with MSCS, please see the "Microsoft Support for iSCSI Clusters FAQ" at http://www.microsoft.com/windowsserversystem/storage/technologies/iscsi/iscsicluster.mspx * In order to install automatic start services on volumes created from iSCSI disks you need to follow the following steps: 1. Login to all of the targets your machine will be using. Ensure that these are the only targets that are logged in. 2. Configure all volumes on top of the disks 3. Use the iscsicli command BindPersistentVolumes to allow the iSCSI service to configure the list of persistent volumes 4. Make the automatic service dependent upon the msiscsi service. See the iSCSI users guide for more information on persistent logins and initiator service synchronization with volumes. * The MSI installer does not support being invoked from a drive letter that is assigned by the SUBST command. * If user requests CHAP for logon authentication, initiator will set AuthMethod to CHAP in logon request. If the target returns None for AuthMethod, initiator will fail the login with status "Authentication Failure". An event will be logged in system event log to indicate that the initiator required CHAP but target did not offer CHAP. If the target returns an authentication method other than CHAP, when the initiator requests CHAP, initiator will fail the login with status "Authentication Failure". An event will be logged in system event log to indicate that the target offered an auth method that the initiator did not understand. * If the target returns CHECK CONDITION for a scsi request, but does not provide sense data, initiator will complete the request with status target error. Initiator does not treat the target bahavior as a protocol error. * The Microsoft iSCSI control panel applet includes a Session Detils window that can be accessed by clicking the Details button in the Active Sessions tab. Note that the Path information displayed for each device is only available on Windows 2003 server. * The iSCSI control panel applet does not create an icon in the system tray. If the applet is in the background, you can switch to it by using the ALT-TAB key combination or by double clicking on the icon that launches it. ******************************************************************************* Changes since RC ******************************************************************************* A Control Panel applet has been included in the Microsoft iSCSI initiator package. The setup application will place a shortcut to it on the desktop. The applet can also be accessed via the Control Panel. Note that the applet only exposes the most common functionality of the Microsoft iSCSI initiator service. Complete functionality and scripting is available by using the iscsicli tool. The Microsoft iSCSI initiator service has changed how it handles node names to be compliant with the appropriate iSCSI specifications. In particular it has the following new behaviors: 1. All target names are treated as UTF8 2. If a target is discovered by iSNS and its name contains an illegal character then the target is ignored 3. All targets name characters are mapped to the lower case equivalents 4. All target names must be less than or equal to 223 UTF8 bytes. If not the target name and the entire SendTargets buffer are ignored and an event is logged in the system eventlog. 5. Initiator node name follows the same rules: no illegal characters, length must be less than 223 UTF8 characters and all characters mapped to their lower case equivalents. We have noticed cases where targets do not enforce these rules in their systems. In this case it is possible to configure a target that the Microsoft iSCSI initiator will not be able to discover correctly. For additional information see the Microsoft iSCSI Initiator users guide and the following specs: * iSCSI spec (http://www.ietf.org/internet-drafts/draft-ietf-ips-iscsi-20.txt) , * String Profile for iSCSI Names (http://www.ietf.org/internet-drafts/draft-ietf-ips-iscsi-string-prep-04.txt) * Preparation of Internationalized Strings ("stringprep") (RFC 3454) * UTF-8, a transformation format of Unicode and ISO 10646 (RFC 2044) Note that the default iSCSI node name is generated from the Windows computer name. If the Windows computer name contains a character that would be invalid within an iSCSI node name, such as '_', then the Microsoft iSCSI Initiator service will convert the invalid character to '-'. ******************************************************************************* Changes since 1.02 release ******************************************************************************* Following are the fixes made in 1.03 release. * On SCSI command timeout or on BUS Reset initiator will send Task Management command and will reset the TCP connection. It'll then relogin to the session. * A PDU with invalid command sequence number was being sent upon bus reset. * An invalid response for SCSIOP_REPORT_LUNS was causing the initiator to crash. * A Task Management command was being sent with invalid LUN number. * An invalid header was being sent in response to R2T request. * Tag leak caused under low memory condition. * Initiator does not assume that padding bytes in a PDU will be zero. It will use whatever data is in the padding bytes to compute CRC. * Handle IOCTL_SCSI_GET_CAPABILITIES and IOCTL_SCSI_GET_INQUIRY_DATA by PDO in Windows 2000. ******************************************************************************* Changes since 1.03 release ******************************************************************************* * Port driver should create Target Id key under "HKLM\Hardware\Device Map\Scsi\Scsi Port N" even if no class driver is loaded for the device. * Port driver should not map user virtual address to kernel address for Read and Write requests. * Use persistent initiator IDs for persistent logins - this means the same ID (6 byte id) will be used to, say, Target A each time a persistent login to Target A is performed. * If the initiator loses connection to the target or target requests async logout, and initiator reconnects to the target, iSCSI session resources should be reallocated. This is needed because the target could change iSCSI parameters across logout and relogin. ******************************************************************************* Changes since 1.04 release ******************************************************************************* * This release includes updates to the core Microsoft iSCSI initiator driver and service to fully support a Microsoft MPIO environment. However, this release does not contain the required Microsoft MPIO binaries and therefore, does not deliver a complete Microsoft MPIO solution. Microsoft MPIO vendors such as Network Appliance, EqualLogic, and others have Microsoft MPIO solutions that will be available for iSCSI soon. Those Microsoft MPIO solutions can be used with version 1.05 of the Microsoft iSCSI Initiator to deliver full multipathing capability for iSCSI environments. * Microsoft only supports multipathing solutions for iSCSI that are based on Microsoft MPIO. * 3rd party multipath solutions that are not based on Microsoft MPIO are not supported by Microsoft and are not eligible to be qualified under the Designed for Windows Logo Program. * If upgrading the Microsoft iSCSI software Initiator version 1.03 directly to 1.05, you may get "Error 2753". To avoid this, you should first uninstall 1.03 via Add\Remove Programs in Windows Control Panel. During uninstall when the dialog to choose the setup option is displayed, choose "Perform No Action". This will ensure that the settings created by 1.03 (Such as Target Portals, Persistent Targets, etc that were added, iSCSI related registry entries that were modified) are not removed. Once 1.03 is uninstalled, install 1.05 by simply executing the MSI file for 1.05. This error only occurs in upgrades form 1.03 to 1.05. Upgrades from 1.04 to 1.05 should not experience this error and should be upgraded as normal. * Initiator will rescan the target for changes in target LUN configuration if the target sends CHECK CONDITION with Sense code 06/3F/0E. It will do the same if the target sends an Async Message PDU with Event type SCSI_EVENT and sense data 06/3F/0E. * The default installation path given by the installer (MSI File) was "\Program Files\Microsoft\Microsoft iSCSI Initiator". It has been changed to "\Program Files\Microsoft iSCSI Initiator" (The way it was in 1.03 release) * Initiator will provide Device Identifiers in response to IOCTL_STORAGE_QUERY_PROPERTY. * Allow Pass Through requests even if no Class Driver is loaded for the device. * MPIO Property Page in iSCSI CPL. * Multiple Persistent logins to the same target. * Service changed to support MPIO when performing "safe" logout. * The iSCSI CPL has been updated to display a drop down list of IP addresses instead of an edit field where the physical port was entered manually. This field specifies the source IP address for the iSCSI session and can be used so to ensure that a session will originate from a specific NIC. This feature has been tested and works well with the Microsoft iSCSI software initiator. The Intel iSCSI HBA has a bug which causes the IP addresses displayed in the drop down list to be reversed. The QLogic HBA does not implement a required interface and so no IP addresses can be displayed. There are no known issues with the Adaptec iSCSI HBA that affect the drop down. * iSCSICLI and iSCSI CPL updated to support MPIO when mapping from session to the devices on the sessions. * Bug fix for case where via iSNS a target registers without a portal and the initiator service attempts to login. * Bug fix: IoBuildPartialMdl call results in TARGET_MDL_TOO_SMALL bugcheck * Bug fix: Update LUN information when a LUN is added\removed on the target. * Bug fix: Initiator should not retry login if the target sends incorrect response for CHAP. * Bug fix: There was an issue where file shares would not be recreated at boot even though the proper instructions for persistent volume binding and service dependencies were followed. This bug fix also removes the need for the VolumePostDiscoveryTimeout. ******************************************************************************* Changes since 1.05 release ******************************************************************************* * Bug fix: Initiator should set DataTransferLength in the SCSI Request Block to number of bytes transferred when the target returns CHECK_CONDITION and sets ILI bit in the sense data. * Bug fix: Initiator hangs while processing asynchronous logout message. * Bug fix: Initiator sometimes loses the device even though the corresponding iSCSI session is still active. * Bug fix: Under heavy load Initiator sometimes sends an untagged request while another request was still pending on the device. * Bug fix: Fixed invalid data sequence while processing RTT request. * Registry entry for LinkDown timeout - added a configurable timeout value for tracking link down. The default timeout is 15 seconds. When the link goes down while requests are in progress, initiator will wait for this time out period and then retry the requests. If the link is still down, the requests will be failed. This timeout is used only if Multi-Path software is installed. Otherwise, MaxRequestHoldTime is used. The behavior of MaxRequestHoldTime is same as in 1.05 release. * Added a new parameter to HwFindAdapter routine - Device object below iSCSI adapter FDO is passed as an arguement for HwFindAdapter routine. * Do not log an event if the connection to the target is lost before async logout response is received. * iSCSI discovery service will pass the IP Address of the local NIC if the user selects an IP Address through iSCSI GUI. * Do not log Event 7 and 27 if the iSCSI session is processing async logout. *******************************************************************************