云网牛站
所在位置:首页 > Linux命令 > 在Linux上从sysfs中或使用systool命令找到HBA卡的WWN号

在Linux上从sysfs中或使用systool命令找到HBA卡的WWN号

2020-09-06 16:19:08作者:叶云稿源:云网牛站

在Linux/Unix操作系统中,有方法或使用命令来确定光纤通道(FC)HBA的WWN(WWNN、WWPN、WWID)及其详细信息,可通过从sysfs中或使用systool命令找到HBA卡信息。

在Linux上从sysfs中或使用systool命令找到HBA卡的WWN号

 

什么是SAN?

大多数IT行业使用SAN(存储区域网络)和fas I/O来获得更高的性能。

SAN是一种高速网络,可在存储设备和服务器之间建立连接,从而提供更好的性能,它通过HBA连接到光纤通道(FC)。

SCSI(小型系统系统接口)是用于在服务器和存储设备之间进行通信的协议。

 

为什么需要一个WWN号?

如果任何Linux服务器或系统通过光纤通道(FC)HBA卡连接到一个或多个SAN交换机,则存储团队必须在光纤通道交换机上创建分区,以将存储分配和取消分配给特定的Linux主机。

如果您需要Linux主机的其他存储,则必须为存储团队提供WWN号,然后他们将根据WWN号分配新的LUN。

您必须扫描SCSI主机以查找由存储团队分配的新LUNs。

著名的FC主机总线适配器是QLogic、Emulex、Brocade、Cisco等。

一些重要的关键说明:

WWN:World Wide Name(全球通用名称)。

WWNN:World Wide Node Name(全球节点名称)。

WWPN:World Wide Port Name(全球端口名称)。

WWID:World Wide Identifier(全球标识符)。

OUI:Organizationally Unique Identifier(组织唯一标识符)。

 

如何查找在Linux系统上安装的HBA卡的列表

您可以通过运行lspci命令轻松确定Linux系统上安装了多少HBA卡:

# 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)

参考:lspci命令_Linux lspci命令使用详解:显示当前主机的所有PCI总线信息

 

方法1、在Linux中手动识别HBA卡信息:找到HBA卡的WWN号

您可以通过从sysfs中列出来找到HBA卡信息,如下所示。

转到以下路径检查可用的HBA端口:

# ls -l /sys/class/fc_host

total 0

lrwxrwxrwx 1 root root 0 Aug 26 17:10 host1 -> ../../devices/pci0000:00/0000:00:02.0/0000:03:00.0/host1/fc_host/host1

lrwxrwxrwx 1 root root 0 Aug 26 17:10 host2 -> ../../devices/pci0000:00/0000:00:02.2/0000:04:00.0/host2/fc_host/host2

lrwxrwxrwx 1 root root 0 Aug 26 17:10 host3 -> ../../devices/pci0000:00/0000:00:02.2/0000:04:00.0/host2/fc_host/host3

lrwxrwxrwx 1 root root 0 Aug 26 17:10 host4 -> ../../devices/pci0000:00/0000:00:02.2/0000:04:00.0/host2/fc_host/host4

转到以下路径查看Linux系统上使用的HBA端口:

# 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

转到以下路径以在Linux系统上找到fc主机(HBA卡)的wwn号:

# cat /sys/class/fc_host/host?/port_name

0x500143802426baf2

0x500143802426baf3

0x500143802426baf4

0x500143802426baf5

如果要检查特定的fc主机wwn编号,请使用以下格式:

# cat /sys/class/fc_host/host1/node_name

0x500143802426baf2

转到以下路径检查HBA端口的状态:

# 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

 

方法2、使用systool命令在Linux中识别HBA卡信息:找到HBA卡的WWN号

systool是使用libsysfs提供的API来收集信息的工具,它允许您按总线、类和拓扑查看系统设备信息。

参考:systool命令_Linux systool命令使用详解:显示基于总线、类与拓扑显示系统中设备的信息

在不带参数的情况下运行systool时,将显示所有可用的总线类型、设备类和根设备。

下面将在Linux系统上安装systool,可以从发行版官方存储库轻松安装systool。

对于RHEL、CentOS 6/7系统,请使用yum命令安装systool:

$ sudo yum install -y sysfsutils

对于RHEL/CentOS 8和Fedora系统,请使用dnf命令安装systool:

$ sudo dnf install -y sysfsutils

在Linux系统上安装sysfsutils软件包后,运行以下命令以查找fc主机的WWN号:

# systool -c fc_host -v | grep port_name

port_name           = "0x500143802426baf2"

port_name           = "0x500143802426baf3"

port_name           = "0x500143802426baf4"

port_name           = "0x500143802426baf5"

运行以下命令以检查HBA端口的状态:

# systool -c fc_host -v | grep port_state

port_state          = "Online"

port_state          = "Online"

port_state          = "Online"

port_state          = "Online"

如果要检查特定的fc主机wwn编号,请运行以下命令:

# systool -c fc_host -v -d host2 | grep port_name

 

相关主题

用/sys类文件或rescan-scsi-bus.sh脚本扫描新的LUNs和SCSI磁盘

Linux命令子频道
精选文章
热门文章