当前位置:首页 > Linux > 正文

linux下如何查询iqn号

Linux下查询iqn号可通过以下命令实现: cat /etc/iscsi/initiatorname.iscsiiscsiadm -m nodeiscsiadm -m session -P 3 | grep 'Target|iqn'

Linux系统中查询iSCSI Qualified Name (IQN)号有多种方法,具体取决于所使用的工具、配置文件位置以及是否需要查看本地发起端的IQN还是远程目标设备的IQN,以下是详细的操作步骤和相关命令说明:

通过配置文件直接获取本机Initiator的IQN

最常用的方式是读取系统预设的配置文件 /etc/iscsi/initiatorname.iscsi,该文件存储了当前主机作为iSCSI发起端的标识符,执行以下命令即可快速查看:

cat /etc/iscsi/initiatorname.iscsi

输出示例如下:

InitiatorName=iqn.2021-11.com.example:storage.target01

iqn.2021-11.com.example:storage.target01 即为本机的IQN号,若只需提取关键信息,可结合 grep 过滤:

grep InitiatorName /etc/iscsi/initiatorname.iscsi

此方法适用于大多数基于 open-iscsi 驱动的环境,对于其他实现(如 iet),路径可能变为 /etc/iet/iscsi.initiatorname.iscsi

使用 iscsiadm 命令管理工具

列出所有已连接会话中的Target IQN

通过会话列表筛选与目标相关的条目:

iscsiadm -m session -P 3 | grep "Target:"

典型输出片段:

Target: iqn.yyyy-mm.reversed_domain:unique_id

此处显示的是远程存储设备的目标IQN,如果需要进一步指定某个节点,可以使用 -T 参数替换为目标名称,-p 替换为其IP地址:

linux下如何查询iqn号  第1张

iscsiadm -m node -T <target_name> -p <target_ip> -P 3 | grep "iqn"

查看节点级别的详细信息

若要获取更完整的连接状态及属性,包括双方的IQN映射关系,可运行:

sudo iscsiadm -m node -o show

该命令会逐条展示每个已登录节点的配置参数,便于排查网络拓扑结构。

浏览目录结构定位目标信息

部分发行版将iSCSI资源分散存储在特定路径下,所有注册过的目标元数据保存在 /var/lib/iscsi/nodes///iscsi/name,通过通配符匹配多级子目录:

cat /var/lib/iscsi/nodes///iscsi/name

这种方法特别适合查找历史记录或临时挂载的设备残留项,手动创建的目标目录也可能存在于 /etc/iscsi/targets/<target_name>/iqn,直接访问即可获取静态配置的IQN值。

专用工具辅助查询

某些软件包提供了便捷的封装命令,例如安装 iscsi-target-utils 后,可以使用:

iscsi-ls

它以表格形式呈现系统中所有的iSCSI设备及其对应IQN,适合快速概览整体架构,对于光纤通道混合环境,尝试:

tcm_fc_ini_list

虽然主要用于FC协议,但在统一存储解决方案中也可能返回兼容的IQN条目。

不同Initiator实现的差异处理

根据底层驱动的不同,默认的文件位置有所变化:
| Initiator类型 | 配置文件路径 | 示例命令 |
|———————|—————————————|——————————|
| open-iscsi | /etc/iscsi/initiatorname.iscsi | cat /etc/iscsi/initiatorname.iscsi |
| iet | /etc/iet/iscsi.initiatorname.iscsi | cat /etc/iet/iscsi.initiatorname.iscsi |
| iscsitarget | /etc/iscsi/nodes//initiatorname.iscsi | find /etc/iscsi -name "initiatorname.iscsi" |

修改IQN的最佳实践

当需要自定义IQN时(例如加入主机名增强可读性),编辑上述配置文件并重启服务使更改生效:

# 修改InitiatorName行
echo "InitiatorName=iqn.1987-05.com.cisco:myhost" > /etc/iscsi/initiatorname.iscsi
# 重载配置
systemctl restart iscsid

注意遵循标准格式规范:iqn.YYYY-MM.反向域名:唯一后缀,避免特殊字符导致解析失败。

以下是两个常见问题及解答:

FAQs

  1. 问:为什么 iscsiadm 看不到任何输出?
    答:可能是由于未建立有效的iSCSI会话,请先使用 iscsiadm -m discovery -t st -p <target_IP> 发现可用目标,再通过 iscsiadm -m login -p <target_IP> 建立连接后重试。

  2. 问:如何验证修改后的IQN是否生效?
    答:重新登录到目标存储端,检查其日志或Web管理界面中显示的发起端IQN是否更新为新设置的值,同时本地运行 cat /etc/iscsi/initiatorname.iscsi 确认持久化成功。

Linux系统下查询IQN号的方法多样且灵活,用户可根据实际需求选择合适的方式,无论是日常监控还是故障排查,掌握这些命令都能显著

0