Installing HBAs/Drivers on an Solaris Host

 

Topic

Setting up a host environment

Selections

Select a host: Solaris

Select a Solaris task: Installing HBAs/drivers

Select a HBA type: Emulex

Select a switch type: Brocade

 

 

Contents

·             Installing Emulex HBA(s) on a Solaris Host 4

·             Updating Emulex HBA firmware for Solaris. 5

·             Downloading the latest Emulex HBA driver for Solaris. 6

·             Installing an Emulex HBA driver on a Solaris host 7

·             Editing the Solaris system file. 8

·             Configuring an Emulex HBA driver for Solaris failover support 9

·             Creating switch zones. 11

·             Adding persistent bindings to Solaris Emulex kernel files. 12

·             Adding LUNs to the Solaris config file for Emulex HBA.. 13

·             Making LUNs or Devices available to Solaris. 15

 


 

Install/Setup Emulex HBA/Driver Environment on Solaris

 

Using various procedures, this document for Solaris, featuring a Emulex HBA environment describes how to install and setup host bus adapters and other aspects of a host environment that deal with managing devices of a storage system. A series of procedures take you from installing HBAs, HBA firmware and drivers, and configuring failover to configuring kernel files and LUNs.

 

·              Installing Emulex HBA(s) on a Solaris Host

 

Overview

These procedures are based on content from the following EMC manual:

  • EMC Host Connectivity Guide for Sun Solaris
  • EMC Support Matrix Solaris

 

You can download these guides from EMC Online Support (registration required): https://support.EMC.com

 

 

1.   

Set Jumpers on adapter board

Review your host computer documentation for slot recommendations that meet or exceed the HBA capabilities: 64-bit, 33 MHz.

 

Set the HBA jumpers as shown in the figure below to enable it for use with the Solaris host.

 

Note: The LP9002S-E and LP9002DC-E have no user-programmable jumpers.

 

 

 

2.   

Install Adapter in card slot

With host system power off, install the HBA(s) by following the instructions included with your adapter. The adapter installs into a single-sloted PCI bus.

 

Repeat the installation steps for each host in which you are installing Fibre Channel HBAs.

 

 

3.   

Apply power and boot

Reapply power and allow the system to boot normally.

 

 

 

 

7Table of Contents

 

 

·        Updating Emulex HBA firmware for Solaris

 

Overview

Refer to release notes provided with the driver for information that might be unique to new driver revisions.

These procedures are based on content from the following EMC manuals:

  • EMC Host Connectivity Guide for Sun Solaris
  • EMC Support Matrix Solaris

 

You can download these guides from EMC Online Support (registration required): https://support.EMC.com

 

 

1.   

Download the firmware

Each Emulex Fibre Channel controller has a flash upgradeable firmware and BIOS. In most instances, it is necessary to keep only the firmware up to date, since the BIOS is applied only when using connected storage as a boot device.

 

Download the latest firmware:
 

a.      Open a browser and access the Emulex website at http://www.emulex.com

b.      Click drivers, downloads, and documentation on the left side of the screen.

c.      On the next page, under Storage and System Supplier Qualified and Supported HBAs, select the EMC link. 

d.      On the Support Resources for EMC page, select the link for the correct Emulex HBA version.

e.      On the next page, click the appropriate firmware link to download the desired file to the appropriate directory, /usr/sbin/lpfc.

 

HBA Model

File (where XXX is the version)

LP8000E-EMC

ddXXX.awc (for example: dd390a7.awc)

LP9002-E

LP9002C-E

LP9002DC-E

cdXXX.awc (for example: cd390a7.awc)

LP9002S-E

rfXXX.awc (for example: rf390a7.awc)

LP9802-E

hdXXX.all (for example: hd100a2.all)

LP10000-E

LP10000DC-E

tdXXX.all (for example: td180a2.all)

LP11000-E

LP11002-E

tdXXX.all (for example: td180a2.all)

LPe11000-E

LPe11002-E

tdXXX.all (for example: td180a2.all)

 

2.   

Install the firmware

Follow these steps to install the firmware:

a.      Start the firmware update utility:

 

          ./lputil

 

a.      Select option 3 – Firmware Maintenance.

b.      Select the adapter number to update.

c.      Select option 1 – Load Firmware Image.

d.      Type the full file name of the image file (as shown in the table above; cd390a7.awc, for example) and press Enter.

 

Note: Select the proper release for the HBA you are configuring.

 

