Finding FC SAN LUN IDs on Solaris

In this short post I go through a few steps to quickly map back Fibre Channel (FC) Host Bus Adapter (HBA) World Wide Node Names (WWN)s with Solaris OS raw disk devices and the corresponding Logical Unit Number Identifiers (LUN Id) on the remote storage disk array.

Matching the HBA ports with Disk Controllers

The first step is to determine which ports are assigned to which OS controllers.

fcinfo hba-port -l

Here the fcinfo command is used to list the HBA ports detected on the hosts. The -l option provides the details for the controllers.

Output will be similar to the below.

        OS Device Name: /dev/cfg/c8
        Manufacturer: ...
        Model: XXX-XXXX-XX
        Driver Name: XXX
        State: online
        Supported Speeds: 2Gb 4Gb 8Gb
        Current Speed: 8Gb

Our controller here will be identified on Solaris as c8

Printing the LUNs visible from an HBA port

Once you have identified the port being zoned using the WWN above. Check the host mapping rules on the disk array and FC switches to ensure the zoning on the SAN is correct. To verify from the host side that the right LUNs are mapped use the below.

fcinfo remote-port -p 21XXXXXXXXXXXX6 -s
        Active FC4 Types: SCSI
        SCSI Target: yes
        LUN: 5
          Vendor: ...
          Product: ....
          OS Device Name: ... /dev/rdsk/c8t...s2

-p option restricts the printing of the remote information to a specific port and -s gives us the LUN details. The LUN seen on the port is LUN ID: 5 associated with disk device /dev/rdsk/c8t...s2.

Configuring the LUNs

The disks presented to the Solaris server can then be configured using the cfgadm and format. Use cfgadm to ensure the device is seen as online and format to verify that the storage size is in alignment with the storage allocated on the disk array.

Further Reading

Paul Eggleton's Weblog - Disks; cfgadm, fcinfo and LUN mapping on Solaris

fcinfo Man Page