How to collect Fibre Channel configuration information

From Wiki-UX.info
Jump to: navigation, search


Abstract[edit]

This article presents standard commands useful to gather information on the configuration of Fibre Channel attached devices on HP-UX Operating Environment.

Check the available Fibre Channel HBA[edit]

Use ioscan to verify the available Fibre Channel Host Bus Adapters.

Example:

# ioscan -fnkC fc
Class     I  H/W Path    Driver S/W State   H/W Type     Description
===================================================================
fc        0  1/0/2/1/0   td   CLAIMED     INTERFACE    HP Tachyon XL2 Fibre Channel  Mass Storage Adapter
                        /dev/td0
fc        1  1/0/14/1/0  fcd  CLAIMED     INTERFACE    HP A6826-60001 2Gb DualPort  PCI/PCI-X Fibre Channel Adapter (FC Port 1)
                        /dev/fcd1
fc        2  1/0/14/1/1  fcd  CLAIMED     INTERFACE    HP A6826-60001 2Gb Dual Port PCI/PCI-X Fibre Channel Adapter (FC Port 2)
                        /dev/fcd2

Using fcmsutil to check remote ports[edit]

With the fcmsutil get remote all command you can verify the remote port state. Remote ports are those physical or logical ports that the remote device ( NAS, JBOD) uses to connect to the Fibre Channel network. Take notice of the target state. Accesible NPORT should display DSM_READY or DVS_READY.

Normal output example:

# fcmsutil /dev/fcd1 get remote all

                    Target N_Port_id is = 0x610813
                           Target state = DSM_READY
                          Symbolic Name = HSV100 - EVA3000 - CR0A3E
                              Port Type = N_PORT
                          FCP-2 Support = NO
            Target Port World Wide Name = 0x50001fe150033d59
            Target Node World Wide Name = 0x50001fe150033d50

Common Service parameters (all values shown in hex):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
         Common Features : 8800                     RO_Bitmap: 1
             Total Conseq: ff

Class 3 Service parameters (all values shown in hex):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     Open Sequences/Exchg: 1                           Conseq: ff
  Recipient Control Flags: 0                             Rxsz: 800




                    Target N_Port_id is = 0x610913
                           Target state = DSM_READY
                          Symbolic Name = HSV100 - EVA3000 - CR0A3E
                              Port Type = N_PORT
                          FCP-2 Support = NO
            Target Port World Wide Name = 0x50001fe150033d5d
            Target Node World Wide Name = 0x50001fe150033d50

Common Service parameters (all values shown in hex):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
         Common Features : 8800                     RO_Bitmap: 1
             Total Conseq: ff

Class 3 Service parameters (all values shown in hex):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     Open Sequences/Exchg: 1                           Conseq: ff
  Recipient Control Flags: 0                             Rxsz: 800

Misconfigure SAN authentication example:

In this example, the Remote N Port is visible,

# fcmsutil /dev/fcd0 get remote all
                    Target N_Port_id is = 0x0a0000
                           Target state = DSM_UNOPENED
                          Symbolic Name = HP      NS E1200-320    5936
                              Port Type = N_PORT
                          FCP-2 Support = YES
            Target Port World Wide Name = 0x100000e002235d97
            Target Node World Wide Name = 0x100000e002035d97

Common Service parameters (all values shown in hex):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
         Common Features : c800                     RO_Bitmap: fe
             Total Conseq: ff
Class 3 Service parameters (all values shown in hex):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     Open Sequences/Exchg: 1                           Conseq: ff
  Recipient Control Flags: 0                             Rxsz: 800
...

Using fcdlist to list LUNS per HBA[edit]

# fcdlist

/dev/fcd1 1/0/14/1/0.97.8.255.1.3.0 fcd_vbus 0x610813
        CLAIMED DEVICE HP HSV100 /dev/rscsi/c7t3d0

/dev/fcd1 1/0/14/1/0.97.9.255.1.3.0 fcd_vbus 0x610913
        CLAIMED DEVICE HP HSV100 /dev/rscsi/c9t3d0

/dev/fcd1 1/0/14/1/0.97.8.19.0 fcd_vbus 0x610813
        CLAIMED DEVICE HP HSV100 /dev/rscsi/c6t0d0
        CLAIMED DEVICE HP HSV100 1/0/14/1/0.97.8.19.0.0.1
        CLAIMED DEVICE HP HSV100 1/0/14/1/0.97.8.19.0.0.2
        CLAIMED DEVICE HP HSV100 1/0/14/1/0.97.8.19.0.0.3
        CLAIMED DEVICE HP HSV100 1/0/14/1/0.97.8.19.0.0.4
        CLAIMED DEVICE HP HSV100 1/0/14/1/0.97.8.19.0.0.6
        CLAIMED DEVICE HP HSV100 1/0/14/1/0.97.8.19.0.0.7
        CLAIMED DEVICE HP HSV100 1/0/14/1/0.97.8.19.0.1.0
        CLAIMED DEVICE HP HSV100 1/0/14/1/0.97.8.19.0.1.1
        CLAIMED DEVICE HP HSV100 1/0/14/1/0.97.8.19.0.1.2
        CLAIMED DEVICE HP HSV100 1/0/14/1/0.97.8.19.0.1.3

/dev/fcd1 1/0/14/1/0.97.9.19.0 fcd_vbus 0x610913
        CLAIMED DEVICE HP HSV100 /dev/rscsi/c8t0d0
        CLAIMED DEVICE HP HSV100 1/0/14/1/0.97.9.19.0.0.1
        CLAIMED DEVICE HP HSV100 1/0/14/1/0.97.9.19.0.0.2
        CLAIMED DEVICE HP HSV100 1/0/14/1/0.97.9.19.0.0.3
        CLAIMED DEVICE HP HSV100 1/0/14/1/0.97.9.19.0.0.4
        CLAIMED DEVICE HP HSV100 1/0/14/1/0.97.9.19.0.0.6
        CLAIMED DEVICE HP HSV100 1/0/14/1/0.97.9.19.0.0.7
        CLAIMED DEVICE HP HSV100 1/0/14/1/0.97.9.19.0.1.0
        CLAIMED DEVICE HP HSV100 1/0/14/1/0.97.9.19.0.1.1
        CLAIMED DEVICE HP HSV100 1/0/14/1/0.97.9.19.0.1.2
        CLAIMED DEVICE HP HSV100 1/0/14/1/0.97.9.19.0.1.3

Check the remote N_Ports[edit]

for fc in $(ioscan -fnkC fc | grep "/dev" | awk '{print $1}')
do
echo $fc
fcmsutil $fc get remote all
done | grep -e N_Port_id -e td -e fc

for fc in $(ioscan -fnkC fc | grep "/dev" | awk '{print $1}')
do
echo $fc
fcmsutil $fc
done | grep -e  Local N_Port_id -e td -e fc

References[edit]

Authors[edit]