25.15. 扫描 iSCSI Interconnects


对于 iSCSI,如果目标发送指示新存储的 iSCSI async 事件,则会自动执行扫描。
但是,如果目标没有发送 iSCSI async 事件,您需要使用 iscsiadm 程序手动扫描它们。但是,在这样做前,您需要首先检索正确的 --targetname--portal 值。如果您的设备模型只支持每个目标的单一逻辑单元和门户,请使用 iscsiadm 向主机发出 sendtargets 命令,如下所示:
# iscsiadm -m discovery -t sendtargets -p target_IP:port
[5]

输出将以以下格式显示:
target_IP:port,target_portal_group_tag proper_target_name

例 25.11. 使用 iscsiadm 发出 sendtargets 命令

例如,在一个带有 proper_target_nameiqn.1992-08.com.netapp:sn.33615311target_IP:port10.15.85.19:3260 的目标中,输出可能显示为:
10.15.84.19:3260,2 iqn.1992-08.com.netapp:sn.33615311
10.15.85.19:3260,3 iqn.1992-08.com.netapp:sn.33615311
在这个示例中,目标有两个门户,每个门户都使用 target_ip:ports 为 10.15.84.19:326010.15.85.19:3260
要查看每个会话将使用哪个 iface 配置,请添加 -P 1 选项。这个选项还将以树形格式打印会话信息,如下所示:
    Target: proper_target_name
        Portal: target_IP:port,target_portal_group_tag
           Iface Name: iface_name

例 25.12. 查看 iface 配置

例如,使用 iscsiadm -m discovery -t sendtargets -p 10.15.85.19:3260 -P 1,输出可能显示为:
Target: iqn.1992-08.com.netapp:sn.33615311
    Portal: 10.15.84.19:3260,2
       Iface Name: iface2
    Portal: 10.15.85.19:3260,3
       Iface Name: iface2
这意味着目标 iqn.1992-08.com.netapp:sn.33615311 将使用 iface2 作为其 iface 配置。
对于某些设备模型,一个目标可能有多个逻辑单元和门户。在这种情况下,首先向主机发出 sendtargets 命令,以查找目标上的新门户。然后,使用以下命令重新扫描现有会话:
# iscsiadm -m session --rescan
您还可以通过指定会话的 SID 值来重新扫描特定的会话,如下所示:
# iscsiadm -m session -r SID --rescan[7]
如果您的设备支持多个目标,则需要向主机发出 sendtargets 命令,以查找每个目标的新门户。重新扫描现有会话,以使用 --rescan 选项发现现有会话上的新逻辑单元。
重要
用于检索 --targetname--portal 值的 sendtargets 命令会覆盖 /var/lib/iscsi/nodes 数据库的内容。然后,将使用 /etc/iscsi/iscsid.conf 中的设置重新填充此数据库。但是,如果会话当前已登录并在使用,则不会发生这种情况。
要安全地添加新目标/端口或删除旧目标/端口,请分别使用 -o new-o delete 选项。例如,要在不覆盖 /var/lib/iscsi/nodes 的情况下添加新目标/端口,请使用以下命令:
iscsiadm -m discovery -t st -p target_IP -o new
要删除在发现过程中没有显示目标的 /var/lib/iscsi/nodes 条目,请使用:
iscsiadm -m discovery -t st -p target_IP -o delete
您还可以同时执行这两个任务,如下所示:
iscsiadm -m discovery -t st -p target_IP -o delete -o new
sendtargets 命令将生成以下输出:
ip:port,target_portal_group_tag proper_target_name

例 25.13. sendtargets 命令的输出

例如,如果一个具有单个目标、逻辑单元和门户的设备,具有 equallogic-iscsi1 作为您的 target_name,输出应类似于如下:
10.16.41.155:3260,0 iqn.2001-05.com.equallogic:6-8a0900-ac3fe0101-63aff113e344a4a2-dl585-03-1
请注意,proper_target_nameip:port,target_portal_group_tag第 25.7.1 节 “iSCSI API” 中相同名称的值相同。
此时,您现在具有手动扫描 iSCSI 设备所需的正确 --targetname--portal 值。为此,请运行以下命令:
# iscsiadm --mode node --targetname proper_target_name --portal ip:port,target_portal_group_tag \ --login 
[8]

例 25.14. 完整的 iscsiadm 命令

使用我们前面的示例(其中 proper_target_nameequallogic-iscsi1),完整的命令将是:
# iscsiadm --mode node --targetname  \ iqn.2001-05.com.equallogic:6-8a0900-ac3fe0101-63aff113e344a4a2-dl585-03-1 	\ --portal 10.16.41.155:3260,0 --login[8]


[7] For information on how to retrieve a session's SID value, refer to 第 25.7.1 节 “iSCSI API”.
[8] This is a single command split into multiple lines, to accommodate printed and PDF versions of this document. All concatenated lines — preceded by the backslash (\) — should be treated as one command, sans backslashes.
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.