iscsiadm
是 Linux 系统中用于管理 iSCSI Initiator 的主要命令行工具,属于 iscsi-initiator-utils
软件包。它用于发现、登录、管理和配置 iSCSI 目标(Target),以及处理 iSCSI 会话和节点的设置。以下是对 iscsiadm
命令的详细介绍,包括常用模式、选项和示例,适用于 CentOS 或其他 Linux 发行版。
基本语法
iscsiadm [选项] [模式] [参数]
常用模式
iscsiadm
运行在以下主要模式下:
- discovery:发现 iSCSI 目标(Target)。
- node:管理 iSCSI 节点(如登录、注销、配置)。
- session:管理当前活跃的 iSCSI 会话。
- iface:管理 iSCSI 接口(网络接口配置)。
- host:管理 iSCSI 主机信息。
- fw:使用固件发现目标(若硬件支持)。
常用选项
选项 | 描述 |
---|---|
-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
的典型用法。
1. 发现 iSCSI 目标
发现指定 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
2. 列出发现的节点
查看发现的节点信息:
iscsiadm -m node
- 输出示例:
192.168.1.10:3260,1 iqn.2025-09.com.example:iscsi-target
3. 登录目标
登录特定目标:
iscsiadm -m node -T iqn.2025-09.com.example:iscsi-target -p 192.168.1.10:3260 -l
-l
:执行登录操作。- 如果有多个目标,需为每个目标单独登录(无多路径时)。
4. 查看活跃会话
检查当前 iSCSI 会话:
iscsiadm -m session
- 输出示例:
tcp: [1] 192.168.1.10:3260,1 iqn.2025-09.com.example:iscsi-target
- 更详细输出:
显示会话详细信息,如 SID、状态和 CHAP 配置。iscsiadm -m session -P 3
5. 注销目标
注销特定目标:
iscsiadm -m node -T iqn.2025-09.com.example:iscsi-target -p 192.168.1.10:3260 -u
-u
:执行注销操作。
注销所有目标:
iscsiadm -m node -u
6. 配置自动登录
设置节点在系统启动时自动登录:
iscsiadm -m node -T iqn.2025-09.com.example:iscsi-target -p 192.168.1.10:3260 --op update -n node.startup -v automatic
7. 删除节点记录
删除特定节点记录(清理不再使用的目标):
iscsiadm -m node -T iqn.2025-09.com.example:iscsi-target -p 192.168.1.10:3260 --op delete
8. 更新节点配置
例如,设置 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
9. 查看接口信息
列出 iSCSI 网络接口:
iscsiadm -m iface
绑定特定接口(高级用法):
iscsiadm -m node -T iqn.2025-09.com.example:iscsi-target -p 192.168.1.10:3260 -I eth0
10. 调试模式
启用详细调试输出:
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/
,重启后保留。 - 安全性:建议启用 CHAP 认证,避免明文传输。
- Ceph 特定:确保 Initiator IQN 与 Ceph iSCSI Gateway 的 Client IQN 匹配(可通过
gwcli
检查)。 - 日志:查看
/var/log/messages
或journalctl -u iscsid
获取错误详情。