iscsiadm
是 Linux 系统中用于管理 iSCSI Initiator 的主要命令行工具,属于 iscsi-initiator-utils
软件包。它用于发现、登录、管理和配置 iSCSI 目标(Target),以及处理 iSCSI 会话和节点的设置。以下是对 iscsiadm
命令的详细介绍,包括常用模式、选项和示例,适用于 CentOS 或其他 Linux 发行版。
iscsiadm [选项] [模式] [参数]
iscsiadm
运行在以下主要模式下:
选项 | 描述 |
---|---|
-m |
指定操作模式(如 discovery 、node 、session )。 |
-p |
指定目标 IP 地址和端口(默认 3260)。格式:IP:PORT 。 |
-t |
指定发现类型(如 sendtargets )。 |
-T |
指定目标 IQN(如 iqn.2025-09.com.example:iscsi-target )。 |
-n |
指定节点属性名称(用于更新配置)。 |
-v |
指定节点属性值(与 -n 配合)。 |
-l |
登录目标。 |
-u |
注销目标。 |
-P |
设置输出级别(0-3,数字越大越详细)。 |
--op |
指定操作类型(如 new 、delete 、update )。 |
-d |
调试级别(0-8,数字越大日志越详细)。 |
iscsiadm
的配置通常存储在以下文件中:
/etc/iscsi/initiatorname.iscsi
:定义 Initiator IQN。/etc/iscsi/iscsid.conf
:全局 iSCSI 配置(如 CHAP 认证)。/var/lib/iscsi/nodes/
:存储发现的节点信息。/var/lib/iscsi/send_targets/
:存储发现的目标信息。以下以连接 Ceph iSCSI Target 为例,展示 iscsiadm
的典型用法。
发现指定 IP 上的目标:
iscsiadm -m discovery -t sendtargets -p 192.168.1.10:3260
-t sendtargets
:使用 SendTargets 协议发现目标。192.168.1.10:3260,1 iqn.2025-09.com.example:iscsi-target
查看发现的节点信息:
iscsiadm -m node
192.168.1.10:3260,1 iqn.2025-09.com.example:iscsi-target
登录特定目标:
iscsiadm -m node -T iqn.2025-09.com.example:iscsi-target -p 192.168.1.10:3260 -l
-l
:执行登录操作。检查当前 iSCSI 会话:
iscsiadm -m session
tcp: [1] 192.168.1.10:3260,1 iqn.2025-09.com.example:iscsi-target
iscsiadm -m session -P 3
显示会话详细信息,如 SID、状态和 CHAP 配置。注销特定目标:
iscsiadm -m node -T iqn.2025-09.com.example:iscsi-target -p 192.168.1.10:3260 -u
-u
:执行注销操作。注销所有目标:
iscsiadm -m node -u
设置节点在系统启动时自动登录:
iscsiadm -m node -T iqn.2025-09.com.example:iscsi-target -p 192.168.1.10:3260 --op update -n node.startup -v automatic
删除特定节点记录(清理不再使用的目标):
iscsiadm -m node -T iqn.2025-09.com.example:iscsi-target -p 192.168.1.10:3260 --op delete
例如,设置 CHAP 用户名和密码:
iscsiadm -m node -T iqn.2025-09.com.example:iscsi-target -p 192.168.1.10:3260 --op update -n node.session.auth.authmethod -v CHAP
iscsiadm -m node -T iqn.2025-09.com.example:iscsi-target -p 192.168.1.10:3260 --op update -n node.session.auth.username -v mychapuser
iscsiadm -m node -T iqn.2025-09.com.example:iscsi-target -p 192.168.1.10:3260 --op update -n node.session.auth.password -v mychappass
列出 iSCSI 网络接口:
iscsiadm -m iface
绑定特定接口(高级用法):
iscsiadm -m node -T iqn.2025-09.com.example:iscsi-target -p 192.168.1.10:3260 -I eth0
启用详细调试输出:
iscsiadm -m discovery -t sendtargets -p 192.168.1.10:3260 -d 8
-d 8
:最高调试级别,显示详细日志。问题 | 可能原因 | 解决方案 |
---|---|---|
发现失败(No targets found) | 防火墙或网络问题 | 检查 firewall-cmd --list-ports 和 ping 192.168.1.10 ;确保目标端口 3260 开放。 |
登录失败(Authentication failure) | CHAP 配置错误 | 验证 /etc/iscsi/iscsid.conf 或节点配置中的用户名/密码;检查 Target 的 CHAP 设置。 |
会话丢失 | 网络中断或目标不可用 | 检查 iscsiadm -m session 和 dmesg ;尝试重新登录。 |
节点记录错误 | 手动修改配置文件 | 使用 iscsiadm --op delete 清理并重新发现。 |
/var/lib/iscsi/nodes
)优先于全局配置(/etc/iscsi/iscsid.conf
)。/var/lib/iscsi/
,重启后保留。gwcli
检查)。/var/log/messages
或 journalctl -u iscsid
获取错误详情。