https://access.redhat.com/articles/17054
Updated 2018年十一月14日00:20 -
Release Found: Red Hat Enterprise Linux 5, 6, 7
Problem
- When a system is connected to multiple SANs of the same type it is hard to tell what disk is on what SAN, or what disk, tape, changer, and other scsi devices are served by which storage processor port.
- How do I find the port_name(WWPN) and node_name(WWNN) of a configured HBA in Red Hat Enterprise Linux ?
- How can I determine which disks and scsi devices are behind which storage port wwn?
- How to check HBA host and its corresponding WWPN?
- How do I lookup WWN of installed HBAs?
- How do I locate the world wide number of an hba WWPN (world wide port name)?
- How do I locate the world wide name of an hba?
- How do I find the WWPN and WWNN (world wide node name) of attached storage ports?
- How do I find the WWID (world wide identifier) of attached disks and other scsi devices?
Resolution
Although no supported tool exists to create a full storage topology view on SAN configurations, simple programs or scripts can be written that integrates the information available within the kernel into different useful forms and reports.
The following describes commands that can be used to retrieve various wwn and identifiers associated with storage and how to combine them in useful ways.
The command route description from host to a san storage disk, or other type of scsi device, that an io command takes consists of the following information:
- kernel assigned scsi address plus sdN and sgN names
- HBA wwnn and wwpn (if fabric: port identifier)
- switch port wwn that the hba is attached to (if fabric)
- Storage wwnn and wwpn (if fabric: port identifier)
- Disk (or other scsi device) WWID
Kernel Device IDs[1] HBA WWNs/IDs[2] Switch WWN[3] Storage WWNs/IDs[4] Device WWN[5]
---------------------------- --------------------- --------------------- --------------------- -------------------------
scsi addr : h:b:t:l node name : wwn/wwnn fabric name: wwn/wwpn node name : wwn/wwnn lun number: wwn/wwid
device name: /dev/sdN port name : wwn/wwpn port name : wwn/wwpn lun id : wwn/wwid
sg name : /dev/sgN san port id: xx.xx.xx san port id: xx.xx.xx
On Red Hat Enterprise Linux 5, 6, and 7 almost all the kernel to storage route information is stored in /sys
and can be found independently of the Fibre Channel driver in use. The only exception is the disk wwid itself - that isn't stored in /sys
but can be found within the output of multipath -ll
output.
For example here's some information put together from sysfs and multipath command output information.
#SCSI[1] HBA[2] Fabric[3] Storage[4]
#Addr Luns wwnn wwpn portid wwn wwnn wwpn portid
#------------- ---- ------------------:------------------:-------- ------------------ ------------------:------------------:--------
8:0:1:- 9 0x20000024ff2254bf 0x21000024ff2254bf 0x030b00 0x100000053367f20d 0x50014380113622b0 0x50014380113622b9 0x020c00
#Addr Paths WWID[5] DevName SG Name Serial Number
#------------ ----- ------------------------------------- ---------- ------------- -------------------------
8:0:1:1 4 60014380125989a10000400000270000 /dev/sdj /dev/sg12 PAXPVG79S0D06V
8:0:1:2 4 60014380125989a100004000007f0000 /dev/sdk /dev/sg13 PAXPVG79S0D06V
8:0:1:3 4 60014380125989a10000400000830000 /dev/sdl /dev/sg14 PAXPVG79S0D06V
8:0:1:4 4 60014380125989a100004000013a0000 /dev/sdm /dev/sg15 PAXPVG79S0D06V
8:0:1:5 4 60014380125989a10000400001280000 /dev/sdn /dev/sg16 PAXPVG79S0D06V
8:0:1:6 4 60014380125989a100004000012c0000 /dev/sdo /dev/sg17 PAXPVG79S0D06V
8:0:1:7 4 60014380125989a10000400001300000 /dev/sdp /dev/sg18 PAXPVG79S0D06V
8:0:1:8 4 60014380125989a100004000013e0000 /dev/sdq /dev/sg19 PAXPVG79S0D06V
8:0:1:9 4 60014380125989a10000400001600000 /dev/sdr /dev/sg20 PAXPVG79S0D06V
The following information has been provided by Red Hat, but is outside the scope of coverage of the posted Service Level Agreements and support procedures. The information is provided as-is and any configuration settings or installed applications made from the information in this article could make the Operating System unsupported by Red Hat Global Support Services. The intent of this article is to provide information to accomplish the system's needs. Use of the information in this article at the user's own risk.
Source for the program that generated the above output is available at 'mapdevs' source but is for illustrative purposes only and, per the above, is provided as-is and is unsupported. The output is from
./mapdevs -wpx
.
For the above data this is a partial map of scsi host8 (the 8:0:1 is h:c:t:* scsi address with the 'h' being the scsi host number, aka host8 in this case). Its partial because there is also a 8:0:0:* route to devices for this host. In ascii art the route to a storage device is:
+--------------------------------+ [1]
| Devices |
| /dev/sdj /dev/sdg12 8:0:1:1 |
| /dev/sdk /dev/sdg13 8:0:1:2 |
| : |
| |
+--------------------------------+
|
v
+------------------------------+ [2]
| HBA (host 8) |
| wwnn: 0x20000024ff2254bf |
| wwpn: 0x21000024ff2254bf |
| port id: 0x030b00 |
| |
+------------------------------+
|
| +----------------------------------+ [3]
+------> | Switch |
| port wwn: 0x100000053367f20d |
| |
+----------------------------------+
| | [4]
| | +--------------------------------------+
| +------> | Storage (target 1) |
| | wwnn: 0x50014380113622b0 | ------+
| | wwpn: 0x50014380113622b9 | | [5]
| | port id: 0x020c00 | | +------------------------------------------+
| +--------------------------------------+ +---> | Disk (lun 1) |
+---------------------------->| Storage (target 0) | | | wwid: 60014380125989a10000400000270000 |
| wwnn: 0x50014380113622b0 | | +------------------------------------------+
| wwpn: 0x50014380113622bd | ------+
| port id: 0x030c00 |
+--------------------------------------+
So where can we find all the above information?
[1] kernel assigned scsi address plus sdN and sgN names
With the following command, we can determine the mapping between SCSI HBTL addresses and the disks:
NOTE: sg_map is part of sg3_utils package. Plus running sg_map, it is necessary to have the sg module loaded on the system.
# sg_map -x
(output trimmed for clarity)
/dev/sg12 8 0 1 1 0 /dev/sdj (this gives us scsi address (H:B:T:L) of 8:0:1:1, sdN and sgN names of sg12 and sdj)
/dev/sg13 8 0 1 2 0 /dev/sdk
/dev/sg14 8 0 1 3 0 /dev/sdl
/dev/sg15 8 0 1 4 0 /dev/sdm
/dev/sg16 8 0 1 5 0 /dev/sdn
/dev/sg17 8 0 1 6 0 /dev/sdo
/dev/sg18 8 0 1 7 0 /dev/sdp
/dev/sg19 8 0 1 8 0 /dev/sdq
/dev/sg20 8 0 1 9 0 /dev/sdr
:
/dev/sg23 9 0 0 2 0 /dev/sdt
/dev/sg24 9 0 0 3 0 /dev/sdu
/dev/sg25 9 0 0 4 0 /dev/sdv
/dev/sg26 9 0 0 5 0 /dev/sdw
/dev/sg27 9 0 0 6 0 /dev/sdx
/dev/sg28 9 0 0 7 0 /dev/sdy
/dev/sg29 9 0 0 8 0 /dev/sdz
/dev/sg30 9 0 0 9 0 /dev/sdaa
:
An alternative command to provide the same information is the lsscsi -g
command from the lsscsi package.
[2] HBA wwnn and wwpn (if fabric: port identifier)
To find the Fibre Channel addresses of the HBAs on the machine, run the following:
# systool -c fc_host -v
(output trimmed for clarity)
Class Device path = "/sys/class/fc_host/host8" (kernel assigned host name/number)
node_name = "0x20000024ff2254bf" (hba wwnn )
port_name = "0x21000024ff2254bf" (hba wwpn )
port_id = "0x030b00" (fabric port id assigned by the san to this HBA)
Class Device path = "/sys/class/fc_host/host9"
node_name = "0x20000024ff2254be"
port_name = "0x21000024ff2254be"
port_id = "0x010c00"
Alternatively, the information can be found directly within the sysfs tree. For example:
# ls -1c /sys/class/fc_host/host*/*_name 2> /dev/null | xargs -I {} grep -H -v "ZzZz" {} | sort
/sys/class/fc_host/host8/fabric_name:0x100000053367f20d
/sys/class/fc_host/host8/node_name:0x20000024ff2254bf
/sys/class/fc_host/host8/port_name:0x21000024ff2254bf
/sys/class/fc_host/host8/symbolic_name:QLE2562 FW:v5.06.02 DVR:v8.04.00.04.06.3-k
/sys/class/fc_host/host9/fabric_name:0x100000606951c582
/sys/class/fc_host/host9/node_name:0x20000024ff2254be
/sys/class/fc_host/host9/port_name:0x21000024ff2254be
/sys/class/fc_host/host9/symbolic_name:QLE2562 FW:v5.06.02 DVR:v8.04.00.04.06.3-k
# ls -1c /sys/class/fc_host/host*/port_id 2> /dev/null | xargs -I {} grep -H -v "ZzZz" {} | sort
/sys/class/fc_host/host8/port_id:0x030b00
/sys/class/fc_host/host9/port_id:0x010c00
On the system the above data is from we see that this particular machine has two HBAs currently listed as host8
and host9
.
NOTE: these host numbers can change. They can change every time the fibre channel driver is unloaded, reloaded, and can change across reboots. The kernel assigns host numbers in order, but which HBA gets which number depends upon discovery order and when a particular host gets registered with the kernel. The host number is the H-value on H:B:T:L SCSI addressing.
[3] (if fabric: switch port wwn that the hba is attached to)
If the san is a fabric with a switch, then there will be a switch port wwn listed under fabric name within the sysfs tree. To find the Fibre Channel addresses of the switch ports HBAs are connected to, run the following:
# systool -c fc_host -v
(output trimmed for clarity)
Class Device path = "/sys/class/fc_host/host8"
fabric_name = "0x100000053367f20d" (switch port wwn)
Class Device path = "/sys/class/fc_host/host9"
fabric_name = "0x100000606951c582"
Alternatively, the information can be found directly within the sysfs tree. For example:
# ls -1c /sys/class/fc_host/host*/*_name 2> /dev/null | xargs -I {} grep -H -v "ZzZz" {} | sort
/sys/class/fc_host/host8/fabric_name:0x100000053367f20d
/sys/class/fc_host/host8/node_name:0x20000024ff2254bf
/sys/class/fc_host/host8/port_name:0x21000024ff2254bf
/sys/class/fc_host/host8/symbolic_name:QLE2562 FW:v5.06.02 DVR:v8.04.00.04.06.3-k
/sys/class/fc_host/host9/fabric_name:0x100000606951c582
/sys/class/fc_host/host9/node_name:0x20000024ff2254be
/sys/class/fc_host/host9/port_name:0x21000024ff2254be
/sys/class/fc_host/host9/symbolic_name:QLE2562 FW:v5.06.02 DVR:v8.04.00.04.06.3-k
[4] Storage wwnn and wwpn (if fabric: port identifier)
With the following command we can determine the Fibre Channel storage target WWNs for the triplet H:B:T from H:B:T:L SCSI addressing.
# systool -c fc_transport -v
(output trimmed for clarity)
Class Device path = "/sys/class/fc_transport/target8:0:0" (H:B:T scsi address assigned by kernel)
node_name = "0x50014380113622b0" (storage target wwnn)
port_name = "0x50014380113622bd" (storage target wwpn)
port_id = "0x030c00" (fabric port id assigned by the san to this storage port)
Class Device path = "/sys/class/fc_transport/target9:0:0"
node_name = "0x50014380113622b0"
port_name = "0x50014380113622bc"
port_id = "0x010400"
Class Device path = "/sys/class/fc_transport/target8:0:1"
node_name = "0x50014380113622b0"
port_name = "0x50014380113622b9"
port_id = "0x020c00"
Class Device path = "/sys/class/fc_transport/target9:0:1"
node_name = "0x50014380113622b0"
port_name = "0x50014380113622b8"
port_id = "0x010d00"
Just note that there are two H:B:T combinations for each HBA, namely 8:0:0 plus 8:0:1 for host8 and 9:0:0 plus 9:0:1 for host9. This simply means each HBA is connected to a switch and that switch is connected to 2 or more storage ports of which 2 are zoned to be visible to each HBA.
In addition, all available remote ports can be listed via systool -c fc_report_ports -v, whereas fc_transport class only lists storage ports which have luns behind them, fc_report_ports will list all the ports that have been logged into. For example, this can include FCP Initiators (other HBAs) in our zone or storage ports that don't have any luns exported to the host.
Alternatively, the information can be gathered directly from the sysfs tree:
RHEL5:
# ls -1c /sys/class/fc_transport/target*/*_name 2> /dev/null | xargs -I {} grep -H -v "ZzZz" {} | sort
# ls -1c /sys/class/fc_transport/target*/port_id 2> /dev/null | xargs -I {} grep -H -v "ZzZz" {} | sort
RHEL6,7:
# ls -1c /sys/bus/scsi/devices/target*/fc_transport/target*/*_name 2> /dev/null | xargs -I {} grep -H -v "ZzZz" {} | sort
# ls -1c /sys/bus/scsi/devices/target*/fc_transport/target*/port_id 2> /dev/null | xargs -I {} grep -H -v "ZzZz" {} | sort
It is common, but not necessarily universal, that the storage port wwnn is common across all storage ports associated with a give storage system. For example, this output shows the system has two HBAs, with each connected to two storage ports per the H:B:T combinations present within the output:
/sys/class/fc_transport/target8:0:0/node_name:0x50014380113622b0
/sys/class/fc_transport/target8:0:1/node_name:0x50014380113622b0
/sys/class/fc_transport/target9:0:0/node_name:0x50014380113622b0
/sys/class/fc_transport/target9:0:1/node_name:0x50014380113622b0
We can see that the storage wwnn of each storage target is the same (0x50014380113622b0), indicating that all storage ports are in the same storage system. Other ways of telling if the storage system is the same or different include looking at scsi inquiry page 0x80 from the different luns. The returned serial number is often common, reflecting the serial number of the storage system. There may be other methods, including vendor specific, of determining which sets of storage ports (scsi targets) are associated with the same or different storage systems.
The companion storage target wwpn data for the above system shows there are four different storage ports per the different and unique identifiers listed:
/sys/class/fc_transport/target8:0:0/port_name:0x50014380113622bd
/sys/class/fc_transport/target8:0:1/port_name:0x50014380113622b9
/sys/class/fc_transport/target9:0:0/port_name:0x50014380113622bc
/sys/class/fc_transport/target9:0:1/port_name:0x50014380113622b8
So on this system, host8 is connected to two storage ports (0x50014380113622bd and 0x50014380113622b9) and host9 is connected to two different storage ports (0x50014380113622bc and 0x50014380113622b8, but all four storage ports are on the same storage system (wwnn:0x50014380113622b0).
[5] Disk (or other scsi device) WWID
The device WWIDs are not stored within the sysfs tree within RHEL5 or 6. A device WWID can be found using:
- disks only: multipath command (device-mapper-multipath package),
- all scsi devices: sg_inq command (sg3_utils package),
- scsi_id command (RHEL 5,6 only: udev package),
- lsscsi --scsi_id command (RHEL 7 only: lsscsi package),
- or by examing links in /dev/<device-type>/by-id
- <device-type> is "disk", "tape", etc.
- link names are derived fronm the scsi_id command.
The typical place to quickly find these fro disks is within the output of the multipath -ll
command.
disc01 (360014380125989a100004000013a0000) dm-0 HP,HSV300
size=10G features='1 queue_if_no_path' hwhandler='0' wp=rw
|-+- policy='round-robin 0' prio=50 status=active
| |- 8:0:1:4 sdm 8:192 active ready running
| `- 9:0:1:4 sdae 65:224 active ready running
`-+- policy='round-robin 0' prio=10 status=enabled
|- 9:0:0:4 sdv 65:80 active ready running
`- 8:0:0:4 sdd 8:48 active ready running
The highlighted portion is the disk WWID as returned by storage.
Alternatively the device WWID can be found via the sg_inq -p 0x83 /dev/sdN
command:
# sg_inq -p 0x83 /dev/sdm
VPD INQUIRY: Device Identification page
Designation descriptor number 1, descriptor length: 20
designator_type: NAA, code_set: Binary
associated with the addressed logical unit
NAA 6, IEEE Company_id: 0x1438
Vendor Specific Identifier: 0x125989a1
Vendor Specific Identifier Extension: 0x4000013a0000
[0x60014380125989a100004000013a0000]
:
# sg_inq -p 0x83 /dev/sdd
VPD INQUIRY: Device Identification page
Designation descriptor number 1, descriptor length: 20
designator_type: NAA, code_set: Binary
associated with the addressed logical unit
NAA 6, IEEE Company_id: 0x1438
Vendor Specific Identifier: 0x125989a1
Vendor Specific Identifier Extension: 0x4000013a0000
[0x60014380125989a100004000013a0000]
:
Or using the scsi_id -g -u -s /block/sdN
command:
RHEL5:
# scsi_id -g -u -s /block/sdm
360014380125989a100004000013a0000
# scsi_id -g -u -s /block/sdd
360014380125989a100004000013a0000
# scsi_id -g -u -s /class/scsi_tape/st0
360014380125989a100004000013b0000
RHEL6:
# scsi_id --replace-whitespace --whitelisted --device /dev/sdm
360014380125989a100004000013a0000
# scsi_id --replace-whitespace --whitelisted --device /dev/sdd
360014380125989a100004000013a0000
# scsi_id --replace-whitespace --whitelisted --device /dev/st0
360014380125989a100004000013b0000
RHEL7:
On RHEL 7, the scsi_id command does not exist. A partial replacement is lsscsi --scsi_id, but that will only work for disk devices.
# lsscsi --scsi_id -g
[4:0:0:0] disk HP LOGICAL VOLUME 5.70 /dev/sda 3600508b1001c072a93d8825b16500fea /dev/sg1
[4:0:0:1] disk HP LOGICAL VOLUME 5.70 /dev/sdb 3600508b1001c4c98d3b101921097c450 /dev/sg2
[4:0:0:2] disk HP LOGICAL VOLUME 5.70 /dev/sdc 3600508b1001c5096699d2d9dc6993ef2 /dev/sg3
[4:3:0:0] storage HP P410i 5.70 - - /dev/sg0
[8:0:0:5] tape IBM ULT3580-TD4 0104 /dev/st0 -
As will using udevadm info --name
, at least for disks:
# udevadm info --name sda
P: /devices/pci0000:00/0000:00:01.0/0000:04:00.0/host4/target4:0:0/4:0:0:0/block/sda
N: sda
:
E: ID_SCSI_SERIAL=50014380212E90E0
E: ID_SERIAL=3600508b1001c072a93d8825b16500fea
E: ID_SERIAL_SHORT=600508b1001c072a93d8825b16500fea
:
But still for non-disk devices, no scsi_id nor VPD identifier is available directly, only very limited information is captured:
# udevadm info --name sg0
P: /devices/pci0000:00/0000:00:01.0/0000:04:00.0/host4/target4:3:0/4:3:0:0/scsi_generic/sg0
N: sg0
E: DEVNAME=/dev/sg0
E: DEVPATH=/devices/pci0000:00/0000:00:01.0/0000:04:00.0/host4/target4:3:0/4:3:0:0/scsi_generic/sg0
E: MAJOR=21
E: MINOR=0
E: SUBSYSTEM=scsi_generic
In those cases using th sg_inq
command from the sg3_utils
package can be used:
# # sg_inq -p 0x83 /dev/sg0
VPD INQUIRY: Device Identification page
Designation descriptor number 1, descriptor length: 20
designator_type: vendor specific [0x0], code_set: ASCII
associated with the addressed logical unit
vendor specific: 50014380212E90E0
Designation descriptor number 2, descriptor length: 8
designator_type: vendor specific [0x0], code_set: Binary
associated with the addressed logical unit
vendor specific:
00 00 00 00
Note that in the above case, the identifier is a vendor specific ascii string. By its very nature, vendor specific strings are not guaranteed to be world wide unique and therefore are no WWIDs as the term is commonly used. Whereas in the following example for a scsi tape device, the identifier conforms to NAA format which includes an IEEE OUI (Organizationally Unique Identifier) making this identifier world wide unique:
# sg_inq -p 0x83 /dev/st0
VPD INQUIRY: Device Identification page
Designation descriptor number 1, descriptor length: 38
designator_type: T10 vendor identification, code_set: ASCII
associated with the addressed logical unit
vendor id: IBM
vendor specific: ULT3580-TD4 XYZZY_A5
Designation descriptor number 2, descriptor length: 12
designator_type: NAA, code_set: Binary
associated with the addressed logical unit
NAA 5, IEEE Company_id: 0x22334
Vendor Specific Identifier: 0x4ab000500
[0x50223344ab000500]
Another method available on all RHEL versions is the use or examination of links in /dev//by-id:
$ ls -l /dev/disk/by-id | grep sdm
lrwxrwxrwx 1 root root 9 Jul 24 15:52 scsi-360014380125989a100004000013a0000 -> ../../sdm
$ ls -l /dev/tape/by-id | grep st0
lrwxrwxrwx 1 root root 9 Jul 24 15:52 scsi-360014380125989a100004000013b0000 -> ../../st0
All the above methods depend on the output from the scsi INQUIRY command (page 0x83, Device identification page). You can specify scsi_id options "-p 0x83" on RHEL5 and --page 0x83" on RHEL6 to specify the INQUIRY page to use, although the command will use the best available option by default.
See "How are SCSI ID generated?" for information on how scsi_id
forms a scsi unique identifier within the linux host.
Putting it all together
Using the commands and information from (1)-(5) a mapping from disk H:B:T:L SCSI addresses thru device WWID can be generated.
Lets pick /dev/sdd as an example:
1. (kernel ) /dev/sg5 8 0 0 4 0 /dev/sdd
2. (hba ) port_name = "0x21000024ff2254bf"
3. (switch ) skipping this for now...
4. (storage) port_name = "0x50014380113622bd"
5. (device ) multipath wwid = 60014380125989a100004000013a0000
Resulting in:
scsi-addr devn hba/wwpn storage target/wwpn disk/wwid
-------------- ----- ----------------------- ----------------------- ---------------------------------------
8:0:0:4 sdd 8:0x21000024ff2254bf 0:0x50014380113622bd 4:60014380125989a100004000013a0000
| | | ^ ^ ^
+--- - -----------------+ | |
| | | |
| +-----------------------------------------+ |
| |
+-------------------------------------------------------------------+
Doing the above for all disks associated with
scsi-addr devn hba/wwpn storage target/wwpn disk/wwid
-------------- ----- ----------------------- ----------------------- ---------------------------------------
8:0:1:4 sdm 8:0x21000024ff2254bf 1:0x50014380113622b9 4:60014380125989a100004000013a0000
9:0:1:4 sdae 9:0x21000024ff2254be 1:0x50014380113622b8 4:60014380125989a100004000013a0000
9:0:0:4 sdv 9:0x21000024ff2254be 0:0x50014380113622bc 4:60014380125989a100004000013a0000
8:0:0:4 sdd 8:0x21000024ff2254bf 0:0x50014380113622bd 4:60014380125989a100004000013a0000
NOTE: the above is part of the output from ./mapdevs -wt.
Additional information is available just about the HBA itself, such as the pci address of the hba that was assigned scsi hostN, driver version (if available), hba firmware level (if available), and state information as follows (in the following example we're interested in just scsi8, pci address 0e:00.0).
#scsi_addr name version f/w device
#----------- ---------------------- ---------------------- ------------------------- ----------------------------------------------
:
8:*:*:* lpfc 0:11.2.0.6 2.82A4 (Z3F2.82A4), sli-3 /sys/devices/pci0000:00/0000:00:07.0/0000:0e:00.0/host8
9:*:*:* lpfc 0:11.2.0.6 2.82A4 (Z3F2.82A4), sli-3 /sys/devices/pci0000:00/0000:00:07.0/0000:0e:00.1/host9
# --------- PCI -------------
# subsystem model model
#scsi_addr vendor device vendor device name description
#----------- ------ ------ ------ ------ ------------ --------------------------------------------------
:
8:*:*:* 0x10df 0xfe00 0x10df 0xfe00 LPe11002-M4 Emulex LPe11002-M4 4Gb 2port FC: PCIe SFF HBA
9:*:*:* 0x10df 0xfe00 0x10df 0xfe00 LPe11002-M4 Emulex LPe11002-M4 4Gb 2port FC: PCIe SFF HBA
#scsi_addr name speed state symbolic_name port_type
#----------- ------------------ -------- -------- ---------------------------------------------- -----------------------------------------------
:
8:*:*:* lpfc 4 Gbit Online Emulex LPe11002-M4 FV2.82A4 DV11.2.0.6 HN:hostname OS:Linux NPort (fabric via point-to-point)
9:*:*:* lpfc 4 Gbit Online Emulex LPe11002-M4 FV2.82A4 DV11.2.0.6 HN:hostname OS:Linux NPort (fabric via point-to-point)
:
.
#SCSI HBA Fabric Storage Port
#Addr Luns wwnn wwpn portid wwn wwnn wwpn portid info
#------------- ---- ------------------/------------------/-------- ------------------ ------------------/------------------/--------/---------
8:0:0:- 58 0x20000090fa16f41e 0x10000090fa16f41e 0x010b00 0x100000051e9036e4 0x20000024ff278fae 0x21000024ff278fae 0x010000 FCP Target
8:0:x:- - 0x20000090fa16f41e 0x10000090fa16f41e 0x010b00 0x100000051e9036e4 0x100000051e9036e4 0x200b00051e9036e4 0xfffffe Fabric Port
8:0:x:- - 0x20000090fa16f41e 0x10000090fa16f41e 0x010b00 0x100000051e9036e4 0x100000051e9036e4 0x21fc00051e9036e4 0xfffffc Directory Server
8:0:x:- - 0x20000090fa16f41e 0x10000090fa16f41e 0x010b00 0x100000051e9036e4 0x2001001b323b1015 0x2101001b323b1015 0x010800 FCP Initiator
8:0:x:- - 0x20000090fa16f41e 0x10000090fa16f41e 0x010b00 0x100000051e9036e4 0x2000001b321b1015 0x2100001b321b1015 0x010c00 FCP Initiator
8:0:x:- - 0x20000090fa16f41e 0x10000090fa16f41e 0x010b00 0x100000051e9036e4 0x200000e08b87de9a 0x210000e08b87de9a 0x010200 FCP Initiator
8:0:x:- - 0x20000090fa16f41e 0x10000090fa16f41e 0x010b00 0x100000051e9036e4 0x2000001b321b6814 0x2100001b321b6814 0x010a00 FCP Initiator
8:0:x:- - 0x20000090fa16f41e 0x10000090fa16f41e 0x010b00 0x100000051e9036e4 0x2001001b323b6814 0x2101001b323b6814 0x010900 FCP Initiator
9:0:0:- 58 0x20000090fa16f41f 0x10000090fa16f41f 0x050b00 0x100000051e902974 0x20000024ff278faf 0x21000024ff278faf 0x050000 FCP Target
9:0:x:- - 0x20000090fa16f41f 0x10000090fa16f41f 0x050b00 0x100000051e902974 0x100000051e902974 0x200b00051e902974 0xfffffe Fabric Port
9:0:x:- - 0x20000090fa16f41f 0x10000090fa16f41f 0x050b00 0x100000051e902974 0x100000051e902974 0x21fc00051e902974 0xfffffc Directory Server
9:0:x:- - 0x20000090fa16f41f 0x10000090fa16f41f 0x050b00 0x100000051e902974 0x200100e08ba7de9a 0x210100e08ba7de9a 0x050200 FCP Initiator
NOTE: the above is part of the output from ./mapdevs -pH.
Additional Resources
- How do you map between scsi address <0 0 0 0> (or 0:0:0:0) and scsi device name (sda)?
- How to check SCSI device's storage path with the tool lsscsi?
- Understanding SCSI addressing on Red Hat Enterprise Linux
- How do I rescan the SCSI bus to add or remove a SCSI device without rebooting the computer?
- How are SCSI ID generated?
- How to check and measure FC HBA utilization?
- How to check HBA host and its corresponding WWPN on RHEL 5 or RHEL6?
- How to know the remote storage port WWPN to which the system is connected?
- How can I find the WWN (World Wide Name) of my QLogic card?