在Linux系统中,WWN(World Wide Name)是存储网络中设备的唯一标识符,广泛用于光纤通道(Fibre Channel)、iSCSI等场景,可帮助识别存储设备、HBA卡(主机总线适配器)等,便于多路径配置、故障排查和存储管理,不同类型设备的WWN号查看方法略有差异,以下分场景详细介绍。
本地磁盘(SATA/SAS/NVMe)的WWN号查看
对于本地连接的SATA、SAS或NVMe硬盘,WWN号通常可通过系统工具或sysfs文件系统获取。
使用lsblk
命令
lsblk
(list block devices)是Linux中列出块设备的常用工具,支持通过-o
参数指定显示WWN号(需util-linux
包支持,默认已安装多数发行版)。
lsblk -o NAME,WWN
输出示例中,WWN
列即为设备的全球名称,如0x5000c50015a7b5f2
,若显示为空,可能是设备不支持WWN或驱动未正确加载。
使用smartctl
工具
smartctl
(来自smartmontools
包)可读取硬盘的SMART信息,包含WWN号(需硬盘支持)。
# 安装工具(Ubuntu/Debian) sudo apt install smartmontools # 查看WWN smartctl -i /dev/sda | grep "WWN"
输出示例:WWN: 5000c50015a7b5f2
(部分硬盘可能显示为”WWN (NA)”,表示不支持)。
通过sysfs文件系统
Linux将设备信息存储在/sys
目录下,本地磁盘的WWN号通常位于/sys/block/sdX/device/wwid
(SAS)或/sys/block/nvmeXnY/device/wwid
(NVMe)。
# SATA/SAS硬盘 cat /sys/block/sda/device/wwid # NVMe硬盘 cat /sys/block/nvme0n1/device/wwid
输出格式为"0x5000c50015a7b5f2"
或"naa.5000c50015a7b5f2"
(naa表示WWN格式)。
光纤通道HBA卡的WWN号查看
光纤通道设备(如QLogic、Emulex HBA卡)的WWN号可通过专用工具或sysfs获取。
使用fcinfo
工具
fcinfo
(来自sg3-utils
包)是光纤通道设备信息查看工具,需root权限。
# 安装工具(CentOS/RHEL) sudo yum install sg3-utils # 查看HBA卡WWN fcinfo hba-port
输出中Port WWN
(PWWN)为HBA卡全球名称,Node WWN
(NWWN)为节点名称,均为16位16进制值。
通过sysfs文件系统
光纤通道HBA卡信息存储在/sys/class/fc_host
下,按hostX
目录区分不同HBA卡。
# 查看HBA卡PWWN(端口WWN) cat /sys/class/fc_host/host0/port_name # 查看HBA卡NWWN(节点WWN) cat /sys/class/fc_host/host0/node_name
输出示例:port_name: 10:00:00:00:11:22:33:44
(冒号分隔的16进制,等同于0x1000000000112233
)。
iSCSI设备的WWN号查看
iSCSI设备(通过网络连接的存储)的WWN号可通过iSCSI管理工具或sysfs获取。
使用iscsiadm
工具
iscsiadm
是iSCSI会话管理工具,可查看会话中的设备信息。
# 查看活跃iSCSI会话 iscsiadm -m session -P 3 | grep "WWN"
输出中可能包含目标设备的WWN(如Target WWN: 0x5000c50015a7b5f2
)。
通过sysfs文件系统
iSCSI设备的WWN号通常与本地磁盘类似,存储在/sys/block/sda/device/wwid
,需确保iSCSI会话已建立。
多路径设备的WWN号查看
使用多路径(如dm-multipath)的存储设备,可通过multipath
工具查看WWN信息。
# 安装多路径工具(CentOS/RHEL) sudo yum install device-mapper-multipath # 查看多路径设备的WWN multipath -ll
输出中wwid
列即为设备的全局唯一标识符,通常与WWN号一致(如36001405d328d328f
)。
不同设备类型WWN查看方法总结
设备类型 | 适用命令/工具 | 命令示例 | 输出说明 |
---|---|---|---|
SATA/SAS硬盘 | lsblk | lsblk -o NAME,WWN |
显示设备名和WWN号 |
SATA/SAS硬盘 | smartctl | smartctl -i /dev/sda | grep WWN |
输出硬盘详细信息中的WWN |
光纤通道HBA卡 | fcinfo | fcinfo hba-port |
显示HBA卡的PWWN和NWWN |
光纤通道HBA卡 | sysfs | cat /sys/class/fc_host/host0/port_name |
直接读取HBA卡端口WWN |
iSCSI设备 | iscsiadm | iscsiadm -m session -P 3 | grep WWN |
显示iSCSI目标设备的WWN |
多路径设备 | multipath | multipath -ll |
显示多路径设备的wwid(含WWN信息) |
注意事项
- 权限要求:多数命令需root权限执行(如
fcinfo
、multipath
),可通过sudo
提升权限。 - 驱动支持:设备需正确加载驱动(如光纤卡需
lpfc
或qla2xxx
驱动),否则无法读取WWN。 - WWN格式:WWN通常为8字节16进制值,格式可能为
0x
前缀(如0x5000c50015a7b5f2
)或纯16进制(如5000c50015a7b5f2
)。
相关问答FAQs
问题1:为什么我的设备无法显示WWN号?
解答:可能原因包括:①设备不支持WWN(如老旧SATA硬盘或非企业级设备);②驱动未正确加载(如光纤卡驱动未安装或异常);③权限不足(需root用户执行);④工具未安装(如未安装fcinfo
或smartmontools
),建议先检查设备是否支持WWN,确认驱动状态(如lsmod | grep lpfc
),并安装对应工具。
问题2:WWN号和SCSI ID有什么区别?
解答:WWN(World Wide Name)是全局唯一标识符,长度8字节(16进制),用于光纤通道、iSCSI等存储网络,确保全球范围内设备唯一;SCSI ID是设备在SCSI总线上的本地标识,由控制器分配,长度较短(如1字节),仅在当前系统中唯一,不同系统可能重复,WWN用于跨设备识别(如存储阵列迁移),SCSI ID用于本地总线管理(如设备挂载)。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/29715.html