How to find WWN and WWPN of HBA card in Linux
There are several ways to detect the WWN of a Fibre Channel (FC) HBA and their details in Linux/Unix operating systems.
In this article, we will explain you the two best ways to find wwn number in Linux.
What is SAN?
A Storage Area Network (SAN) is a dedicated, independent, high-speed network that provides block-level network access to storage.
A SAN typically consists of cabling, host bus adapters, and SAN switches connected to storage arrays and servers.
SCSI (Small Computer System Interface) is a protocol used to communicate between servers and storage devices.
Purpose of wwn number
To add storage to the host, server has to be mapped with storage device by zoning the WWN of both host and storage in Fabric switch.
Once the zone is created, the storage team can assign LUNs to a specific Linux host, and new LUN can be discovered by scanning the storage LUN ID at the host end.
Popular FC host bus adapters are QLogic, Emulex, Brocade, Cisco, etc.
Some of the important abbreviations are listed below:
- WWN – World Wide Name
- WWNN – World Wide Node Name
- WWPN – World Wide Port Name
- WWID – World Wide Identifier
- OUI – Organizationally Unique Identifier
Checking HBA card information
You can easily identify how many HBA cards are installed in your Linux system by running ‘lspci’ command as shown below:
# lspci -nn | grep -i hba 07:00.0 Fibre Channel [0c04]: QLogic Corp. ISP2532-based 8Gb Fibre Channel to PCI Express HBA [1077:2532] (rev 02) 07:00.1 Fibre Channel [0c04]: QLogic Corp. ISP2532-based 8Gb Fibre Channel to PCI Express HBA [1077:2532] (rev 02) 08:00.0 Fibre Channel [0c04]: QLogic Corp. ISP2532-based 8Gb Fibre Channel to PCI Express HBA [1077:2532] (rev 02) 08:00.0 Fibre Channel [0c04]: QLogic Corp. ISP2532-based 8Gb Fibre Channel to PCI Express HBA [1077:2532] (rev 02)
Check this article on how to find information about other bus devices in Linux.
Method-1: Checking wwn number manually
HBA card wwn number can be manually identified by filtering the associated files under the “/sys” file system.
The files under sysfs provide information about devices, kernel modules, filesystems, and other kernel components, which are typically mounted automatically by the system at /sys.
To check the available HBA ports, use the below file:
# ls -l /sys/class/fc_host total 0 lrwxrwxrwx 1 root root 0 Oct 26 17:10 host1 -> ../../devices/pci0000:00/0000:00:02.0/0000:03:00.0/host1/fc_host/host1 lrwxrwxrwx 1 root root 0 Oct 26 17:10 host2 -> ../../devices/pci0000:00/0000:00:02.2/0000:04:00.0/host2/fc_host/host2 lrwxrwxrwx 1 root root 0 Oct 26 17:10 host3 -> ../../devices/pci0000:00/0000:00:02.2/0000:04:00.0/host2/fc_host/host3 lrwxrwxrwx 1 root root 0 Oct 26 17:10 host4 -> ../../devices/pci0000:00/0000:00:02.2/0000:04:00.0/host2/fc_host/host4
The ‘fc_transport’ determines the correct host, channel, and target information from currently presented LUN:
# ls -lrt /sys/class/fc_transport/ drwxr-xr-x 2 root root 0 May 27 09:40 target7:0:2 drwxr-xr-x 2 root root 0 May 27 09:40 target7:0:1 drwxr-xr-x 2 root root 0 May 27 09:40 target7:0:0 drwxr-xr-x 2 root root 0 May 27 09:40 target5:0:2 drwxr-xr-x 2 root root 0 May 27 09:40 target5:0:1 drwxr-xr-x 2 root root 0 May 27 09:40 target5:0:0
You can verify a list of ‘wwn’ number of the fc host (HBA card) using the following file:
# cat /sys/class/fc_host/host?/port_name 0x500143802426baf2 0x500143802426baf3 0x500143802426baf4 0x500143802426baf5
Use the following file to check a specific fc host wwn number:
# cat /sys/class/fc_host/host1/node_name 0x500143802426baf2
To find the status of HBA ports, use the below file (online/offline):
# more /sys/class/fc_host/host?/port_state :::::::::::::: /sys/class/fc_host/host1/port_state :::::::::::::: Online :::::::::::::: /sys/class/fc_host/host2/port_state :::::::::::::: Online :::::::::::::: /sys/class/fc_host/host3/port_state :::::::::::::: Online :::::::::::::: /sys/class/fc_host/host4/port_state :::::::::::::: Online
Method-2: Checking wwn number using systool command
The systool is a tool that uses APIs provided by libsysfs to gather information. It allows you to view system device information by bus, class, and topology.
When you run systool without parameters, it will present all available bus types, device classes, and root devices.
How to install systool in Linux
systool can be easily installed from the distribution official repository.
For RHEL/CentOS 6/7 systems, use the yum command to install systool:
$ sudo yum install -y sysfsutils
For RHEL/CentOS 8 and Fedora systems, use the dnf command to install systool:
$ sudo dnf install -y sysfsutils
Once the sysfsutils package is installed on the Linux system, run the following command to find the WWN number of fc host:
# systool -c fc_host -v | grep port_name port_name = "0x500143802426baf2" port_name = "0x500143802426baf3" port_name = "0x500143802426baf4" port_name = "0x500143802426baf5"
Run the following command to check the state of HBA ports:
# systool -c fc_host -v | grep port_state port_state = "Online" port_state = "Online" port_state = "Online" port_state = "Online"
If you want to check wwn number of a specific fc host , run the following command:
# systool -c fc_host -v -d host2 | grep port_name
Conclusion
In this guide, we have shown you 2 simple methods to find WWN, WWPN of HBA card and the status of HBA ports in Linux.
If you have any questions or feedback, feel free to comment below.
转载自:
https://www.2daygeek.com/how-to-find-wwn-wwnn-wwpn-number-of-hba-card-in-linux/