IBM FAStT Host Adapter Driver, IBM FAStT FC-2 Host Bus Adapter and the IBM FAStT FC2-133 non-failover device driver version 6.04.60 for Linux Products supported: ----------------------------------------------------------------------------- | FAStT Adapter | Qlogic Adapter | IBM Feature Code | IBM Option P/N | ------------------------------------------------------------------------------ |FAStT Host Adapter | QLA2200F/66-IBM-SP | FC2102 | 00N6881 | |FAStT FC2 | QLA2310FL-IBM-SP | FC2130 | 19K1246 | |FAStT FC2-133 | QLA2340-IBM-SP | FC2104 | 24P0960 | |FAStT FC2-133 2-port| QLA2342-IBM-SP | | 24P8053 | ----------------------------------------------------------------------------- Last updated: 03/07/2003 ======================================================================= Contents -------- 1.0 OS Support 2.0 Supported Features 3.0 Release History 4.0 Host Adapter configuration 4.1 Update IBM FAStT Host Adapter BIOS 4.2 Configure the NOVRAM Setting for the IBM FAStT Host Adapter 5.0 Creating the Driver Diskette 5.1 Driver Disk for Adding Driver to Existing OS 6.0 Building a Driver from the Sources Code 6.1 Building a Uni-Processor (UP) Version of the Driver 6.2 Building Symmetric Multi-Processor (SMP) Version of the Driver 7.0 Loading and Configuring the driver 7.1 Enable more than 1 SCSI device per adapter 7.2 Install FAStT_MSJ 7.3 Loading the driver manually 7.4 Loading the driver using a ramdisk image 7.5 Rebuilding the ramdisk image after configuration changes. 8.0 Limitations 9.0 Additional Notes 9.1 Proc Filesystem Support 10.0 Driver file Contents 11.0 WEB Sites and Support Phone Number 12.0 Trademarks and Notices 13.0 Disclaimer ======================================================================= 1.0 OS Support -------------- The 6.04.60 device driver supports the following Linux versions using the vendor kernels: * RedHat Advanced Server 2.1: 2.4.9-e.10 * RedHat Linux 7.3: 2.4.18-19.7.x * SuSE Linux Enterprise Server 8 (SLES8): 2.4.19 Powered by United Linux 1.0 * SuSE Linux Enterprise Server 8 (SLES8) IA-64: 2.4.19 Powered by United Linux 1.0 * United Linux 1.0: 2.4.19 Earlier versions of the Linux kernels or generic kernels used with these Linux versions are not tested or supported with this release. This driver package contains the driver source code only. The device driver must be compiled from the source code for your specific configuration. This readme file makes an assumption that the user has already configured their storage subsystem properly for a Linux server with storage partitioning enabled and configured with the host type set to LINUX. Only like type adapters can be configured as a failover pair. An IBM FAStT Host Adapter cannot failover to an IBM FAStT FC-2 Host Bus Adapter. The IBM FAStT Host Adapter uses the qla2200.o device driver and the IBM FAStT FC-2 and FC2-133 Host Bus Adapters use the qla2300.o device driver. This readme will use the term IBM FAStT Host Adapter to refer to the IBM FAStT Host Adapter, the IBM FAStT FC-2 Host Bus Adapter and the IBM FAStT FC2-133 Host Bus Adapter. ======================================================================= 2.0 Supported Features ---------------------- 2.1 ISP2x00 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 the Revision Notes. ======================================================================= 4.0 Host Adapter configuration ------------------------------ 4.1 Update IBM FAStT Host Adapter or IBM FAStT FC-2 Host Bus Adapter BIOS --------------------------------------------------------------------- 4.1.1 BIOS update using the DOS bootdisk ---------------------------------------- The adapter BIOS can be updated by booting the server to the BIOS update diskette, available from the IBM Support website, then run the following commands: flasutil /f /l flasutil /u Note: The FAStT adapter BIOS update program will only update like adapters. If you have a server that contains IBM FAStT Host Adapters and IBM FAStT FC-2 Host Bus Adapters you may only update one adapter type at a time. 4.1.2 BIOS Update with IA64 EFI ------------------------------- Download the EFI BIOS update utility for the IBM FAStT Support website. 1. Restart the server. 2. At the EFI Boot manager display, scroll to the menu entry labeled, 3. Check under the Device Mapping Table to see which "fs" device points to the CDROM. You can run the command 'map -r' to display the mappings. If the mappings scroll off of the screen you can run the command 'map -b', this will display one page at a time of the mappings. 4. Select the mapping that is the cdrom, i.e. fs2: 5. The IBM FAStT FC2 BIOS CD contains the BIOS for the IBM FAStT FC-2 (2310), IBM FAStT FC2-133 single port (2340) and the IBM FAStT FC2-133 dual port (2342) adapters. Select the proper subdirectory for your adapter. /efi/bios/2310 , /efi/bios/2340 or /efi/bios/2342 6. Once in the proper directory run 'flasutil /f /l', this will update both the adapter BIOS and NOVRAM on the adapter. note: Currently the only method to change the adapter NOVRAM settings are with FAStT_MSJ. 4.2 Configure the NOVRAM settings for the IBM FAStT Host Adapter and IBM FAStT FC-2 Host Bus Adapter. ------------------------------------------------------------------------- All settings, except for the following, should maintain the IBM defaults. - Host Adapter settings Loop reset delay - 8. - Advanced Adapter Settings LUNs per target - 0 Enable Target Reset - Yes Port down retry count - 12 1. As the host boots, press when prompted. 2. After the Fast!Util program loads, the display will depend on whether there are multiple IBM FAStT Adapters installed. If there are multiple IBM FAStT 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 Download the IBM FAStT Host Bus Adapter driver source code for Linux and IBM FAStT_MSJ for Linux from the IBM Support website. ------------------------------------------------------------------------ Download the IBM FAStT Host Adapter driver source code for Linux 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. Download the IBM FAStT_MSJ for Linux from the IBM Support website. If prompted "What would you like to do with this file?" choose "Save this file to disk". This file will need to be save to your hard disk drive. This file will be in the .tgz file compression format. ======================================================================= 6.0 Building a Driver from the Sources Code ------------------------------------------- From the source code you can build a qla2200.o or qla2300.o for your UP or SMP systems, and load the driver manually or automatically using a RAMDISK image during system boot time. 6.1 Building the Uni-Processor (UP) version of the device driver ---------------------------------------------------------------- 1. Install the kernel-headers and kernel-sources RPM files for the supported kernel. These files are available from your Linux vendor or your OS installation CD set. These instructions in this step are for the Redhat OS, other linux versions may vary. Refer to your linux vendor documentation for procedures to update the kernel source code for your linux version. # rpm -iv kernel-headers*.rpm # rpm -iv kernel-source*.rpm Verify that both kernel-headers and kernel-source RPMS are installed. # rpm -qa | grep kernel 2. Using the adapter driver diskette you created in Section 5, copy the i2xLNX-v6.04.60-dist.tgz file to /i2x00-v6.04.60. Follow these steps: # mcopy a:*.tgz . # tar -xzf *.tgz # sh drvrsetup This will create a folder named "i2x00-v6.04.60" and extract out the following files to the "i2x00-v6.04.60" folder: drvrsetup Script file to copy driver source files included in the driver source tgz file. (See NOTE) i2xLNXsrc-.tgz Compressed binary distribution file for driver sources. This file is the same type of driver source tgz file as the ones used for distributing earlier versions of the QLA2X00 drivers. libinstall Script file to install/setup HBA API library. libremove Script file to remove HBA API library. qlapi--rel.tgz Compressed binary distribution file for API library. ipdrvrsetup Script file to copy IP driver source files included in the IP driver source tgz file. qla2xipsrc-.tgz Compressed binary distribution file for IP driver sources. 3. Prepare source headers for a Uni-processor module build by opening a terminal window and changing to the source directory # cd /usr/src/linux-2.4 (Redhat) # cd /usr/src/linux (SuSE) 4. Verify that the correct kernel information is present in the .config file by running make menuconfig at the command prompt. Note: For SLES8/United Linux 1.0 you may need to run 'make cloneconfig' to pull in your current kernel configuration prior to running 'make menuconfig' You may also need to edit the linux kernel makefile extraversion entry to match the kernel version that you are running. The newer Red Hat kernels have this entry set to 'custom'. If this entry is not correct you will not be able to modprobe the driver properly. # make menuconfig Verify that your system configuration is correct for your server type. NOTE: Refer to the your server installation documentation to verify that the proper processor family is selected for your server. - select Exit to exit the Main Menu. The system prompts: "Do you wish to save your new kernel configuration?". Select "Yes". The system saves a new config file called ".config" in the current directory. 5. Rebuild the dependencies for the kernel. Type the following command at the command prompt: # make dep 6. Change directories back to the directory in step 2 that contains the device driver source code. Build the driver qla2200.o and qla2300.o from the driver source code by typing: To make UP version of ISP2200 and ISP2300 drivers # make all For SuSE linux versions you will add OSVER=linux to the command line to build the device drivers. # make all OSVER=linux 7. Copy the device driver created above to the proper kernel directory. For Redhat Advanced Server 2.1 this is /lib/modules/2.4.9-e.10/kernel /drivers/addon/qla2200 8. Modify the modules.conf (RedHat) to load the correct device driver modules. Your modules.conf would look something like the following: alias scsi_hostadapter aic7xxx alias scsi_hostadapter2 qla2300 alias scsi_hostadapter3 qla2300 For SuSE SLES8/ United Linux 1.0 you will add the qla2300 or qla2200 entry in the file /etc/sysconfig/kernel. Look for the line that contains INITRD_MODULES="aic7xxx reiserfs" and add either qla2200 or qla2300. The entry would then look like INITRD_MODULES="aic7xxx reiserfs qla2300". 9. Load the driver manually by typing: # modprobe qla2200.o or # modprobe qla2300.o 10. Proceed to section 7.0 6.2 Building Symmetric Multi-Processor (SMP) Version of the Driver ------------------------------------------------------------------ 1. Install the kernel-headers and kernel-sources RPM files for the supported kernel. These files are available from your Linux vendor or your OS installation CD set. These instructions in this step are for the Redhat OS, other linux versions may vary. Refer to your linux vendor documentation for procedures to update the kernel source code for your linux version. # rpm -iv kernel-headers*.rpm # rpm -iv kernel-source*.rpm Verify that both kernel-headers and kernel-source RPMS are installed. # rpm -qa | grep kernel 2. Using the adapter driver diskette you created in Section 5, copy the i2xLNX-v6.04.60-dist.tgz file to /i2x00-v6.04.60. Follow these steps: # mcopy a:*.tgz . # tar -xzf *.tgz # sh drvrsetup This will create a folder named "i2x00-v6.04.60" and extract out the following files to the "i2x00-v6.04.60" folder: drvrsetup Script file to copy driver source files included in the driver source tgz file. (See NOTE) i2xLNXsrc-.tgz Compressed binary distribution file for driver sources. This file is the same type of driver source tgz file as the ones used for distributing earlier versions of the QLA2X00 drivers. libinstall Script file to install/setup HBA API library. libremove Script file to remove HBA API library. qlapi--rel.tgz Compressed binary distribution file for API library. ipdrvrsetup Script file to copy IP driver source files included in the IP driver source tgz file. qla2xipsrc-.tgz Compressed binary distribution file for IP driver sources. 3. Prepare source headers for a Uni-processor module build by opening a terminal window and changing to the source directory # cd /usr/src/linux-2.4 (Redhat) # cd /usr/src/linux (SuSE) 4. Verify that the correct kernel information is present in the .config file by running make menuconfig at the command prompt. Note: For SLES8/United Linux 1.0 you may need to run 'make cloneconfig' to pull in your current kernel configuration prior to running 'make menuconfig' You may also need to edit the linux kernel makefile extraversion entry to match the kernel version that you are running. The newer Red Hat kernels have this entry set to 'custom'. If this entry is not correct you will not be able to modprobe the driver properly. # make menuconfig Verify that your system configuration is correct for your server type. NOTE: Refer to the your server installation documentation to verify that the proper processor family is selected for your server. - select Exit to exit the Main Menu. The system prompts: "Do you wish to save your new kernel configuration?". Select "Yes". The system saves a new config file called ".config" in the current directory. 5. Rebuild the dependencies for the kernel. Type the following command at the command prompt: # make dep 6. Change directories back to the directory in step 2 that contains the device driver source code. Build the driver qla2200.o and qla2300.o from the driver source code by typing: To make UP version of ISP2200 and ISP2300 drivers # make all SMP=1 For SuSE linux versions you will add OSVER=linux to the command line to build the device drivers. # make all SMP=1 OSVER=linux 7. Copy the device driver created above to the proper kernel directory. For Redhat Advanced Server 2.1 this is /lib/modules/2.4.9-e.10/kernel /drivers/addon/qla2200 8. Modify the modules.conf (RedHat) to load the correct device driver modules. Your modules.conf would look something like the following: alias scsi_hostadapter aic7xxx alias scsi_hostadapter2 qla2300 alias scsi_hostadapter3 qla2300 For SuSE SLES8/ United Linux 1.0 you will add the qla2300 or qla2200 entry in the file /etc/sysconfig/kernel. Look for the line that contains INITRD_MODULES="aic7xxx reiserfs" and add either qla2200 or qla2300. The entry would then look like INITRD_MODULES="aic7xxx reiserfs qla2300". 9. Load the driver manually by typing: # modprobe qla2200.o or # modprobe qla2300.o 10. Proceed to section 7.0 ======================================================================= 7.0 Load and configure the driver --------------------------------- 7.1 Enable more than 1 scsi device per adapter ---------------------------------------------- Support for multiple LUNs can be configured in one of three ways. Currently, the maximum number of LUNs that can be scanned for each device is 128. The kernel must be configured to have multiple LUN support enabled in order for non-zero LUNs to be configured and accessible. Use "make menuconfig" (as described in step 6, section 5.1) to build a kernel which has the option under SCSI Support enabled to probe all LUNs on SCSI devices. NOTE: If you have multiple adapters, set max_scsi_luns to the largest number of LUNs supported by any one of these adapters. - To configure multiple LUN support during boot time, type the following at the boot prompt: boot: linux max_scsi_luns=128 - If the SCSI Mid-Layer is compiled as a module, add the following line to the /etc/modules.conf file to scan for multiple LUNs at each boot: options scsi_mod max_scsi_luns=128 - If the SCSI Mid-Layer is not compiled as a module, the boot loader can be configured to scan for multiple LUNs each time the system boots. For LILO, perform the following steps: a) Add the following line to each of the kernel images listed in the /etc/lilo.conf file: append="max_scsi_luns=128" b) Run "lilo" and reboot the system. For GRUB, perform the following steps: a) Append the max_scsi_luns parameters to each of the kernel images listed in the /etc/grub.conf file. For example: kernel /vmlinux-2.4.7-10 ro root=/dev/hda2 max_scsi_luns=128 b) Reboot the system. Refer to your Linux distribution documentation to verify the steps to rebuild the boot image and ramdisk for your distribution. Section 7.4 of this readme does cover some of the steps required to rebuild your initrd image. 7.2 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. FAStT_MSJ is required for proper multi-path and failover configuration. 7.3 Loading the Driver manually ------------------------------- - To load the driver directly from the local build directory, type the following: # insmod qla2200.o or # insmod qla2300.o - To load the driver using modprobe: 1. Build the driver qla2200.o and qla2300.o from the source code by typing: # make all install For SuSE Distribution: # make all OSVER=linux install 2. To ensure that the older driver binary included in the original distribution does not interfere with the updated version, please rename the old driver binary as follows: (Red Hat) # cd /lib/modules//kernel/drivers/addon/qla2200 # mv qla2200.o qla2200_rh.o # mv qla2300.o qla2300_rh.o 3. Type the following to load the Driver: # modprobe qla2200 or # modprobe qla2300 7.4 Loading the Driver using a ramdisk image -------------------------------------------- 1. Linux may detect new adapters during the system boot, if the adapters are configured during the boot process following entries will be added to your modules.conf file. Verify the modules.conf file and add the following if needed: alias scsi_hostadapter1 qla2200 or alias scsi_hostadapter1 qla2300 to the file /etc/modules.conf If you already have a SCSI device loaded the scsi_hostadapter1 may need to be incremented to scsi_hostadapter2. SuSE SLES8: The SCSI device driver entries are placed in the /etc/sysconfig/kernel file. Review your SuSE SLES8 documentation for instructions on how to load SCSI device drivers. 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 load the device driver. To load the driver manually, type the following command: # modprobe qla2200 or # modprobe qla2300 4. Type the following command: # mkinitrd -f NOTE: This step will overwrite the original ramdisk image file if executed within the /boot directory. Specify a unique ramdisk image name to preserve the original ramdisk image. - Copy the file to /boot. For SuSE Distribution: - Type the following command: # /sbin/mk_initrd NOTE: By default, the RAMDISK images created are: /boot/initrd /boot/initrd.suse 5. Configure the boot loader with the new RAMDISK image. For LILO: Add "initrd=/boot/" in /etc/lilo.conf under one of the kernel entries to use the RAMDISK image. Run "lilo" and reboot system. Select the kernel with the new RAMDISK image to come up. For GRUB: Add "initrd=/boot/" in /etc/grub.conf under one of the kernel entries to use the RAMDISK image. 7. Reboot the system, the qla2200.o or qla2300 driver will be loaded by the 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. 7.5 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 qla2200 or qla2300 driver module by opening a terminal window and typing: # modprobe -r qla2200 or # modprobe -r qla2300 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: "options qla2200 ConfigRequired=1 ql2xopts=scsi-qla00- adapter- port=..." 3. In the terminal windows type: depmod -a 4. Reload the qla2200 or qla2300 device drivers typing: # modprobe qla2200 or # modprobe qla2300 5. Run the SMclient 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 the preferred paths shown in IBM FAStT Storage manager. 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 IBM FAStT Storage manager. 9. Apply the configuration and exit MSJ. 10. Switch to the terminal window that has qlremote running and to stop qlremote. 11. In the terminal windows type: depmod -a 12. Unload the qla2200 or qla2300 driver and then reload the driver using modprobe so the driver will pull in the new option string that was added by FAStT_MSJ. 13. Type the following command: # mkinitrd -f NOTE: This step will overwrite the original ramdisk image file if executed within the /boot directory. Specify a unique ramdisk image name to preserve the original ramdisk image. - Copy the file to /boot. For SuSE Distribution: - Type the following command: # /sbin/mk_initrd NOTE: By default, the RAMDISK images created are: /boot/initrd /boot/initrd.suse 14. If you are using lilo, in a terminal window type: /sbin/lilo Otherwise you will not be able to boot your new ramdisk image. 15. Reboot the system to the ram disk image just created. ======================================================================= 8.0 Additional Notes -------------------- 8.1 Failover Support --------------------- 8.1.1 How to enable the Failover support in the Driver ------------------------------------------------------- Failover support can be enabled in the QLA2XXX driver by enabling the macro MPIO_SUPPORT in qla_settings.h file ie #define MPIO_SUPPORT 1 Note: The failover distribution package has the above macro enabled by default. 8.2 Configuration Changes Made via FAStT MSJ -------------------------------------------- 1. LUN Masking For the new LUN masking configuration to take effect, the driver must be reloaded. The following is an example of the sequence of actions to take: - Load the driver: modprobe - Load the qlremote agent. - Start the GUI and connect it to the destination system. - Make LUN masking changes. - Disconnect the host from GUI and stop qlremote agent. - Unload the driver: modprobe -r - Reload the driver: modprobe - Load qlremote agent again. - Start the GUI and connect it to the destination system. Now you should see the updated LUN masking configuration. Please note that when using modprobe to load the driver, the length of the option line specified in /etc/modules.conf file has a limit of 2K characters. Any longer option line will cause a string overflow error from modprobe. 8.4 Persistent Binding ______________________ The Persistent Binding information consists of some adapter parameter entries along with some target entries. However, the Linux entries have been shorten to save space on the command line. Currently, there is no limit on the size of the command line when using modprobe. But, if you embedded the driver in the kernel you are using lilo that has a string size limitation. Persistent Binding can be specified in two ways. Manually or using FAStT MSJ. We recommend using FAStT MSJ for ease of use. The following is the procedure to manually add persistent binding commands: The driver displays the current configuration when the displayConfig command line option is specified. The persistent binding configuration is found in /var/log/messages file. It prints the configuration information in the format required by the driver. The best way to extract configuration messages is to use grep and direct the output to a file. You need to remove the Linux timestamp at the beginning of each message and combine them together on single line. For example #insmod qla2200 displayConfig=1 #grep "scsi-qla" /var/log/messages > /tmp/info.cfg The format of the persistent binding commands is as follows: Device descriptions scsi-qla<#>-adapter-port=; The designated by qla<#>, where the <#> is the adapter instance number. The parameter specifies the FC port name to be used for the adapter. where is the FC port name value in hexa- decimal format. If this entry is not specified in the conf file, the default value is the adapter's port name as saved in the NVRAM. Example: scsi-qla00-adapter-port=210000e08b01158d\; host adapter instance 0 has a portname of 210000e08b01158d scsi-qla<#1>-tgt-<#2>-di-<#3>-node=; This parameter associates the specified with the SCSI target ID value specified by <#2> and a device id value specified by <#3>. where type is the FC node name of the device, and <#2> is the SCSI target ID to be assigned to the device and <#3> is the device unique id. Where <#1> Specifies the adapter instance number <#2> Specifies the SCSI ID of Target <#3> Specifies the path/device id scsi-qla<#1>-tgt-<#2>-di-<#3>-port=; This parameter associates the specified with the SCSI target ID value specified by <#2> and a device id value specified by <#3>. where type is the FC port Where <#1> Specifies the adapter instance number <#2> Specifies the SCSI ID of Target <#3> Specifies the path/device id (always 0 for non-failover) name of the device, and <#2> is the SCSI target ID to be assigned to the device and <#3> is the device unique id. scsi-qla<#1>-tgt-<#2>-di-<#3>-disabled=<256 bit mask>; This parameter associates the specified <256 bit mask> with the SCSI target ID value specified by <#2> and a device id value specified by <#3>. Where <#1> Specifies the adapter instance number <#2> Specifies the SCSI ID of Target <#3> Specifies the path/device id <256 bit mask> msb lsb 000000000000000000000000000000000000000000000000000000000000000F the mask above will make the first four luns, 3, 2, 1, and 0 of a given Target disabled on that target/path. This mask specification is heavily type checked to be a sequence of 64 hex digits. ********************************************************************** ======================================================================= 8.0 Limitations --------------- * Failover adapters must be of the same type. An IBM FAStT Host Adapter and an IBM FAStT FC-2 Host Bus Adapter cannot be a failover pair. * The qlremote agent must not be loaded when disk I/O's are running. * Lun masking is not functional in this release. * Red Hat Advanced Server 2.1 has a disk device size limitation of 1023.999 GB and a maximum of 128 devices. * SuSE Linux Enterprise Server 8.0, powered by United Linux 1.0 has a disk device size limitation of 2035.997 GB and a maximum of 256 devices. * In the Storage Manager 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 7.5 for instructions on this procedure. * 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 SMclient you will need to unload the 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 section 6.6 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. See section 6.6 above. ======================================================================= 9.0 Additional Notes -------------------- 9.1 Proc Filesystem Support --------------------------- The /proc filesystem for the driver can be found in the /proc/scsi/qla2200/ or /proc/scsi/qla2300/ 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 ------------------------- i2xLNXsrc-v6.04.60.tgz Config.in exioct.h exioctln.h inioct.h listops.h makefile ql2100_fw.h ql2200_fw.h ql2200ip_fw.h ql2300_fw.h ql2300ip_fw.h qla2100.c qla2200.c qla2300.c qla2x00.c qla2x00.h qla2x00_ioctl.c qla_cfg.c qla_cfg.h qla_cfgln.c qla_debug.h qla_fo.c qla_fo.cfg qla_fo.h qla_gbl.h qla_inioct.c qla_ip.c qla_ip.h qla_mbx.c qla_mbx.h qla_settings.h qla_vendor.c qla_version.h qlfo.h qlfolimits.h qlfoln.h README.i2xLNX-v6.04.60.txt release.txt revision.notes ======================================================================= 11.0 WEB Sites and Support Phone Number --------------------------------------- 11.1 IBM TotalStorage Support Web Site: http://ssddom02.storage.ibm.com/techsup/webnav.nsf/support/disk 11.2 IBM TotalStorage Web Site: http://www.storage.ibm.com/ssg.html 11.3 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: Active Memory Predictive Failure Analysis HelpCenter IBM eServer IBM xSeries IBM TotalStorage Intel, Celeron, MMX, LANDesk, Pentium, Pentium II Xeon, Pentium III Xeon, and Xeon are trademarks of Intel Corporation in the United States, other countries, or both. Microsoft, Windows, and Windows NT are trademarks of Microsoft Corporation in the United States, other countries, or both. UNIX is a registered trademark of The Open Group in the United States and other countries. Java and all Java-based trademarks and logos are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. Linux is a registered trademark of Linus Torvalds. 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.