e.      Select option 0 – Return to Main Menu.

f.       For any other adapters, repeat these steps beginning with the step above where you select option 3 - Firmware Maintenance.

 

If the HBA driver is version 5.x or older, the host must reboot for the upgrade firmware to take effect.

 

 

7Table of Contents

 

·        Downloading the latest Emulex HBA driver for Solaris

 

Overview

When installing or upgrading drivers, be sure to use the latest versions supported by EMC. Review the E-Lab Interoperability Navigator (ESM) for the latest information on approved HBAs and drivers.

 

 

1.   

Download the HBA driver

To download the latest HBA driver:

a.   Create a directory to which you will save the driver.  For example:

mkdir /emulex

b.      Open a browser and access the Emulex website at http://www.emulex.com.

c.      Click drivers, downloads, and documentation on the left side of the screen.

d.      On the next page under Storage and System Supplier Qualified and Supported HBAs, select the EMC link. 

e.      On the Support Resources for EMC page, select the link for the correct Emulex HBA version and select Solaris on the next page.

f.       Find and select the listing for the appropriate driver.

g.      Extract the downloaded file to the directory created earlier.

 

 

 

7Table of Contents

 

·        Installing an Emulex HBA driver on a Solaris host

 

Overview

This procedure describes how to install an Emulex HBA driver on a Solaris host. Refer to release notes provided with the driver for information that might be unique to new driver revisions.

 

 

1.   

Untar the kit

Change to the /emulex directory (where you copied the Driver and Applications Kit) and untar the kit:

cd /emulex
tar xvf Solaris
-xxx.tar

 

When the untar is complete you will find these components:

 

  • lpfc-yyy-sparc.tar (where yyy is the driver revision) - Emulex Fibre Channel Solaris driver

  • EmlxAppsZZZ-Solaris.tar (where zzz is the application kit version) - Emulex Applications kit (containing lputil, HBAAPI, HBAnyware, and documentation)

  • readme.first.txt

 

 

2.   

Install the driver

Enter the following (including the period) to install the driver:

 

tar xvf lpfc-yyy-sparc.tar

pkgadd -d .

 

 

3.   

Select the package

When prompted to select the packages you wish to process:

  • To accept the default value, press Enter.

  • If you need help, type ? or ?? and press Enter.

 

 

4.   

Make selection to rebuild

When prompted if you want to rebuild the manual pages database for section 7d, read the following note and press either Y or N.

 

Note:  Section 7d of the online manpages contains the manual pages for lpfc.  Normally the catman command can be run to create preformatted versions of the online manual from the nroff(1) input files.  Each manual page is examined and any with preformatted versions that are missing or out of date are recreated. If any changes are made, catman recreates the windex database. Depending on your system, this operation can take from 1 to 10 minutes.  If you enter N, the catman will be skipped, allowing the installation to complete quickly.  The skipped catman command will be output for the administrator to run later, if desired.

 

 

5.   

Disable IP networking

When prompted if you want to use IP networking over Fibre Channel, press N to disable IP networking through the Emulex card.

 

 

6.   

Confirm the installation

When prompted if you want to continue with the installation, press Y to confirm the installation.

 

 

7.   

Finish the installation

The installation package continues the installation.  When it finishes, press Q at the prompt to quit the installation package.

 

8.   

Ignore reboot message

A message appears stating that you must reboot the server.  Ignore this message and DO NOT reboot at this time (you will reboot at the end of this procedure).

 

 

9.   

Install the Emulex Applications Kit

Install the Emulex Applications Kit, as follows:

 

tar xvf EmlxAppsZZZ-Solaris.tar

gunzip HBAnyware-VVV-sparc.tar.gz

tar xvf HBAnyware-VVV-sparc.tar

pkgadd –d .

 

where ZZZ is the application kit version and VVV is the HBAnyware version.

 

Note:  Run the unpack_apps script to obtain correct package version if you are installing the Emulex application kit version 300a76 (EmlxApps300a76-Solaris.tar).

 

 

10.  

Select the package

When prompted to select the packages you wish to process, select HBAnyware and press Enter.

 

 

11.  

Confirm the installation

When prompted if you want to continue with the installation of HBAnyware, press Y to confirm the installation.

 

 

12.  

Finish the installation

The installation package continues the installation.  When it finishes, press Q at the prompt to quit the installation package.

 

Note:  EMC has not qualified the Emulex HBAnyware GUI with Solaris.  Please contact Emulex for support on HBAnyware GUI.

 

 

