尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

iSCSI 登录总失败?90% 都是 IQN 与 ACL 白名单不匹配!

iSCSI 登录总失败?90% 都是 IQN 与 ACL 白名单不匹配! 一、iSCSI 基础概念1.1 协议简介SCSI小型计算机系统接口用于主机与硬盘、光驱等存储设备通信。iSCSIIP-SANIBM 研发将 SCSI 指令封装 TCP/IP通过普通以太网传输实现网络块存储共享。标准端口3260推荐万兆独立存储网络内网流量默认不加密跨公网可搭配 IPsec 加密。1.2 C/S 架构角色Target服务端主机iscsi-server提供共享磁盘存储资源。Initiator客户端主机iscsi-client远程挂载网络磁盘本地识别为普通硬盘。数据流程客户端下发 SCSI 指令 → TCP/IP 封装传输 → 服务端解包操作本地磁盘。1.3 核心专业名词名词说明IQN全局唯一标识区分客户端/服务端 Target格式iqn.年月.反向域名:自定义名称Portal服务端监听地址端口例10.1.8.10:3260LUN逻辑单元绑定后端物理磁盘对外提供共享存储块设备ACLIQN 访问白名单仅允许指定客户端连接 TargetTPG目标门户组一套配置包含 Portal、LUN、ACLbackstore后端存储池支持 block(物理盘)、fileio(镜像文件)、ramdisk(内存盘)二、环境规划终端主机名区分终端主机名IP地址角色硬件资源iscsi-server10.1.8.10/24iSCSI Target 存储服务端2块20G 虚拟磁盘 /dev/sdb、/dev/sdc多路径扩展网卡10.1.1.10iscsi-client10.1.8.11/24iSCSI Initiator 客户端无额外磁盘多路径扩展网卡10.1.1.11三、两台主机基础环境初始化3.1 【终端iscsi-server】执行# 修改主机名hostnamectl set-hostname iscsi-server# 配置静态IP ens33nmcli connection modify ens33 ipv4.method manual\ipv4.addresses10.1.8.10/24 ipv4.gateway10.1.8.2 ipv4.dns10.1.8.2 autoconnectyesnmcli connection up ens33# 关闭防火墙、SELinuxsystemctl disable firewalld--nowsetenforce03.2 【终端iscsi-client】执行# 修改主机名hostnamectl set-hostname iscsi-client# 配置静态IP ens33nmcli connection modify ens33 ipv4.method manual\ipv4.addresses10.1.8.11/24 ipv4.gateway10.1.8.2 ipv4.dns10.1.8.2 autoconnectyesnmcli connection up ens33# 关闭防火墙、SELinuxsystemctl disable firewalld--nowsetenforce03.3 iscsi-server 新增虚拟磁盘VMware 操作关闭iscsi-server虚拟机 → 右键虚拟机【设置】→【添加】硬件类型选择「硬盘」磁盘类型 SCSI创建新20G虚拟磁盘重复操作添加第二块20G磁盘重启虚拟机识别磁盘四、iSCSI Target 服务端全套配置全部在【iscsi-server】操作4.1 安装并启动存储服务# 安装target服务与交互式配置工具yuminstall-ytargetd targetcli# 开机自启立即启动systemctlenabletarget--now# 防火墙放行iSCSI端口关闭防火墙可跳过firewall-cmd--permanent--add-serviceiscsi-target firewall-cmd--reload4.2 iSCSI 标准配置流程创建 backstore 后端存储绑定本地磁盘创建 Target生成唯一 IQN将后端存储绑定为 LUN 对外共享配置 ACL 客户端 IQN 白名单指定 Portal 监听IP与端口保存全部配置4.3 targetcli 交互式配置交互提示符/# 进入交互式配置终端targetcli创建块存储后端绑定 /dev/sdbcd/backstores/block create myblock1 /dev/sdb创建 Target 目标自定义IQNcd/iscsi create iqn.2026-04.cloud.deng.iscsi-server:disk1绑定 LUN关联后端磁盘cd/iscsi/iqn.2026-04.cloud.deng.iscsi-server:disk1/tpg1/luns create /backstores/block/myblock1添加客户端 ACL 白名单iscsi-client 的IQNcd/iscsi/iqn.2026-04.cloud.deng.iscsi-server:disk1/tpg1/acls create iqn.2026-04.cloud.deng.iscsi-client修改监听Portal限制仅业务网卡IP访问cd/iscsi/iqn.2026-04.cloud.deng.iscsi-server:disk1/tpg1/portals# 删除默认0.0.0.0全地址监听delete0.0.0.03260# 指定仅10.1.8.10监听3260端口create10.1.8.103260保存配置并退出交互终端exit# 配置自动持久化至 /etc/target/saveconfig.json4.4 非交互命令创建第二块磁盘 Target/dev/sdc# 创建后端存储myblock2targetcli /backstores/block create myblock2 /dev/sdc# 创建第二个Targettargetcli /iscsi create iqn.2026-04.cloud.deng.iscsi-server:disk2# 绑定LUNtargetcli /iscsi/iqn.2026-04.cloud.deng.iscsi-server:disk2/tpg1/luns create /backstores/block/myblock2# 放行客户端IQN白名单targetcli /iscsi/iqn.2026-04.cloud.deng.iscsi-server:disk2/tpg1/acls create iqn.2026-04.cloud.deng.iscsi-client# 删除默认监听、绑定业务IPtargetcli /iscsi/iqn.2026-04.cloud.deng.iscsi-server:disk2/tpg1/portals delete0.0.0.03260targetcli /iscsi/iqn.2026-04.cloud.deng.iscsi-server:disk2/tpg1/portals create10.1.8.103260# 非交互模式必须手动保存配置targetcli saveconfig五、iSCSI Initiator 客户端挂载配置全部在【iscsi-client】操作5.1 安装客户端工具yuminstall-yiscsi-initiator-utils# 设置iscsi服务开机自启systemctlenableiscsi5.2 修改客户端唯一IQN标识vim/etc/iscsi/initiatorname.iscsi# 文件内写入InitiatorNameiqn.2026-04.cloud.deng.iscsi-client# 重启服务生效systemctl restart iscsid5.3 发现服务端共享Target# -m discovery 发现模式-t st标准发现-p 指定iscsi-server地址iscsiadm-mdiscovery-tst-p10.1.8.10# 输出示例10.1.8.10:3260,1 iqn.2026-04.cloud.deng.iscsi-server:disk110.1.8.10:3260,1 iqn.2026-04.cloud.deng.iscsi-server:disk25.4 登录远端存储磁盘# -T 指定Target IQN-l 登录连接iscsiadm-mnode-Tiqn.2026-04.cloud.deng.iscsi-server:disk1-l# 查看完整iSCSI会话信息iscsiadm-msession-P3# 查看系统识别的远程块设备lsblk5.5 磁盘格式化与临时挂载# 格式化XFS文件系统设备名以lsblk查询为准mkfs.xfs /dev/sdb# 创建挂载目录mkdir/sdb# 临时挂载mount/dev/sdb /sdb# 读写测试echoxixihaha/sdb/testcat/sdb/test5.6 开机持久挂载 /etc/fstab强制要求使用UUID挂载 _netdev 参数网络磁盘等网络启动再挂载# 获取磁盘UUIDblkid /dev/sdb# 编辑开机挂载文件vim/etc/fstab# 添加配置行UUID0461e240-7743-47fe-876b-6df8b8e7ebf8/sdb xfs defaults,_netdev00# 校验配置无报错mount-a5.7 断开、注销iSCSI磁盘完整流程# 1. 卸载挂载目录umount/sdb# 2. 登出Target会话iscsiadm-mnode-Tiqn.2026-04.cloud.deng.iscsi-server:disk1-p10.1.8.10:3260-u# 3. 删除本地缓存记录开机不再自动连接iscsiadm-mnode-Tiqn.2026-04.cloud.deng.iscsi-server:disk1-p10.1.8.10:3260-odelete# 查看剩余会话iscsiadm-msession六、iSCSI 基础故障排查登录Target失败客户端IQN与服务端ACL白名单不一致修改initiatorname.iscsi重启iscsid后重新发现登录防火墙未放行3260端口iscsi-server执行防火墙放行命令Target未绑定LUN、未创建Portal进入targetcli检查luns/portals节点重启后挂载失败错误写法直接写/dev/sdb设备名重启会变动正确写法UUID _netdev挂载参数七、iSCSI 多路径 Multipath 高可用完整配置7.1 多路径原理服务端双网卡10.1.8.10、10.1.1.10双Portal监听3260客户端双网卡10.1.8.11、10.1.1.11双链路连接同一块存储作用单链路故障自动切换、带宽聚合内核dm-multipath生成虚拟设备/dev/mapper/mpatha。7.2 【终端iscsi-server】新增第二个Portal监听地址# 为disk1目标新增10.1.1.10:3260监听端口targetcli /iscsi/iqn.2026-04.cloud.deng.iscsi-server:disk1/tpg1/portals create10.1.1.103260# 保存配置targetcli saveconfig# 验证双Portaltargetclils7.3 【终端iscsi-client】多路径软件部署# 安装多路径工具包yuminstall-ydevice-mapper-multipath# 自动生成基础配置文件mpathconf--enable--with_multipathdy--with_chkconfigy# 开机自启并立即运行multipathd服务systemctlenablemultipathd--now7.4 客户端双链路登录存储# 扫描两个网段Portaliscsiadm-mdiscovery-tst-p10.1.8.10# 一键登录所有已发现的Target链路iscsiadm-mnode-Lall# 查看磁盘可见sdb、sdc聚合为mpatha虚拟设备lsblk7.5 多路径状态查看与设备识别# -ll 实时扫描硬件查看链路运行状态排错首选multipath-ll# 查询磁盘WWN全球唯一标识判断两块物理盘属于同一存储/usr/lib/udev/scsi_id-g-u/dev/sdb /usr/lib/udev/scsi_id-g-u/dev/sdc# 查看设备WWN属性udevadm info--queryproperty--name/dev/sdb|grepID_WWN状态说明active当前业务主链路enabled备用冗余链路failed faulty链路断开IO自动切换至备用通道7.6 /etc/multipath.conf 核心配置详解配置优先级multipaths devices defaults# defaults 全局默认参数 defaults { user_friendly_names yes # 自动命名mpatha/mpathb path_selector service-time 0 # 默认主备模式 } # 黑名单屏蔽本地系统盘避免误聚合 blacklist { devnode ^sda } # 白名单例外单独放行指定厂商存储 blacklist_exceptions { } # 自定义单块存储策略 multipaths { multipath { wwid 360014052fc732600aa0433fae1758a1a alias ClusterStorage # 自定义设备别名 path_grouping_policy multibus # 双链路负载均衡 } }修改配置后重载生效systemctl reload multipathd7.7 多路径虚拟磁盘格式化、挂载# 对聚合虚拟磁盘分区parted/dev/mapper/mpatha mklabel gptparted/dev/mapper/mpatha unit MiB mkpart webapp110241# 格式化文件系统mkfs.xfs /dev/mapper/mpatha1# 创建挂载目录并临时挂载mkdir/mpatha1mount/dev/mapper/mpatha1 /mpatha1# fstab持久挂载vim/etc/fstab /dev/mapper/mpatha1 /mpatha1 xfs _netdev00# 校验挂载mount-adf-h/mpatha17.8 链路故障切换测试断开iscsi-server主网卡ens33执行multipath -ll业务自动切换至备用链路恢复网卡后备用链路保持active不会自动切回原主链路全程业务读写无中断实现存储高可用。八、生产环境重要注意事项多台客户端同时挂载同一裸iSCSI磁盘会损坏文件系统集群场景必须使用GFS2集群文件系统所有iSCSI磁盘fstab挂载必须添加_netdev参数防止开机网络未就绪挂载失败生产环境建议独立万兆存储网卡业务流量与SAN存储网络隔离公网传输iSCSI流量务必使用IPsec加密防止数据窃听篡改multipath 黑名单必须屏蔽本地系统盘避免本地硬盘被识别为多路径设备引发系统故障。
返回列表