Emc Fibre Channel With Qlogic Host Bus Adapters in The Solaris Environment
Emc Fibre Channel With Qlogic Host Bus Adapters in The Solaris Environment
AUGUST 2002
EMC Corporation
171 South Street Hopkinton, MA 01748-9103 Corporate Headquarters: (508) 435-1000, (800) 424-EMC2 Fax: (508) 435-5374 Service: (800) SVC-4EMC
Trademark Information
EMC2, EMC, CLARiiON, MOSAIC:2000, Navisphere, and Symmetrix are registered trademarks and EMC Enterprise Storage, The Enterprise Storage Company, The EMC Effect, Access Logix, Connectrix, EDM, MirrorView, SDMS, SnapView, SnapView/IP, SRDF, TimeFinder, PowerPath, InfoMover, FarPoint, EMC Enterprise Storage Network, EMC Enterprise Storage Specialist, EMC Storage Logic, Universal Data Tone, E-Infostructure, and Celerra are trademarks of EMC Corporation. All other trademarks used herein are the property of their respective owners.
ii
Contents
Preface ............................................................................................................................. v Chapter 1 Installing and Configuring the HBA and Driver
Planning Zoning and Connections in a Fabric Environment .... 1-2 Installing the HBA ........................................................................... 1-3 Indentifying QLogic HBAs...................................................... 1-3 Installing the HBA Driver............................................................... 1-4 Installing a New Driver ........................................................... 1-4 Installing a Driver Upgrade .................................................... 1-7 Driver-Related Issues ............................................................. 1-10 Configuring Host Files .................................................................. 1-12 QLogic Persistent Binding Implementation ....................... 1-12 Setting QLogic Driver Configuration Variables ................. 1-14 Editing sd.conf to Add LUNs ............................................... 1-19 Editing /etc/system............................................................... 1-20 Partitioning and Labeling Devices .............................................. 1-22 Updating the HBA Fcode ............................................................. 1-23 Symmetrix/Fabric Case Study..................................................... 1-25 Configuration File Entries ..................................................... 1-27 Tips for Retrieving Entries in qla2200.conf ......................... 1-29
Chapter 2
iii
Contents
Useful Monitor Commands .................................................... 2-8 Troubleshooting ........................................................................ 2-9 Configuring a CLARiiON Boot Device ...................................... 2-10 Booting From a Native Solaris Device................................. 2-10 Booting From an emcpower Device..................................... 2-13
iv
Preface
EMC uses the following conventions for notes, cautions, warnings, and danger notices.
A note presents information that is important, but not hazard-related.
CAUTION A caution contains information essential to avoid data loss or damage to the system or equipment. The caution may apply to hardware or software. WARNING A warning contains information essential to avoid a hazard that can cause severe personal injury, death, or substantial property damage if you ignore the warning. DANGER A danger notice contains information essential to avoid a hazard that will cause severe personal injury, death, or substantial property damage if you ignore the message.
Preface
Typographical Conventions EMC uses the following type style conventions in this guide:
AVANT GARDE
Keystrokes
Palatino, bold
Dialog box, button, icon, and menu items in text Selections you can make from the user interface, including buttons, icons, options, and field names New terms or unique word usage in text Command line arguments when used in text Book titles
Palatino, italic
Courier, italic Courier
Arguments used in examples of command line syntax. System prompts and displays and specific filenames or complete paths. For example:
working root directory [/user/emc]: c:\Program Files\EMC\Symapi\db
Courier, bold
vi
1
Installing and Configuring the HBA and Driver
This chapter describes the procedures for installing an EMC-approved QLogic host bus adapter (HBA) into a Sun Solaris host environment and configuring the host for connection to an EMC storage array over Fibre Channel. This chapter contains the following sections:
Planning Zoning and Connections in a Fabric Environment ......1-2 Installing the HBA .............................................................................1-3 Installing the HBA Driver.................................................................1-4 Configuring Host Files ....................................................................1-12 Partitioning and Labeling Devices ................................................1-22 Updating the HBA Fcode................................................................1-23 Symmetrix/Fabric Case Study.......................................................1-25
1-1
Switch manufacturers user documentation (Symmetrix) Volume Logix Product Guide, EMC P/N 300-999-024 Connectrix 2 Gb/s Enterprise Storage Network System Planning Guide, EMC P/N 069001174
Refer to Symmetrix/Fabric Case Study on page 1-25 for a Symmetrix planning example.
1-2
Each QLogic HBA is identified in the Solaris host by the driver instance number. An administrator can determine the mapping between the physical card and the driver instance X as follows: 1. Reboot the host with the -r option. 2. View the /var/adm/messages file and search for information similar to the following:
Jun 16 15:48:02 losao067 qla2200: QLogic qla2200 Fibre Channel Driver v4.05 Instance: 3 Jun 16 15:48:04 losao067 qla2200: qla2200-hba3-adapter-node-name="200000e08b0035ec"; Jun 16 15:48:04 losao067 qla2200: qla2200-hba3-adapter-port-name="210000e08b0035ec";
1-3
The naming convention for the drivers, associated files, and messages is QLA; however, the Solaris SPARC driver supports standard QLogic PCI boards (QLAxxxx) and cPCI boards (QCPxxxx). To install the driver: 1. Be sure you have the latest qualified driver software. If necessary, you can download the driver from the QLogic Web site. Refer to release notes provided with the driver for information that might be unique to new driver revisions. 2. The next step depends on the type of installation:
Type of Installation New Upgrade Go to: Installing a New Driver on page 1-4 Installing a Driver Upgrade on page 1-7
Use the following procedure to load the driver from the QLogic CD-ROM, and perform a first-time install. 1. Log on to the system as a superuser. 2. From the root of the system, create a driver directory:
mkdir qlogic_driver
1-4
qla2300_pkg.Z
/qlogic_driver
uncompress qla2300_pkg.Z
pkgadd -d qla2300_pkg
1-5
1
A list of available packages appears, similar to this QLA2300 example:
The following packages are available: 1 2 3 4 5 QLA2300-1 QLA2300-2 QLA2300-3 QLSDMLIB QLSDMLIB6 QLogic QLA2300 driver (sparc) Solaris 2.6, Rev=4.05 QLogic QLA2300 driver (sparc) Solaris 2.7, Rev=4.05 QLogic QLA2300 driver (sparc) Solaris 2.8, Rev=4.05 QLogic SDM Library (sparc) Solaris 7-8-9, Rev 2.00 QLogic SDM Library (sparc) Solaris 2.6, Rev 2.00 QLogic SANblade Control FX (for Solaris 2.6 and 2.7) (sparc) 1.18 QLogic SANblade Control FX (for Solaris 2.8 and 2.9) (sparc) 1.18
scfx2-6
7 scfx2-8
Select package(s) you wish to process (or 'all to process all packages). (default: all) [?,??,q]:
Select an HBA driver and its associated SANblade Control FX GUI to install (for example: 2,6 or 3,7), and press ENTER. 7. You are prompted to select the directory into which the driver will be installed. For example:
Processing package instance <QLA2200-3> from </qla2200> QLogic QLA2320 driver (sparc) Solaris 2.8, Rev=X.XX Copyright (c) 1996-2001, by QLogic Corporation. All rights reserved. Where do you want the driver object installed (default=/kernel/drv):
Press ENTER to accept the default. 8. The pkgadd program performs a series of checks, then posts a script warning and asks whether to continue the installation. Example:
This package contains scripts which will be executed with super-user permission during the process of installing this package. _ Do you want to continue with the installation of <QLA2xxx> [y,n,?]
1-6
9. The pkgadd program notifies you when the driver installation is complete. 10. Edit any necessary files as described under Configuring Host Files on page 1-12. 11. Reboot the host with the -r (reconfigure) option:
reboot -- -r
Use the following procedure to load the QLogic driver from the QLogic CD-ROM, and perform a Fibre Channel driver upgrade: 1. Log on to the system as a superuser. 2. Back up the appropriate files:
If HBA is: Back up file:
/kernel/drv/qla2200.conf
/kernel/drv/qla2300.conf
3. Remove the old driver: a. The first step depends on the HBA and Solaris Operating System (OS):
HBA: OS version: Enter: pkgrm QLA2200-1 pkgrm QLA2200-2 pkgrm QLA2200-3 pkgrm QLA2300-1 pkgrm QLA2300-2 pkgrm QLA2300-3
2.6 7 8
QLA2300F-E-SP QLA2342-E-SP
2.6 7 8
1
c. A message describes the driver and prompts you:
Do you want to continue with the removal of this package [y,n,?,q]
Type y and press ENTER. 4. From the root of the system, create a new driver directory:
mkdir qlogic_driver
5. Insert the QLogic CD-ROM. 6. Copy the appropriate driver package from the CD-ROM:
If HBA is: Copy this package: qla2200_pkg.Z To this dirctory: /qlogic_driver
qla2300_pkg.Z
/qlogic_driver
7. In the host, change to the /qlogic_driver directory; then uncompress the driver file:
If HBA is: Enter: uncompress qla2200_pkg.Z
uncompress qla2300_pkg.Z
pkgadd -d qla2300_pkg
1-8
scfx2-6
7 scfx2-8
Select package(s) you wish to process (or 'all to process all packages). (default: all) [?,??,q]:
Select an HBA driver and its associated SANblade Control FX GUI to install (for example: 2,6 or 3,7), and press ENTER. 9. You are prompted to select the directory into which the driver will be installed. For example:
Processing package instance <QLA2200-3> from </qla2200> QLogic QLA2320 driver (sparc) Solaris 2.8, Rev=X.XX Copyright (c) 1996-2001, by QLogic Corporation. All rights reserved. Where do you want the driver object installed (default=/kernel/drv):
10. Press ENTER to accept the default. 11. The pkgadd program performs a series of checks, then posts a script warning and asks whether to continue the installation. 12. For example:
This package contains scripts which will be executed with super-user permission during the process of installing this package. _ Do you want to continue with the installation of <QLA2xxx> [y,n,?]
1-9
1
13. The pkgadd program notifies you when the driver installation is complete. 14. If you do not have any boot devices configured on the EMC storage array, go to step 15. If you have one or more boot devices configured on the EMC storage array, you must copy the binding information from the old qla2x00.conf file (that you backed up in step 2) to the new qla2x00.conf file, or you will not be able to access the GUI. Use any text editor to copy the binding information from one file to the other. 15. Edit any necessary files as described under Configuring Host Files on page 1-12. 16. Reboot the host with the -r (reconfigure) option:
reboot -- -r
Driver-Related Issues
Scenario 1 The server already contains a QLogic HBA that is controlled by the Sun ifp or qlc driver If the additional adapter is installed before installing the QLogic driver, both adapters will be initially controlled by the Sun ifp or qlc driver. When the QLogic driver is installed it will indicate that it is installed but has failed to attach. This is okay, since the driver will attach itself to the second adapter after a reboot with the reconfigure option (reboot -- -r) . By default, each QLA2200 and QCP2202 adapter distributed by Sun has a PCI subsystem device ID of 0x2200. You must remove and reinstall the qlc driver using this default subsystem device ID if you do not want the qlc driver to attach to the adapters distributed by QLogic without the presence of the QLogic drivers. To do this, issue the following commands:
rem_drv qlc add_drv -c fibre-channel -i "pci1077,2200" -n qlc
1-10
If the built-in QLA2200 has PCI subsystem device IDs of 0x2200 (pci1077,2200), the following steps are recommended: a. Install the EMC-qualified QLA2200 driver into the host system. b. Halt the host system and power it off. c. Install the QLA2200 adapter(s). d. Boot the system with the reconfigure option (boot -rv).
1-11
QLogic driver configuration file Refer to Setting QLogic Driver Configuration Variables on page 1-14. Host sd driver configuration file sd.conf Refer to Editing sd.conf to Add LUNs on page 1-19. System specification file /etc/system Refer to Editing /etc/system on page 1-20.
After editing the files, type reboot -- -r and press ENTER to reboot the host with the -r (reconfigure) option, which rebuilds the kernel and implements the changes.
QLogic persistent binding is implemented through the file /kernel/drv/sd.conf and either the GUI or /kernel/drv/qla2200.conf (or qla2300.conf). The matching between the storage array port, the target ID, and the driver happens inside qla2200.conf (or qla2300.conf). Each mapping is considered a single property. The format for each binding entry must be followed by the HBA information. Each entry works as the mapping between the WWN of the HBA and the driver instance. Example:
hba0-SCSI-target-id-0-fibre-channel-node-name="50060482bbff7a9c"; hba0-SCSI-target-id-0-fibre-channel-port-name="50060482bbff7a9c";
In this example:
The X in hbaX-SCSI is the driver instance number of the HBA. This instance number corresponds to the instance entry inside the /etc/path_to_inst.
1-12
The Y in SCSI-target-id-Y is the device address, as in the following address: /dev/rdsk/c3tYd0s0. The fibre-channel-node-name and fibre-channel-port-name are the target WWNN and WWPN of the EMC storage array. On a Symmetrix console, this information can be found using the e2 command. The output is similar to the following example for Fibre Channel director port 13B:
WWN WWN HI LOW 50060482 / 50060482 BBFF7A9C / BBFF7A9C
The WWNN and WWPN of Symmetrix Fibre Channel port 13B are both 50060482BBFF7A9C.
Multiple entries for the binding must be matched with the multiple distinct target ID, as in the following example:
hba4-SCSI-target-id-0-fibre-channel-node-name="50060482bbff7a80"; hba4-SCSI-target-id-0-fibre-channel-port-name="50060482bbff7a80"; hba4-SCSI-target-id-2-fibre-channel-node-name="50060482bbff7a9C"; hba4-SCSI-target-id-2-fibre-channel-port-name="50060482bbff7a9C";
CAUTION If the HBA WWPN in the NVRAM is different from what specified inside qla2200.conf/qla2300.conf, the adapter will be assigned the NVRAM WWPN. The matching between the target ID and the LUNs happens inside /kernel/drv/sd.conf. Each of the entries represent a LUN Z, as in the device address: /dev/rdsk/c0t0dZs0. Because of the class="scsi" entries, the sd target driver will probe multiple adapters, even multiple adapters across multiple drivers (for example: isp, glm, fas).
1-13
1
Example:
# # Copyright (c) 1992, by Sun Microsystems, Inc. # #ident "@(#)sd.conf 1.8 93/05/03 SMI" _ name="sd" class="scsi" target=0 lun=0; name="sd" class="scsi" target=0 lun=1; name="sd" class="scsi" target=0 lun=2; name="sd" class="scsi" target=0 lun=3; name="sd" class="scsi" target=0 lun=4; name="sd" class="scsi" target=0 lun=5; name="sd" class="scsi" target=0 lun=6; name="sd" class="scsi" target=0 lun=7; name="sd" class="scsi" target=0 lun=8; name="sd" class="scsi" target=0 lun=9; QLogic implements auto-binding at all times. To prevent the undesired effects of auto-binding, all targets must be bound to target IDs. Any target you do not want bound must be designated with a target ID that is not defined in sd.conf.
2. Click the host names pin located at the upper left of the SANblade GUI. 3. Click an adapter for which you want to set the variables; for example, Adapter 2200 (Instance #0). 4. At the Tab dialog, click HBA Options.
1-14
5. Under Select Parameter Section: a. Select Host Parameters, and set the variables according to the following table:
Required Setting if No PowerPath or Veritas DMP FC-AL: Loop Only FC-SW: Point to Point Only FC-AL: 5 FC-SW: 30 2048 20 Required Setting if PowerPath or Veritas DMP FC-AL: Loop Only FC-SW: Point to Point Only FC-AL: 5 FC-SW: 30 2048 20 Disable Disable 2 - Auto-negotiate
Variable Connection Options Port Down Retry Count Frame Size Execution Throttle
Enable Fibre Channel Tape Support Disable Enable Fibre Channel Confirm Data Rate (QLA23xx only) Disable 2 - Auto-negotiate
When finished, click Save. b. Select Advanced Host Parameters, and set the variables according to the following table:
Required Setting if No PowerPath or Veritas DMP Enable Disable Disable Disable Disable Enable 0 Disable Enable Disable N/A Required Setting if PowerPath or Veritas DMP Enable Disable Disable Enable Enable Enable 60 Disable Enable Disable N/A
Variable Persistent Plus New Persistent Targets Only Persistent Bind HBA Fast Error Reporting Link Down Error Extended Logging Loop Down Time Out Enable Target Reset Enable Fast Command Posting Enable 4GB Addressing Maximum LUNs Per Target
1-15
1
When finished, click Save. c. Select Advanced Firmware Parameters, and set the variables according to the following table:
Required Setting if No PowerPath or Veritas DMP Enable 125 Enable FC-AL: 5 FC-SW: 10 Disable 0 Disable Disable No Multiple Responses Required Setting if PowerPath or Veritas DMP Enable 125 Enable FC-AL: 5 FC-SW: 10 Disable 0 Disable Disable No Multiple Responses
Variable Enable Adapter Hard Loop ID Hard Loop ID Enable LIP Full Login Login Retry Count Enable Class 2 Service Interrupt Delay Timer Enable ACK0 Enable Read Transfer Ready Operation Mode
When finished, click Save. 6. At the Tab dialog, click Target Setting. In the Target ID field, the user can bind the target device by any ID in the range 1255. When finished, click Save. Once the user saves the configuration, all targets that have the Bind column checked will be persistently bound in the configuration file /kernel/drv/qla2x00.conf. Example:
hba0-SCSI-target-id-1-fibre-channel-node-name="50060482c3a0d752"; hba0-SCSI-target-id-1-fibre-channel-port-name="50060482c3a0d752";
7. Repeat step 3 through 6 to set the variables of any other QLogic adapters. 8. On the SANblade Control FX main window File menu, select Exit to exit the QLogic SANblade Control FX GUI.
Changes to the variables will not take effect until the host is rebooted.
1-16
Connection Options Defines the type of connection (loop or point-to-point) or connection preference. Port Down Retry Count Specifies the number of times the software retries a command to a port returning port down status. Frame Size Specifies the maximum frame length supported by the QLA2xxx adapter. Execution Throttle Specifies the maximum number of commands executing on any one port. When a ports execution throttle is reached, no new commands are executed until the current command finishes executing.
Enable Fibre Channel Tape Support Enables/disables Fibre Channel tape support. Enable Fibre Channel Confirm Enables/disables the Fibre Channel Confirm option, which is used only in configurations that require Fibre Channel tape support. Data Rate determines the QLA23xx board data rate. Settings include: 1 GB/sec The QLA23xx board runs at 1 Gb/s. 2 GB/sec The QLA23xx board runs at 2 Gb/s. Auto-negotiate An attempt is made to determine what rate your system can accommodate. The rate is set based on the interrogation.
Persistent Targets Plus New Reports to the OS the discovery of persistent bound and non-bound devices. If this field is checked and the configuration saved, it sets the persistent-binding-configuration parameter in the configuration file to 0.
Persistent Targets Only Reports to the OS the discovery of persistent bound targets only. If this field is checked and the configuration saved, it sets the persistent-binding-configuration parameter in the configuration file to 1. This field is mutually exclusive with Persistent Targets Plus New (previous entry), meaning that only one of these can be selected at a time.
1-17
Persistent Bind HBA If set, the current HBA is bound in the configuration file. The application binds the HBAs OS instance number with the World Wide Node Name and World Wide Port Name of the HBA. Fast Error Reporting Enables/disables the ability of the OS to handle the rate at which errors are returned. Setting the field sets the value of the fast-error-reporting parameter in the configuration file to 1 (enabled), and vice versa. Link Down Error Disables the driver error reporting during link down conditions. Loop Down Timeout Specifies the amount of time the driver will wait for a Fibre Channel loop to come up before reporting the failure. Setting this field to small values may report transient errors that should be ignored. Enable Target Reset Enables the drivers to issue a Target Reset command to all devices on the loop when a SCSI Bus Reset command is issued. Enable Fast Command Posting Decreases command execution time by minimizing the number of interrupts. Enable 4GB addressing Should be enabled if the system has more than 4 GB of memory available. Maximum LUNs per Target Specifies the number of LUNs per target. Enable Adapter Hard Loop ID Forces the adapter to attempt to use the ID specified in the Hard Loop ID setting. Enable LIP full login Instructs the ISP chip to re-login to all ports after any loop initialization process (LIP). Enable Class 2 service Enables Class 2 service parameters to be provided during all automatic logins (loop ports). Enable ACK0 Determines the type of ACK used: Enabled = use sequence ACK. Disabled = use frame ACK.
The Enable Class 2 Service setting must be enabled to use the Enable ACK0 setting.
1-18
Hard Loop ID Is an ID the adapter will attempt to use if Enable Adapter Hard Loop ID is enabled. Login Retry Count Specifies the number of times the software tries to log in to a device. Interrupt Delay Timer Specifies the time (in 100-microsecond increments) used by a timer to set the wait time between accessing (DMA) a set of handles and generating an interrupt. Operation Mode Specifies the reduced interrupt operation (RIO) modes, if supported by the software driver. RIO modes allow posting multiple command completions in a single interrupt.
Solaris maintains a configuration file named /kernel/drv/sd.conf, which lists all disks (LUNs) that a user may want to access. This file contains entries for LUN 0 only. As a result, you must edit the file to add entries for any LUNs with numbers greater than 0 that you will bind in the storage systems connected to the server. Before editing the current /kernel/drv/sd.conf file, make a copy of it just in case the file is lost or errors are made. When editing the file, follow these precautions:
Do not delete any original data from this file; the Solaris operating system might not boot properly. Do not insert hidden format characters. The file is very sensitive to hidden format characters, and a misplaced tab or other formatting character can make all subsequent entries unreadable. Enter all LUN numbers as decimal numbers.
Changes to sd.conf will not take effect until the host is rebooted.
Devices accessed via Fibre Channel using the QLogic driver are addressed behind a single target ID with up to 256 LUNs. (This differs from existing SCSI device addressing, which might have multiple targets and LUNs.) In the standard EMC storage array device definition file, target 0 should have 256 LUNs, and all other targets (1 through 125) have a LUN 0 only. Edit sd.conf to list all targets and all LUNs that might be addressed. The Target ID needed to address a device is determined by the Fibre Channel Arbitrated Loop Physical Address (AL_PA). A Loop_ID of
1-19
1
00 (AL_PA of EF) will have LUNs behind Target ID 0, Loop_ID 01 has LUNs on target ID 1, and so on. Since each Fibre Channel port can have only one loop ID (or AL_PA), all devices accessed through a port will have the same target ID. If you need to access existing devices that previously had multiple target IDs, be aware of changes required for raw device addressing.
Your actual target/LUN assignment will vary depending on unique system configuration requirements. Be sure that existing and new configurations are well documented before upgrading to Fibre Channel directors.
Make sure that only the target=x lun=0 line is specified for any target ID that does not need LUN support. This decreases the time needed to reboot the system. Sample sd.conf file Here is an example of sd.conf:
name=sd class=scsi _ _target=0 lun=0; name=sd class=scsi _ _target=0 lun=1; . . name=sd class=scsi _ _target=0 lun=255; name=sd class=scsi _ _target=1 lun=0; name=sd class=scsi _ _target=2 lun=0; . . name=sd class=scsi _ _target=125 lun=0;
device definition file for Fibre Channel devices. Change the file name to sd.conf and copy it to the /kernel/drv directory.
Editing /etc/system
Operation in a Solaris environment requires that some parameters in the file /etc/system first be modified, as described in this section.
Changes to /etc/system will not take effect until the host is rebooted.
1-20
The modification to the parameter sd_max_throttle is required specifically for Fibre Channel. Other settings apply to both standard SCSI and Fibre Channel.
1. Type set sd:sd_max_throttle=20 and press ENTER. 2. Type set scsi_options = 0x7F8 and press ENTER. The bit meaning for scsi_options is as follows:
Bit 3 4 5 6 7 8 9 10 Mask 0x8 0x10 0x20 0x40 0x80 0x100 0x200 0x400 Meaning Disconnect enable Link enable Sync xfer enable Parity support enable Tag commands enable Fast SCSI enable Wide SCSI enable Ultra SCSI enable
Since /etc/system can also affect other disks in the system, consider the effects of implementing the scsi_options=0x7f8 mask on the other disks. If it is not set, EMC storage array operations will not benefit from these options.
3. The next step depends on whether the host will run PowerPath: If yes, add this line: set sd:sd_io_time = 0x3C If no, add this line: set sd:sd_io_time = 0x78 This setting prevents the host from issuing warning messages when non-disruptive operations are performed on the EMC storage array.
1-21
1-22
To update the Fcode, follow these steps: 1. From the root of your system, create a directory from this list:
HBA Model QLA2200F-EMC QCP2202F-E QLA2200FS-E QLA2300F-E-SP QLA2342-E-SP Directory Name QLA2200_Fcode QLA2200FS_Fcode QLA2300_Fcode
2. Copy the appropriate Fcode from the CD, as shown in the list below:
If HBA is: QLA2200F-EMC QCP2202F-E QLA2202FS-E QLA2300F-E-SP QLA2342-E-SP Copy this Fcode file: 2200fcode.tar.Z 2202sbusfcode.tar.Z 2300fcode.tar.Z 2312fcode.tar.Z to this directory: /QLA2200_Fcode /QLA2200FS_Fcode /QLA2300_Fcode /QLA2300_Fcode
3. Go into the appropriate HBA directory; then uncompress and untar the Fcode file. 4. Open the QLogic SANblade Control FX Application (SANblade GUI)
cd /opt/QLgic_Corporation/SANblade_Control_fx ./scfx
5. Click the host names pin that located at the upper left of the SANblade GUI. 6. Click the adapter on which you want to update the Fcode; for example, Adapter 2200 (Instance #0).
1-23
1
7. At the Tab dialog, click Utilities. 8. Enable Update Fcode. 9. Click Select Input File. 10. Enter the appropriate information:
HBA Model QLA2200F-EMC QLA2202FS-E QCP22002F-E QLA2300F-E-SP QLA2342-E-SP Look in /QLA2200_Fcode /QLA2200_Fcode /QLA2200_Fcode /QLA2300_Fcode /QLA2300_Fcode File name ifp2200.prom 2202fs.prom ifp2200.prom ifp2300.prom ifp2312.prom
11. Click Open. The SANblade GUI displays Input File Selected:, similar to /QLA2200_Fcode/ifp2200.prom. 12. Click Update to update the Fcode. 13. Repeat step 6 through 12 for any other QLogic adapters. 14. On the SANblade Control FX main window File menu, select Exit to exit the QLogic SANblade Control FX GUI. 15. Reboot the host with reconfigure (-r) option:
reboot -- -r
1-24
Host 1
qla
22
00
Symmetrix
Fabric Switch
Host 2
qla220 qla220 1 2
LUNs 0-3 Target 0 Target 1 Target 0 Target 16 Target 17 Target 18 LUNs 4-8 LUNs 0-5 LUNs 0-4 LUNs 5-10 LUNs 0-127 LUNs 0-127 LUNs 0-127
Host 3
qla220
FA14a FA14b
Host 4
FA15a
1-25
1
Configuration Example Fan-in Volume Logix Device 0x800x83 0x900x95 1 2 3 4 5 6 0x340x38 0x390x45 0x840x88 0x1000x17f
Host Host 1
HBA QLA2200
FA 3a 3b
Target 0 1 0
LUNs 03 05 04 510
Zone 0
Fan-out
Host 2
QLA2201 QLA2202
1a
Host 3 Host 4
0 16 17 18
As shown in the figure and table, the recommended zoning is HBA-based zoning using the WWPN of the HBA and the Symmetrix. HBA-based zoning includes only one HBA port and single/multiple target ports per zone.
For further information on zoning, refer to the Connectrix Enterprise Network System Planning Guide.
Volume Logix requires an available Symmetrix device as the gatekeeper for administration on a particular host. Any of the hosts in the example may contain a gatekeeper, which must be assigned in /kernel/drv/sd.conf. Any of the devices defined in the gatekeeper must be mapped to the certain LUN number associated with the Symmetrix port; for example, device 0x80 LUN 0 of FA 3A.
For further information on Volume Logix, refer to the Volume Logix Product Guide.
The switch zoning must coincide with Volume Logix mapping to allow probing any Symmetrix devices. Such planning as that shown in the table can help present a complete picture before setting up the persistent binding.
1-26
Following are the configuration file entries for each server in the case study. In /kernel/drv/qla2200.conf:
In /kernel/drv/sd.conf:
name="sd" name="sd" name="sd" name="sd" name="sd" name="sd" name="sd" name="sd" name="sd" name="sd" class="scsi" class="scsi" class="scsi" class="scsi" class="scsi" class="scsi" class="scsi" class="scsi" class="scsi" class="scsi" target=0 target=0 target=0 target=0 target=1 target=1 target=1 target=1 target=1 target=1 lun=0; lun=1; lun=2; lun=3; lun=0; lun=1; lun=2; lun=3; lun=4; lun=5;
Host 2
In /kernel/drv/qla2200.conf:
In /kernel/drv/sd.conf:
name="sd" name="sd" name="sd" name="sd" name="sd" name="sd" name="sd" name="sd" name="sd" name="sd" name="sd" class="scsi" class="scsi" class="scsi" class="scsi" class="scsi" class="scsi" class="scsi" class="scsi" class="scsi" class="scsi" class="scsi" target=0 target=0 target=0 target=0 target=0 target=0 target=0 target=0 target=0 target=0 target=0 lun=0; lun=1; lun=2; lun=3; lun=4; lun=5; lun=6; lun=7; lun=8; lun=9; lun=10;
Host 3
In /kernel/drv/qla2200.conf:
hba1-SCSI-target-id-0-fibre-channel-node-name="50060482bbff7a82"; hba1-SCSI-target-id-0-fibre-channel-port-name="50060482bbff7a82";
1-27
1
In /kernel/drv/sd.conf:
name="sd" name="sd" name="sd" name="sd" name="sd" class="scsi" class="scsi" class="scsi" class="scsi" class="scsi" target=0 target=0 target=0 target=0 target=0 lun=4; lun=5; lun=6; lun=7; lun=8;
Host 4
In /kernel/drv/qla2200.conf:
In /kernel/drv/sd.conf:
name="sd" class="scsi" target=16 lun=0; name="sd" class="scsi" target=16 lun=1; name="sd" class="scsi" target=16 lun=127; name="sd" class="scsi" target=17 lun=0; name="sd" class="scsi" target=17 lun=1; name="sd" class="scsi" target=17 lun=127; name="sd" class="scsi" target=18 lun=0; name="sd" class="scsi" target=18 lun=1; name="sd" class="scsi" target=18 lun=127;
1-28
You can retrieve the hbaX-adapter- information by issuing the following commands:
1-29
1-30
2
Configuring a Boot Device on the EMC Storage Array
EMC supports booting Solaris from the storage array through an EMC-qualified QLogic Fibre Channel HBA. (Refer to the EMC Support Matrix for specific HBAs and drivers.) This chapter contains the following sections:
2-1
2. Select the Symmetrix device on which to install the Solaris operating system as follows: a. At the partition prompt, type quit and press ENTER to return to the format menu. b. At the format prompt, type disk and press ENTER. c. Information similar to the following appears:
AVAILABLE SELECTIONS ... 1. c0t0d0 <SUN4,2G cyl 3880 alt 2 hd 16 sec 135> /pci@1f,4000/scsi@3/sd@0,0 2. c3t0d0 <EMC-SYMMETRIX-5265 cyl 4088 alt 2 hd 15 sec 64> /pci@1f,4000/QLGC,qla@4/sd@0,0 ... specify disk (enter its number):
2-2
Important: Make sure your Symmetrix device path has the form /pci/QLGC,qla. If the path has the form /pci/scsi, you must down load Fcode again and then reboot the system with the command reboot -- -rv. 3. Repartition the Symmetrix device (if necessary) to model the partition information from the host source drive in order to match the drive configuration: a. At the format prompt, type partition and press ENTER. a. At the partition prompt, type modify and press ENTER. b. After the partition in the Symmetrix device has been created, type modify and press ENTER at the format prompt.
Creating Filesystems
Create filesystems on the required partitions in the designated Symmetrix Boot device. Below is an example in which the OS is being copied to a Symmetrix device of Target 0 LUN 0 on controller 2:
newfs /dev/rdsk/c3t0d0s0 newfs /dev/rdsk/c3t0d0s6 newfs /dev/rdsk/c3t0d0s7
To use a different Symmetrix Device, change t0 to t<Symmetrix Device target number>. To use a different controller, change c3 to c<controller number>. You must create both the root partition (slice 0) and the /usr partition (slice 6). You should also create other partitions (/export/home, /var, /opt) to mirror the current layout. Use the newfs command to create the filesystems.
Installing a Bootblk
Install a bootblk (the information required by the host to boot the operating system) on the root partition of the Symmetrix boot device. 1. Use the uname -a command to determine the architecture of the workstation. This determines the directory in /usr/platform where the bootblk will be found. The example below gives sun4u as the architecture, and subdirectory for /usr/platform. Example: At the %> prompt, type uname -a and press ENTER to display a line similar to the following:
SunOS patriot 5.8 Generic_108528-15 sun4u Sparc SUNW,Ultra-60
2-3
2
2. At the %> prompt, enter the following to install a bootblk onto the Symmetrix boot device:
/usr/sbin/installboot /usr/platform/sun4u/lib/fs/ufs/bootblk /dev/rdsk/ c<controller number>t<Symmetrix device target number>d0s0
For example, entering the following installs a bootblk onto a boot device of Target 0 LUN 0 on controller 1:
/usr/sbin/installboot /usr/platform/sun4u/lib/fs/ufs/bootblk /dev/rdsk/c1t0d0s0 Note the information about the boot devices path. This information will be useful later, in the procedure for modifying OpenBoot. In the example above, your boot devices path is /pci@1f,4000/QLGC,qla@4/sd@0,0.
Use ufsdump and ufsrestore to copy the required files and directories from the host source drive to the Symmetrix boot device. 1. At the %> prompt, type mount /dev/dsk/c3t0d0s0 /mnt and press ENTER to mounts the root directory of the Symmetrix device to /mnt. 2. Use the ufsdump command to create the required directory structure on the new Symmetrix device and copy the files. Below is an example where the current operating system is located on /dev/dsk/c0t0d0. Example: At the %> prompt, type the following and press ENTER:
ufsdump 0f - /dev/dsk/c0t0d0s0 |( cd /mnt; ufsrestore rf - )
When the above command completes, the Symmetrix device (c1t0d0s0) will have the complete image of the root partition. 3. In the /mnt/etc directory update the vfstab file to indicate the Symmetrix boot device address to be mounted during boot. Modify all partitions that will be located on the Symmetrix boot device. a. At the %> prompt, type cd /mnt/etc and press ENTER. b. At the %> prompt, type vi vfstab and press ENTER.
2-4
To increase system performance, you can leave the swap partition on the internal boot drive by leaving the fourth line (/dev/dsk/c0t0d0s1 - swap- no -) unchanged.
4. At the %> prompt, type umount /mnt and press ENTER to unmount the root partition. 5. Repeat steps 1, 2, and 4 for the /usr partition. In the current root directory: a. At the %> prompt, type mount /dev/dsk/c3t0d0s6 /mnt and press ENTER. b. At the %> prompt, type the following and press ENTER:
ufsdump 0f - /dev/dsk/c0t0d0s6 | ( cd /mnt; ufsrestore rf -)
c. At the %> prompt, type umount /mnt and press ENTER. 6. Repeat steps 1, 2, and 4 for any other partitions to be mounted from the Symmetrix boot device.
2-5
2
Modifying OpenBoot
Follow this procedure to modify OpenBoot: 1. Halt the system and issue a reset to get to the OpenBoot environment: a. At the %> prompt, type halt and press ENTER. b. At the OK> prompt, type setenv auto-boot? false and press ENTER, so the system will display the OK> prompt after reset. c. At the OK> prompt, type reset-all and press ENTER. 2. For the intended (target) Fibre Channel boot HBA, set the topology for arbitrated loop: a. At the OK> prompt, type "<HBA-path>" select-dev and press ENTER to select the HBA. Example: Suppose the path to your boot disk is
/pci@1f,4000/QLGC,qla@1/sd@0,0
b. At the OK> prompt, type 0 set-connection-mode and press ENTER to set the HBAs topology to Loop Only. The result is similar to this:
Calculating NVRAM checksum, please wait done Current HBA connection mode:0 - Loop Only. _ Possible connection mode choices: 0 - Loop Only 1 - Point-to-point only. 2 - Loop preferred, otherwise point-to-point 3 - Point-to-point preferred, otherwise loop
3. Set the adapter-loopID of your HBA to be different from the adapter-loopids of all other Symmetrix Fibre Channel directors in the loop. EMC recommends setting your adapter-loopid to the same value as the Hard Loop ID parameter that you defined when setting the driver configuration variables. (Refer to Setting QLogic Driver Configuration Variables on page 1-14.)
2-6
Example: To set your adapter-loopid to 125 (0x7d), at the ok prompt type 7d set-adapter-loopid and press ENTER. The result is similar to this:
Calculating NVRAM checksum, please wait ... done Adapter loopId -7d
4. Reset the system for the new HBA topology and adapter-loopId setting to take effect:
reset-all
5. Set up the boot-id for your boot HBA. a. At the OK> prompt, type "<HBA-path>" select-dev and press ENTER to select the HBA. Example: " /pci@1f,4000/QLGC,qla@1" select-dev The result is similar to this:
QLogic QLA2200 Fibre Channel Host Adapter Fcode version 1.15 01/03/01 Loading QLA2200 firmware - version 2.01.26 Waiting for Fibre Channel link up. - link is up
b.At the OK> prompt, type show-children and press ENTER to display the Symmetrix WWN and loop ID of the boot disk. The result is similar to this:
********************** Local Loop Devices *********************** Adapter loopId - 7d Device AL-PA loopId 0 Hard-addr 0 Port WWN 50060482c3a0d833 Lun 0 DISK EMC SYMMETRIX 5567 Lun 1 DISK EMC SYMMETRIX 5567 Lun 2 DISK EMC SYMMETRIX 5567 ---
Write down the WWN, loopId, and Lun of the boot device. c. At the OK> prompt, set up the boot ID, by typing: <WWN> <TargetId> <Lun> set-boot-id and pressing ENTER Example: 50060482c3a0d833 0 0 set-boot-id
2-7
2
The result is similar to this:
Calculating NVRAM checksum, please wait... done Boot device login successful Boot WWN - 50060482 c3a0d833 WWPN - 50060482 c3a0d833 Id - 0 Lun - 0
d. At the OK> prompt, type unselect-dev and press ENTER. 6. Set up a new alias for your new boot disk: a. At the OK> prompt, type nvalias your_alias <your device> and press ENTER. Example:
nvalias symmdisk /pci@1f,4000/QLGC,qla@4/sd@0,0
b. At the OK> prompt, type nvstore and press ENTER to store your new boot name. c. At the OK> prompt, type setenv auto-boot? true and press ENTER, so the system will not stop at the OK> prompt after reset. d. reset-all
To display various information about the boot HBA: 1. At the OK> system monitor prompt, type select-dev <controller-path> and press ENTER to select the HBA. Example: " /pci@1f,4000/QLGC,qla@1" select-dev 2. You can issue any of these commands:
show-boot-id Prints current boot device ID version Prints current version of Fcode and firmware show-connection-mode Prints current topology show-adapter-loopid Prints current adapter-loopId clear-boot-id Clears boot-id from the HBA
3. At the OK> prompt, type unselect-dev and press ENTER. 4. Important: If you do not want to boot from this HBA again, you must issue the clear-boot-id command to remove the boot-id from the HBA.
2-8
Troubleshooting
This section describes some problems that could occur, as well as actions to be taken.
Cause /etc/vfstab file on the Solution
Problem
At the OK> prompt, type boot disk and press ENTER to boot the system using the internal disk. Correct the file /etc/vfstab on the Symmetrix boot device. At the OK> prompt, type boot disk and press ENTER to boot the system using the internal disk. Recreate the Symmetrix boot disk again.
After entering boot Symmdisk, a message states that the loaded file is not executable.
There probably not boot disk on the target disk, or the copy from local to Symmetrix device was not successful.
2-9
Follow these steps to use a native device: 1. Select the LUN that will be used for booting by running the format command. 2. On the target LUN selected in step 1, create /, /usr, /var, /export/home, /var, /opt, swap, and any other required partitions that match the current boot disks partitions. You must make all of the partitions greater than that of the current boot disks partitions. 3. Label the disk to save the updated partitions by issuing the label command while still in the format utility. 4. Create a new filesystem for each partition, excluding swap and backup. Root partition example: newfs /dev/rdsk/c2t0d0s0 5. Create a directory and mount each partition as in the following example:
mkdir mount mkdir mount /bootarray /dev/dsk/c2t0d0s0 /bootarray /bootarray/usr /dev/dsk/c2t0d0s6 /bootarray/usr
6. Change to the root directory of the LUN you have set up and dump the OS: Example:
cd /bootarray ufsdump 0f - /dev/dsk/c0t0d0s0 | ufsrestore rf -
2-10
Repeat this for each partition you created. 7. Record the complete path of the boot LUN by running the format command and taking note of the path listed directly below the device. Example: /ssm@0,0/pci@18,600000/pci@1/QLGC,qla@5/sd@0,0 8. Once the dump is done, edit /bootarray/etc/vfstab to change the original partitions to reflect the partitions on the new boot disk. Example : vi /bootarray/etc/vfstab Change the lines shown in bold below as follows: Before:
#device device mount FS #to mount to fsck point type # #/dev/dsk/c1d0s2 /dev/rdsk/c1d0s2 /usr fd /dev/fd fd no /proc /proc proc no /dev/dsk/c0t0d0s1 swap /dev/dsk/c0t0d0s0 /dev/rdsk/c0t0d0s0 /dev/dsk/c0t0d0s6 /dev/rdsk/c0t0d0s6 swap /tmp tmpfs yes fsck pass ufs mount at boot 1 mount options yes -
no / /usr
ufs ufs
1 1
no no
After:
#device device mount FS #to mount to fsck point type # #/dev/dsk/c1d0s2 /dev/rdsk/c1d0s2 /usr fd /dev/fd fd no /proc /proc proc no /dev/dsk/c2t0d0s1 swap /dev/dsk/c2t0d0s0 /dev/rdsk/c2t0d0s0 /dev/dsk/c2t0d0s6 /dev/rdsk/c2t0d0s6 swap /tmp tmpfs yes fsck pass ufs mount at boot 1 mount options yes -
no / /usr
ufs ufs
1 1
no no
10. Edit /bootarray/etc/dumpadm.conf and change the original swap device to the new swap device.
2-11
2
You do not have to edit dumpadm.conf for Solaris 2.6 or earlier.
11. Install the boot block on the new boot device by running the following:
installboot /usr/platform/uname -i/lib/fs/ufs/bootblk /dev/rdsk/c2t0d0s0
12. Bring the host down to the OBP by issuing the halt command. 13. While in OBP, issue the reset-all command. 14. Issue the show-devs command, and select the correct path to the device to be used as the new boot device. Example:
" /ssm@0,0/pci@18,600000/pci@1/QLGC,qla@5" select-dev
15. To set the correct topology, type the following and press ENTER:
16. To display all Fibre Channel devices along with WWPN of the target SP from which you are booting, issue the show-children command. 17. Set the boot ID of the new boot device: a. Make note of the actual WWPN, DID, or ALPA returned from the show-children comand, and copy down the corresponding boot entry. b. Set the boot ID:
<WWPN> <TargetID> <LUN #> set-boot-id
Example:
50060160006001b7 82 0 set-boot-id
e. Issue an unselect-dev.
2-12
Follow these steps to use an emcpower device: 1. Select the LUN that will be used for booting by running the powermt display command. Example:
powermt display dev=0
2-13
2
2. On the target LUN selected in step 1, create /, /usr, /var, /export/home, /var, /opt, swap, and any other required partitions that match the current boot disks partitions. You must make all of the partitions greater than that of the current boot disks partitions. 3. Label the disk to save the updated partitions by issuing the label command while still in the format utility. 4. Create a new filesystem for each partition, excluding swap and backup. Root partition example: newfs /dev/rdsk/emcpower0a 5. Create a directory and mount each partition as in the following example:
mkdir mount mkdir mount /bootarray /dev/dsk/emcpower0a /bootarray /bootarray/usr /dev/dsk/emcpower0g /bootarray/usr
6. Change to the root directory of the LUN you have set up and dump the O/S: Example:
cd /bootarray ufsdump 0f - /dev/dsk/c0t0d0s0 | ufsrestore rf -
Repeat this for each partition you created. 7. Record the complete path of the boot LUN by running the following command:
ls -l /dev/dsk/emcpower0a
Record the/pseudo/emcp@0:a,blk. 8. Once the dump is done, edit /bootarray/etc/vfstab to change the original partitions to reflect the partitions on the new boot disk.
2-14
Example : vi /bootarray/etc/vfstab Change the lines shown in bold below as follows: Before:
#device device mount FS #to mount to fsck point type # #/dev/dsk/c1d0s2 /dev/rdsk/c1d0s2 /usr fd /dev/fd fd no /proc /proc proc no /dev/dsk/c0t0d0s1 swap /dev/dsk/c0t0d0s0 /dev/rdsk/c0t0d0s0 /dev/dsk/c0t0d0s6 /dev/rdsk/c0t0d0s6 swap /tmp tmpfs yes fsck pass ufs mount at boot 1 mount options yes -
no / /usr
ufs ufs
1 1
no no
After:
#device device mount FS fsck mount mount #to mount to fsck point type pass at boot options # #/dev/dsk/c1d0s2 /dev/rdsk/c1d0s2 /usr ufs 1 yes fd /dev/fd fd no /proc /proc proc no /dev/dsk/emcpower0b swap - no /dev/dsk/emcpower0a /dev/rdsk/emcpower0a / ufs 1 no /dev/dsk/emcpower0g /dev/rdsk/emcpower0g /usr ufs 1 no swap /tmp tmpfs yes -
10. Edit /bootarray/etc/dumpadm.conf and change the original swap device to the new swap device.
You do not have to edit dumpadm.conf for Solaris 2.6 or earlier.
11. Install the boot block on the new boot device by running the following:
installboot /usr/platform/uname -i/lib/fs/ufs/bootblk /dev/rdsk/emcpower0a
2-15
2
12. To find the boot device information to reconfigure the boot disk EEPROM setting, issue the powermt display command as you did in step 1, and issue ls -l on any one of the devices that appears in the output of powermt display. Example: ls -l c1t0d0s0 Output from command:
lrwxrwxrwx 1 root other 33 Jun 4 09:06 /dev/dsk/c1t0d0s0 ->../ /devices/ssm@0,0/pci@18,600000/pci@1/QLGC,qla@4/sd@0,0:a
Record the /ssm@0,0/pci@18,600000/pci@1/QLGC,qla@4. 13. Bring the host down to the OBP by issuing the halt command. 14. While in OBP, issue the reset-all command. 15. Issue the show-devs command, and select the correct path to the device to be used as the new boot device (recorded in step 11). Example:
" /ssm@0,0/pci@18,600000/pci@1/QLGC,qla@4" select-dev
16. To set the correct topology, type the following and press ENTER:
17. To display all Fibre Channel devices along with WWPN of the target SP from which you are booting, issue the show-children command. 18. Set the boot ID of the new boot device: a. Make note of the actual WWPN, DID, or ALPA returned from the show-children comand, and copy down the corresponding boot entry. b. Set the boot ID:
<WWPN> <TargetID> <LUN #> set-boot-id
Example:
50060160006001b7 82 0 set-boot-id
2-16
e. Issue an unselect-dev. 19. Create an alias for the new boot device:
nvalias emcpower0a /ssm@0,0/pci@18,600000/pci@1/QLGC,qla@4/sd@0,0:a nvstore
2-17
2-18