7Table of Contents

 

·        Editing the Solaris system file

 

Overview

This procedure describes how to edit the /etc/system file. Refer to release notes provided with the driver for information that might be unique to new driver revisions.

 

 

1.   

Make entry for an I/O timeout and throttle

Add a couple of lines to set the I/O timeout and throttle. This setting prevents the host from issuing warning messages when non-disruptive operations are performed on the EMC storage system:


set sd:sd_io_time = 0x3C

set sd:sd_max_throttle = 20


 

 

2.   

Save the file

Save the changes you made to the /etc/system file.

 

 

 

7Table of Contents

 

·        Configuring an Emulex HBA driver for Solaris failover support

 

Overview

This procedure describes how to configure the Emulex HBA driver for failover support on a Solaris host. If using PowerPath or DMP failover software, verify that the installed HBA drivers will support it.  Refer to the E-Lab Interoperability Navigator (ESM) for more information.

 

The configuration file (/kernel/drv/lpfc.conf) is created automatically by pkgadd.  The file contains important information about how the driver should behave.  If necessary, edit the file as shown in the table in step 1.

 

For descriptions of the variables, refer to the EMC Fibre Channel with Emulex Host Bus Adapters in the Solaris Environment manual, P/N 300-001-156 (available on http://www.emulex.com).

 

 

1.   

Make a copy of the kernel

Before editing the current /kernel/drv/lpfc.conf file, use the following command to make a copy of it in case the file is lost or errors are made:

 

cp /kernel/drv/lpfc.conf /kernel/drv/lpfc.conf.bak

 

Note:  Using improper settings can cause erratic behavior, such as greatly increased I/O delays.

 

Variable

Default Value

Recommended Settings for Symmetrix

If no PowerPath or VERITAS DMP

PowerPath or VERITAS DMP

log-verbose

0

0x10

0x10

log-only

1

1

1

fcp-bind-method

2

FC-AL:4

FC-SW:2

fcp-bind-WWNN

none

16-digit BCD with leading zeroes

16-digit BCD with leading zeroes

6-digit BCD with leading zeroes

fcp-bind-WWPN

none

fcp-bind-DID

none

automap

1

1

1

lun-queue-depth

30

20

20

tgt-queue-depth

0

Symmetix 512

Symmetrix 512

lpfcNtM-lun-throttle

n/a

n/a

n/a

lpfcNtM-target-throttle

n/a

n/a

n/a

no-device-delay

1

1

0

network-on

0 or 1

0 or 1

0 or 1

xmt-que-size

256

256

256

scan-down

1

FC-AL:1

FC-SW:n/a

FC-AL:1

FC-SW:n/a

linkdown-tmo

30

60

60

nodev-holdio

0

1

0

nodev-tmo

30

60

60

delay-rsp-err

0

0

0

num-iocbs

256

2048

2048

num-bufs

128

1024

1024

topology

0

FC-AL:4

FC-SW:2

FC-AL:4

FC-SW:2

ip-class

3

3

3

fcp-class

3

3

3

use-adisc

0

0

0

extra-io-tmo

0

0

0

post-ip-buf

128

n/a

n/a

 

2.   

Save the file

Save the changes you made to the lpfc.conf file.

 

 

 

7Table of Contents

 

·        Creating switch zones

 

Overview

For directions specific to Brocade switches, refer to the Brocade Fabric Manager Administrator’s Guide, which is located on Powerlink under the following location:

 

Home > Support > Documentation/White Paper Library > Hardware/Platforms Documentation > Connectrix Directors and Switches > Maintenance/Administration

 

Please refer to the section Managing Zones, which will provide the background information needed to configure and zone your fabric.

 

Note: There are multiple versions of the user guide available. Be sure to reference the version specific to your Fabric Manager version.

 

 

3.   

Create switch zones

Switch zones define paths between the host HBAs and the Symmetrix array and can be created using the switch management software (refer to the switch documentation).

 

Note:  If you are using an HP-UX server with QuickLoop zoning, then you must use port zoning.  Refer to EMC Knowledgebase article emc66355 for more information.

 

Definition -

Zoning is the process by which a single initiator is matched to a single storage array port (FA/SP) to be able to pass info to storage array device.

 

A Zone consists of 2 or more members, with only 1 initiator (HBA) per zone

A Zone is part of a zoneset .

A Zoneset is a collection of zones in a single fabric.

A Zoneset requires activation in order to be updated.

 

Important:  EMC Recommends single initiator zoning. To reduce the chance of data unavailability in the event that an HBA, switch, or FA Failure,  the host should have at least one primary path and one alternate path to each FA

 

 

4.   

Determine zoning configuration

Follow these steps to determine your zoning configuration:

a.      Determine the FA WWN by entering the following command:

symcfg –sid XXXX list –fa all

b.      Determine the HBA WWN by referencing the OS-specific commands from provisioning a host section.

c.      Determine the number of paths needed.

d.      Determine the Active Zone name.

The operations above must be performed on both fabrics for all FAs and HBAs.

 

5.   

Verify the HBA is logged in

Solutions Enabler offers a command line utility that will verify what is logged in to a specific Symmetrix FA. Use the following command:

 

symmask –sid SymmID –dir 3c –p 0 list logins

 

Where SymmID is the last four numbers of the Symmetrix serial number, 3c is the FA and 0 is the port on the FA.

 

It should also be noted that HBAs in an HP-UX host only show as logged in while there is active I/O.  However, if an entry exists in the login history table, it indicates that the HBA did log into the FA at some point.

 

After verifying that the host is logged in, move on to configuring the host.

 

 

7Table of Contents

 

Setup Solaris Emulex kernel config files and add LUNs

The following procedures specific to Emulex HBAs describe how to add persistent bindings and LUNs to the Solaris kernel config files.

 

·        Adding persistent bindings to Solaris Emulex kernel files

 

Overview

The Emulex driver comes with a utility called lputil to set up persistent bindings (among other functions).

 

To set up persistent bindings, follow the steps below, repeating them for each adapter.

 

 

 

6.   

Type the following command and press Enter:

 

/usr/sbin/lpfc/lputil

 

 

7.   

On the menu that appears select 5. – Persistent Bindings.

 

 

8.   

Select 5. – Bind Automapped Targets.

 

 

9.   

Select an adapter, 0-n, where n is the number of adapters installed in your system.

 

 

10.  

When prompted, Bind all auto-mapped targets? (Y/N) = >, select Y (yes).

 

 

11.  

Select 2. – Bind by port name.

 

 

12.  

Reboot the server by entering the following command:

 

reboot -- -r

 

 

7Table of Contents

 

 

·        Adding LUNs to the Solaris config file for Emulex HBA

 

Overview

This procedure adds LUNs to the Solaris Emulex config file (sd.conf). Before you add LUNs to sd.conf, verify that the HBA and HBA drivers have been installed in the Solaris computer.

 

EMC storage array devices are addressed using Target IDs and LUNs.  The Solaris configuration file /kernel/drv/sd.conf should contain all Targets and LUNs that a user may want to access. Devices accessed with Emulex Fibre Channel adapters and Emulex drivers can be up to 512 targets, with a maximum of 256 LUNs per target. LUN Numbers being 0 – 255.

When editing the file, follow these precautions:

·         Do not delete any original data from this file.

·         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 target and LUN values in decimal format and avoid leading zeros (0) when entering the LUN value.

 

The instructions for dynamically adding new devices is described in the Manual Set – Emulex Documentation Drivers and Software, which can be obtained from http://www.emulex.com/ts/docfc/solframe.htm

 

 

1.   

Make a copy of the kernel

Before editing the current /kernel/drv/sd.conf file, use the following command to make a copy of it in case the file is lost or errors are made:

 

cp /kernel/drv/sd.conf /kernel/drv/sd.conf.bak

 

 

2.   

Modify the /kernel/drv/sd.conf file

The default sd.conf file contains entries for LUN 0 only. Therefore, 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.

 

Devices accessed through Fibre Channel using the Emulex adapter and Emulex driver are addressed behind a single target ID with multiple LUNs (up to 256).

 

Use the following format to construct entries in the sd.conf file for the target ID and LUN:

name=”sd” class=”scsi” target=”X” lun=”Y”;

This entry will not cancel the effect of any other class=”scsi” entries for target=X and lun=Y.  If the user wants the sd driver to probe only for target=X and lun=Y on adapter lpfcZ, the class=”scsi” entries for target=X and lun=Y must be deleted.

 

Note:  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.

 

The following sample sd.conf file illustrates how to add LUNs, connected to a Fibre Channel HBA, to sd.conf.  The lines in bold are added to the file.  This example adds devices to FA 1 (target 5) and FA 16 (target 6) of a storage system.  You will add devices under the entries for the lpfc parent.

 

# Start lpfc auto-generated configuration -- do NOT alter or

delete this line

# WARNING:  anything you put within this auto-generated section

# will be DELETED if you execute pkgrm to remove the lpfc driver # package.

# You may need to add additional lines to probe for additional

# LUNs or targets. You SHOULD delete any lines that represent

# lpfc targets or LUNs that are not used.

# You should add any new entries between this line

# and the End lpfc auto generated configuration line

# name="sd" class="scsi" target=16 lun=0;

# name="sd" class="scsi" target=17 lun=0;

# A small number of LUNs for a RAID array

# name="sd" class="scsi" target=17 lun=1;

# name="sd" class="scsi" target=17 lun=2;

# name="sd" class="scsi" target=17 lun=3;

name="sd" class="scsi" target=5 lun=0;

name="sd" class="scsi" target=5 lun=1;

name="sd" class="scsi" target=5 lun=2;

name="sd" class="scsi" target=5 lun=3;

name="sd" class="scsi" target=5 lun=4;

name="sd" class="scsi" target=5 lun=5;

 

name="sd" class="scsi" target=6 lun=0;

name="sd" class="scsi" target=6 lun=1;

name="sd" class="scsi" target=6 lun=2;

name="sd" class="scsi" target=6 lun=3;

name="sd" class="scsi" target=6 lun=4;
name="sd" class="scsi" target=6 lun=5;

 

# End lpfc auto-generated configuration -- do NOT alter or delete this line

 

 

3.   

Reboot the host

If you are using Emulex driver 5.x or older, you have to reboot the host for the changes in the sd.conf file to take effect.

 

Driver 6.x or later supports adding new Target IDs and LUNs without rebooting, even if the unassigned Target IDs and LUNs were not in sd.conf at the last system reboot.

 

 

 

 

7Table of Contents

 

 

·        Making LUNs or Devices available to Solaris

 

Overview

This procedure describes how to make the devices or LUNs available or visible to a Solaris host. It describes how to use the format command to label and partition devices.

 

Solaris disk names have the following form:

 

cDtSdLsP

 

where:

  • D is the number of the HBA in the server (controller number).  Solaris assigns these numbers.  For example, the number for an HBA in slot 1 is 0; for an HBA in slot 2, it is 1. Under some conditions, Solaris may assign other numbers to HBAs.
  • S is the target ID (0 through 125) of the SP connected to HBA cD.
  • L is the LUN number (0 through 255).
  • P is the partition number on the target.

 

For example, if the HBA is 1, the target ID of the FA is 0, and the LUN number is 2, you would format the disk by entering the following command:

 

format c1t0d2

 

Note and Caution: If your host system cannot see the devices, it may necessary to do a disk or device scan of the I/O bus with this procedure. If you must, at an appropriate low-peak time in your production environment, apply the necessary operating system native commands, to perform a device scan (discover) to make the devices visible to the host workstation. This might take a few minutes or so to execute. Be sure you follow your operating system specific administrators guide and/or known site procedures for this operation, as scanning devices can cause pauses and crashes to other operational processes running on this host. If you can and prefer, a reboot will also accomplish the same thing (device discovery). The following steps are provided only as a general or possible guide and not meant to supersede your site preferences.

 

 

13.  

Partition and label devices:

The version of the format command that ships with Solaris has an auto-configure option that configures devices (disks) for you, as follows:

 

a. At the root prompt, enter the following command:

format diskname

where diskname is in the form explained in the previous section.  If you use the format command with no arguments, it displays all disks.

b. From the Format menu, select Available Drive Types.

 

c. At the Specify disk type prompt, enter 0 to select the auto-configure option.

d. If you want to partition the disk, use the format command again.

 

e. If you have not labeled the disk, label it using the label command.

 

 

14.  

Create file systems on partitions:

Use the newfs command to make file systems on all newly created partitions. You must specify a character device name to indicate the partition where you want to create the file system.

 

For example, to make a file system on partition 0 on the first disk (device), enter the following command:

 

newfs /dev/rdsk/c1t0d0s0

 

 

15.  

Mount the file systems:

This procedure is the same as for any device used with a Sun operating system.  You must use the mount command to mount the file systems that you have created on your storage system.  Specify the block device name of the partition where you created the file system and the mount point directory. 

 

For example, to mount the file system partition 0 of the first disk configured, at the mount point /temp, enter the following command:

 

mount /dev/dsk/c1t0d0s0 /temp

 

 

 

7Table of Contents