Ubuntu Server 22.04 Minimal版配置Open-iSCSI持久化挂载iSCSI LUN失败求助
我来帮你排查这个iSCSI挂载失败的问题,你已经完成了不少基础配置,但可能有些细节没覆盖到,咱们一步步梳理可能的问题点:
1. 先确认iSCSI会话是否成功建立
重启服务器后,先执行以下命令检查当前iSCSI会话状态:
sudo iscsiadm -m session -o show
如果没有任何输出,说明自动登录根本没生效。这时候你需要针对具体的iSCSI节点设置自动登录,而不是只修改全局的/etc/iscsi/iscsid.conf——有时候全局配置不会自动应用到已发现的节点,你可以用这条命令单独设置:
# 替换<TARGET_IQN>为你NAS上的目标IQN,比如iqn.2023-02.com.domain.nas:target01 sudo iscsiadm -m node -T <TARGET_IQN> -p 192.168.1.111 --op update -n node.startup -v automatic
设置完成后再重启服务器测试。
2. 验证InitiatorName的NAS准入权限
很多NAS设备会做iSCSI Initiator准入控制,你需要登录NAS管理界面,确认你设置的iqn.2023-02.com.domain.repo01:repo01.initiator01已经被添加到对应iSCSI Target的允许访问列表中。如果IQN不在白名单里,就算客户端执行了登录命令,也无法连接到LUN。
3. 排查磁盘设备名是否不是/dev/sdb
系统不一定会把iSCSI磁盘固定分配为/dev/sdb,可能是/dev/sdc、/dev/sdd甚至其他命名格式。你可以用以下命令查看系统识别到的存储设备:
# 查看SCSI设备列表 sudo lsscsi # 或者查看系统日志里的iSCSI相关信息 sudo dmesg | grep -i iscsi
从输出里找是否有对应NAS IP的iSCSI磁盘记录,确认实际的设备名。
4. 确认iscsi服务开机自启状态
重启后检查iscsid和open-iscsi服务是否已经设置为开机自启:
sudo systemctl is-enabled iscsid open-iscsi
如果输出不是enabled,执行以下命令设置开机自启,然后重启服务器:
sudo systemctl enable --now iscsid open-iscsi
5. 手动登录排查错误
如果自动登录失败,尝试手动执行登录命令,看是否有明确的错误提示:
sudo iscsiadm -m node --login
常见的错误包括:
- 认证失败:如果NAS启用了CHAP认证,你需要在
/etc/iscsi/iscsid.conf里配置对应的认证参数:
配置后重启iscsi服务再尝试登录。node.session.auth.authmethod = CHAP node.session.auth.username = <你的CHAP用户名> node.session.auth.password = <你的CHAP密码> - 无法连接目标IP:检查服务器和NAS之间的网络连通性,比如用
ping 192.168.1.111测试,确认没有防火墙规则阻断iSCSI的默认端口(3260)。
6. 检查NAS端的LUN映射配置
最后确认NAS端的iSCSI Target是否已经正确把LUN映射给了你的initiator——有时候可能创建了Target但没分配LUN,或者LUN被分配给了其他initiator,导致客户端无法识别到磁盘。
按照以上步骤逐一排查,应该能定位到问题所在。
备注:内容来源于stack exchange,提问作者Senior Systems Engineer




