温馨提示×

CentOS挂载iSCSI磁盘技巧

小樊
45
2025-12-21 13:30:55
栏目: 智能运维

CentOS 挂载 iSCSI 磁盘实用技巧

一 快速上手流程

  • 安装客户端并启动服务
    • 安装软件包:yum install -y iscsi-initiator-utils
    • 启动与开机自启:systemctl start iscsi && systemctl enable iscsi
  • 配置发起端名称
    • 编辑:/etc/iscsi/initiatorname.iscsi
    • 示例:InitiatorName=iqn.1994-05.com.centos:your-host
  • 发现与登录目标
    • 发现:iscsiadm -m discovery -t sendtargets -p <存储IP>
    • 登录:iscsiadm -m node -T <target_iqn> -p <存储IP>:3260 --login
  • 识别磁盘与分区
    • 查看设备:lsblkfdisk -l
    • 分区:小于 2TBfdisk;大于等于 2TBparted(推荐 GPT
  • 格式化与挂载
    • 格式化:mkfs.xfs /dev/sdX1mkfs.ext4 /dev/sdX1
    • 挂载:mount /dev/sdX1 /mnt/data
  • 设置开机自动挂载
    • 获取 UUIDblkid /dev/sdX1
    • 写入 /etc/fstabUUID= /mnt/data xfs defaults,_netdev 0 0
    • 验证:mount -a 无报错再重启测试

二 安全与认证配置

  • 单向 CHAP(最常见)
    • 在客户端编辑:/etc/iscsi/iscsid.conf
      • 启用:node.session.auth.authmethod = CHAP
      • 设置凭据:node.session.auth.username = <用户名>node.session.auth.password = <密码>
    • 重启服务:systemctl restart iscsid
    • 重新发现与登录,使配置生效
  • 双向 CHAP(若存储端要求)
    • iscsid.conf 同时配置:
      • node.session.auth.username_in / node.session.auth.password_in
  • 注意事项
    • 修改 iscsid.conf 后需重启 iscsid 才会生效
    • 登录失败优先检查:发起端 IQNCHAP 用户名/密码、存储端 ACL 是否放行该 IQN

三 多路径与高可用

  • 适用场景:同一 LUN 通过多条网络路径访问,提高可靠性与带宽
  • 基本做法
    • 存储端导出同一 LUN 到多个 Portal IP
    • 客户端对每个 Portal 执行发现与登录,会话会聚合为多条路径
    • 安装多路径工具(如 device-mapper-multipath),启用并生成 /dev/mapper/mpathX
    • 后续分区与格式化在 /dev/mapper/mpathX 上进行,避免单路径设备名漂移
  • 提示
    • 多路径能显著提升可用性,但应用层仍需处理文件锁与并发写入一致性;若需要真正的共享并发写,请使用集群文件系统或对象存储方案

四 常见问题与排查

  • 设备名漂移
    • 现象:重启后 /dev/sdb 可能变成 /dev/sdc
    • 解决:在 /etc/fstab 中使用 UUID 挂载,并加上 _netdev 选项
  • 开机卡住或挂载失败
    • 原因:网络未就绪即尝试挂载
    • 解决:/etc/fstab 使用 defaults,_netdev,确保网络与 iscsi 服务先启动
  • 会话未自动重连
    • 将节点设为自动启动:iscsiadm -m node -T -p :3260 --op update -n node.startup -v automatic
  • 登出与清理
    • 登出:iscsiadm -m node -T -p :3260 --logout
    • 清理发现信息:iscsiadm -m node -o delete -T (谨慎,删除后需重新发现)
  • 多客户端同时挂载同一 LUN
    • 默认不保证共享写一致性,后写入可能覆盖先前内容;如需共享,请使用集群文件系统或专用共享存储方案

0