Filename: README.qla2x00 IBM FAStT Host Adapter Driver version 5.23 for RedHat Linux 7.1 (2.4.3-12 kernel) Products supported QLA2200 09/10/2001 Contents ------------ 1.0 OS Support 2.0 Supported Features 2.1 ISP2200 3.0 Release History 4.0 Host Adapter configuration 5.0 Creating the Driver Diskette 5.1 Driver Disk for Adding Driver to Existing OS(RedHat 7.1) 6.0 Installing the Driver using Disk (RedHat 7.1) 6.1 Loading the Driver manually 6.2 Loading the Driver using ramdisk image 6.3 Loading the Driver using ramdisk image 6.4 Rebuilding the ramdisk image after configuration changes. 7.0 Driver Parameters 7.1 System Parameters 7.2 NVRAM Parameters 8.0 Limitations 9.0 Additional Notes 9.1 Proc Filesystem Support 10.0 Diskette Content 11.0 WEB Sites and Support Phone Number 12.0 Trademarks and Notices 13.0 Disclaimer =========================================================== 1.0 OS Support --------------------- This driver works with RedHat 7.1 kernel builds 2.4.3-12, 2.4.3-12smp and 2.4.3-12enterprise. Earlier or later versions of the RedHat Linux kernel are not supported with this release. The modules included in this release will load on RedHat 7.1 only. =========================================================== 2.0 Supported Features --------------------------------- 2.1. ISP2200 Features -------------------------------- * FCAL - direct attach loop * Point-to-point * Fabric support * Initiator mode only * Fault recovery on down loops * Persistent binding * Extended LUN support up to 255 LUNs * FC tape support * Multi-path failover support =========================================================== 3.0 Release History ------------------ Please refer to Release Notes. =========================================================== 4.0 Host Adapter configuration ------------------------------------------ 4.1 Update IBM FAStT Host Adapter BIOS to 1.68. The adapter bios can be updated by booting the server to the IBM FAStT Host Adapter bios update diskette, available from the IBM Support website, then run the following command: flasutil /f /l This will update all of the IBM FAStT Host Adapters in this server to the 1.68 bios level. 4.2 Configure the NVSRAM settings for the IBM FAStT Host Adapter. All the settings should maintain the IBM defaults except the following. - Host Adapter settings Loop reset delay - 8. Adapter hard loop Id - Enabled Hard Loop ID - 125, each adapter should have a unique number. - Advanced Adapter Settings LUNs per target - 0 Enable Target Reset - Yes Port down retry count - 12 4.2.1. As the host boots, press ALT-Q when prompted Press for Fast!Util. 4.2.2. After the Fast!Util program loads, the display will depend on whether there are multiple IBM FAStT Host Adapters installed: If there are multiple IBM FAStT Host Adapters, a list of addresses occupied by those Host Adapters will appear. Using the arrow keys, select the desired adapter and press ENTER. The Fast!Util Options menu will then appear. For further information refer to the IBM FAStT Host Adapter publication. =========================================================== 5.0 Creating the Driver Disks ---------------------------------------- 5.1 Driver Disk for Adding driver to Existing OS (RedHat 7.1) ------------------------------------------------------------------------------------ Download the IBM FAStT Host Adapter driver for RedHat 7.1 from the IBM Support website. If prompted "What would you like to do with this file?" choose "Save this file to disk". Insert a blank formatted diskette and download to the diskette directly. This file will be in the .tgz file compression format. =========================================================== 6.0 Installing the driver (RedHat 7.1) -------------------------------------------------- To install the driver, you need to perform the following steps to add the driver. 1. Login as root and create a directory # mkdir qla2x00 2. Change directory to qla2x00 # cd qla2x00 3. Insert the diskette created in Section 4.1 and copy the file to the current directory: # mcopy a:/*.tgz . (Do not forget the . at the end of the mcopy string) 4. Extract the RPM package from the .tgz file by running the command: # tar zxvf %.tgz Replace %.tgz with the name of the file that was downloaded. 5. To invoke the RedHat RPM package manager to install the qla2x00 driver for the first time, type command: # rpm -iv qla2x00-5.23-1.i686.rpm If you are updating the old qla2x00 driver to the current driver, type command: # rpm -iv --force qla2x00-5.23-1.i686.rpm 6. At this point, the qla2x00 driver is added on your boot drive under /lib/modules/2.4.3-12/kernel/drivers/scsi and /lib/modules/2.4.3- 12smp/kernel/drivers/scsi for UP and SMP respectively. However, the driver needs to be loaded before the system can access the devices attached to the qla2x00 Host Adapters. ====================================================================== 6.1 Install FAStT_MSJ ------------------------------- If FAStT_MSJ for Linux is not currently installed you will need to Install it now. FAStT_MSJ and the qlremote agent are needed to configure this device driver and the host adapters for Multi-path failover. See the FAStT_MSJ publications for instructions on the installation procedure for FAStT_MSJ and the qlremote agent for Linux. 6.2 Loading the Driver manually ------------------------------------------- To load the driver manually, type the following command: # modprobe qla2x00 Note: Loading the driver manually allows you to access the devices whenever you want without rebooting the system. But the driver will be unloaded every time the system is rebooted. To unload the driver manually, type: # modprobe -r qla2x00 Note: If an older version of the driver is already loaded that driver must be unloaded prior to this driver being loaded. 6.3 Loading the Driver using ramdisk image ------------------------------------------------------------ Follow the steps below to create the ramdisk image: Note: Before you continue, please complete the procedure described in section 5 to add the driver to the boot drive. 1. Kudzu may detect the adapters during the system boot, if you press "any key" and configure the adapter the following entries may already be in your modules.conf file. Verify the modules.conf file and add the following if needed: alias scsi_hostadapter qla2x00 to the file /etc/modules.conf (RedHat 7.1) Note: For support of up to 32 LUNs the following also needs to be added to the modules.conf file. If you have multiple adapters, set max_scsi_luns to maximum LUN supported between adapters. options scsi_mod max_scsi_luns=32 Your modules.conf would look something like the following: alias scsi_hostadapter aic7xxx alias scsi_hostadapter2 qla2x00 alias scsi_hostadapter3 qla2x00 options scsi_mod max_scsi_luns=32 2. You will then need to run depmod from the command prompt to update your /lib/modules/KERNEL_VERSION/modules.dep file with the information added in your /etc/modules.conf file. # depmod -a 3. You will now need to unload and reload the device driver so that the options string added above can be read in as the driver is loaded with 'modprobe'. 4. Perform the following command to build the ramdisk image that contains the qla2x00 driver. For Uni-processor system: /sbin/mkinitrd /boot/newinitrd-image 2.4.3-12 (RedHat 7.1) For Multi-processors system: /sbin/mkinitrd /boot/newinitrd-image 2.4.3-12smp (RedHat 7.1) Note: "2.4.3-12" or "2.4.3-12smp" is the subdirectory under /lib/modules/"kernel_release" where the qla2x00.o module resides. The command "uname -r" will display the current release. 5. Modify the /etc/lilo.conf to load the ramdisk image during boot. For example add another entry into lilo.conf: image=/boot/vmlinuz-2.4.3-12 label=linux-2.4.3-12 root=/dev/sda1 initrd=/boot/newinitrd-image 6. Load the new lilo.conf file by executing this command: # lilo 7. Reboot the system, qla2x00 driver will be loaded as ramdisk image at boot time. 8. You will now need to configure your device driver for Multi-path I/O using FAStT_MSJ and the qlremote agent. Refer to the FAStT_MSJ publication and readme.txt for these instructions. 9. After the system is configured for multi-path I/O steps 3 - 7 above need to be repeated so that during system boot the proper driver configuration is loaded. 6.4 Rebuilding the ramdisk image after configuration changes. -------------------------------------------------------------------------------------- To rebuild your ramdisk image after adding a new LUN or other configuration changes these steps may be followed: 1. Unload the qla2x00 driver module by opening a terminal window and typing: modprobe -r qla2x00 2. Delete the options string in /etc/modules.conf that is added by the FAStT MSJ load-balancing process. This is typically the last line in the /etc/modules.conf file and begins "options qla2x00 ConfigRequired=1 ql2xopts=scsi-qla00-adapter-port=..." 3. In the terminal windows type: depmod -a 4. In the terminal window type: modprobe qla2x00 5. Run SM7client to redistribute the logical volumes. 6. Open a terminal windows and run: qlremote 7. Open another terminal window and run: /usr/FAStT_MSJ 8. Connect to local host, configure LUNs to match SM7client. Running Storage Subsystem->Profile in the Subsystem Management window will display the world-wide port name for each controller. Ensure that the preferred path in the FAStT_MSJ LUN configuration window matches the controller assignment in SM7client. 9. Save configuration and exit MSJ. You may also switch to the terminal window that has qlremote running and to stop qlremote. 10. In the terminal windows type: depmod -a 11. Unload the qla2x00 driver and then reload the driver using modprobe so the driver will pull in the new option string that was added by FAStT_MSJ. 12. Then build the boot image, open a terminal window and type: /sbin/mkinitrd -f /boot/ 13. In a terminal window type: /sbin/lilo Otherwise you will not be able to boot your new ramdisk image. 14. Reboot into kernel ram disk image just created. =========================================================== 7.0 Driver Parameters -------------------- The driver parameters are divided into System Parameters and NVRAM Parameters sections. 7.1 System parameters ---------------------- 1. Type in the following at the boot prompt to support 32 LUNs: boot: linux max_scsi_luns=32 2. The /etc/modules.conf file can be changed to automatically make the kernel to enable more than 1 LUN. For example, add the following line to support 32 LUNs: options scsi_mod max_scsi_luns=32 Note: If you have multiple adapters, set max_scsi_luns to maximum LUN supported between adapters. 7.2 NVRAM Parameters --------------------- The NVRAM features described below are hard-coded in the driver. The changes made for the particular NVRAM feature in the Fast!Util do not take effect unless otherwise noted. None. =========================================================== 8.0 Limitations -------------------- * The current release of the kernel 2.4.3-12 only sees one LUN during installation and installs only to LUN zero. This is a Red Hat Linux limitation. For support of up to 32 LUNs the following also needs to be added to the modules.conf file. options scsi_mod max_scsi_luns=32 See section 6.3 for instructions on this procedure. * The qlremote agent must not be loaded when disk I/O's are running. * Lun masking is not functional in this release. * With more than 2 gig. of memory the server may experience intermittent system hangs during high CPU utilization and high disk I/O during an I/O path failure. This issue has been addressed in a later version of the Linux kernel. RedHat currently has not picked up the kernel build that contains these fixes. * In the Storage Manager 7.10 Client Storage Partitioning must be enabled with the host type of 'linux' selected and the UTM must be removed from the 'Linux' storage partition. Otherwise the correct drive information is not presented to the Linux operating system. * Every time a change is made to your configuration you will need to generate a new boot image and launch lilo. This includes changes to LUN ownership and adding LUNs to the storage subsystem. See section 6.4 for instructions on this proceedure. * With sequential LUN numbering, if one LUN is missing due to a controller failure the system associates the wrong SCSI device entry with the LUNs after the failed LUN. The result could be that the wrong LUN could be mounted to an incorrect mount point. You should always be aware of this because it can also be caused by adding a LUN out of sequence. You should ensure that the LUNs are number in sequence starting from 0 in storage partitioning. If there is a gap (for example LUN 0, LUN1, LUN3) Linux will quit probing at the gap where LUN 2 should be and all of the following LUNs will be missing. * When updating Firmware or NVSRAM with high disk activity a controller may become unresponsive during the update. IBM recommends that disk I/O be stopped during these code updates. * When adding logical drives to the storage subsystem with the SM7client you will need to unload the qla2x00 device driver and then modprobe the driver to scan the new logical drives. You will then need to reconfigure using FAStT_MSJ and the qlremote agent so these disks will be available for the OS to utilize. After the driver is reconfigured with FAStT_MSJ you will need to repeat steps 3-7 in section 6.3 in this readme to rebuild your boot image with the new option string created by FAStT_MSJ. * If a configuration change has been made using FAStT_MSJ and you are not able to APPLY or SAVE the configuration you will need to check the options string in your modules.conf file. On occasion this string may get corrupted and need to be deleted before your new configuration will be saved properly. =========================================================== 9.0 Additional Notes --------------------- 9.1 Proc Filesystem Support --------------------------------------- The /proc filesystem for the QLA2x00 driver can be found in the /proc/scsi/qla2x00/ directory. This directory contains a file for each IBM FAStT Host Adapter in the system. Each file will present information about the adapter and transfer statistics for each discovered LUN. =========================================================== 10.0 Driver file Contents ---------------------------------- The following files can be downloaded from the IBM Support website. 1. qla2x00-5.23-1.i686.rpm - (A RedHat Package Manager used for adding the driver or upgrading driver on RedHat 7.1). /lib/modules/2.4.3-12/kernel/drivers/scsi/qla2x00.o /lib/modules/2.4.3-12smp/kernel/drivers/scsi/qla2x00.o /usr/share/doc/qla2x00-5.23/README.qla2x00 /usr/share/doc/qla2x00-5.23/release.txt =========================================================== 11.0 WEB Sites and Support Phone Number ------------------------------------------------------------------ IBM Support Web Site: http://www.ibm.com/pc/support IBM eServer xSeries Marketing Web Site: http://www.ibm.com/pc/us/eserver/xseries/index.html If you have any questions about this update, or problem applying the update go to the following Help Center World Telephone Numbers URL: http://www.ibm.com/planetwide =========================================================== 12.0 Trademarks and Notices --------------------------------------------- The following terms are trademarks of the IBM Corporation in the United States or other countries or both: IBM Other company, product, and service names may be trademarks or service marks of others. =========================================================== 13.0 Disclaimer ------------------------ THIS DOCUMENT IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. IBM DISCLAIMS ALL WARRANTIES, WHETHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE AND MERCHANTABILITY WITH RESPECT TO THE INFORMATION IN THIS DOCUMENT. BY FURNISHING THIS DOCUMENT, IBM GRANTS NO LICENSES TO ANY PATENTS OR COPYRIGHTS. Note to U.S. Government Users -- Documentation related to restricted rights -- Use, duplication or disclosure is subject to restrictions set forth in GSA ADP Schedule Contract with IBM Corporation.