服务器测评网
我们一直在努力

Linux iSCSI配置步骤详细教程与常见问题解析

Linux iSCSI 配置详解

iSCSI(Internet Small Computer System Interface)是一种基于 TCP/IP 协议的存储网络技术,允许通过网络将存储设备(如磁盘阵列或 SAN)附加到 Linux 服务器上,实现块级数据访问,本文将详细介绍在 Linux 系统中配置 iSCSI 客户端( Initiator)和服务端(Target)的完整步骤,涵盖环境准备、安装配置、连接测试及故障排查等关键环节。

Linux iSCSI配置步骤详细教程与常见问题解析

环境准备与软件安装

在开始配置前,需确保网络环境正常,且客户端与服务端能够相互通信,以 Ubuntu/Debian 为例,客户端需安装 open-iscsi 包,服务端则需安装 tgt(Target Tools)或 scst 等软件。

客户端安装

sudo apt update
sudo apt install open-iscsi

服务端安装(以 tgt 为例)

sudo apt install tgt

安装完成后,需确保 iscsid 服务(客户端)和 tgtd 服务(服务端)已启动并设置为开机自启:

sudo systemctl enable --now iscsid
sudo systemctl enable --now tgtd

iSCSI 服务端(Target)配置

服务端负责提供存储资源,需定义逻辑单元(LUN)并将其暴露给客户端,以下以 tgt 为例演示配置过程。

  1. 创建存储后端
    假设使用一块磁盘 /dev/sdb 作为存储后端,首先为其创建分区或直接使用整个磁盘,将 /dev/sdb 格式化为 ext4 文件系统:

    sudo mkfs.ext4 /dev/sdb
  2. 定义 Target 和 LUN
    编辑 tgt 配置文件 /etc/tgt/conf.d/iscsi.conf,添加以下内容:

    <target iqn.2023-01.com.example:storage.target01>
        backing-store /dev/sdb
        initiator-address 192.168.1.100  # 限制客户端 IP(可选)
        incominguser username password   # 设置认证(可选)
    </target>
    • iqn 格式为 iqn.年份-月份.域名:自定义名称,需确保全局唯一。
    • backing-store 指定实际存储设备。
    • 保存后重启 tgtd 服务使配置生效:
      sudo systemctl restart tgtd
  3. 验证 Target 配置
    使用 tgtadm 命令查看已配置的 Target:

    Linux iSCSI配置步骤详细教程与常见问题解析

    sudo tgtadm --mode target --op show

    输出应包含之前定义的 Target 名称及 LUN 信息。

iSCSI 客户端(Initiator)配置

客户端通过发现服务端的 Target 并建立连接,将其映射为本地块设备。

  1. 发现 Target
    使用 iscsiadm 命令发现服务端提供的 Target:

    sudo iscsiadm -m discovery -t st -p 192.168.1.10  # 服务端 IP

    -t st 表示通过 iSCSI Target Portal 发现,-p 指定服务端 IP 和端口(默认 3260)。

  2. 登录 Target
    发现后,客户端会列出可用的 Target,需手动登录:

    sudo iscsiadm -m node -T iqn.2023-01.com.example:storage.target01 -p 192.168.1.10 -l

    若服务端启用了认证,需添加 -l username password 参数。

  3. 验证连接
    登录成功后,通过 lsblkfdisk -l 查看新识别的磁盘:

    lsblk | grep sdb

    服务端的 /dev/sdb 应映射为客户端的 /dev/sdb(或类似名称)。

    Linux iSCSI配置步骤详细教程与常见问题解析

  4. 自动连接配置
    为避免每次重启后手动登录,可修改 Initiator 的配置:

    sudo iscsiadm -m node -T iqn.2023-01.com.example:storage.target01 -p 192.168.1.10 --op update -n node.startup -v automatic

    设置为 automatic 后,系统启动时会自动连接 Target。

高级配置与注意事项

  1. 多路径配置(Multipathing)
    为提高可用性和性能,可配置多路径访问,安装 multipath-tools

    sudo apt install multipath-tools

    编辑 /etc/multipath.conf,添加服务端多路径信息后重启 multipath 服务:

    sudo systemctl enable --now multipathd
  2. 安全优化

    • 启用 CHAP 认证,避免未授权访问。
    • 限制客户端 IP 地址,在服务端配置中指定 initiator-address
    • 使用防火规则(如 iptables)限制 3260 端口的访问。
  3. 故障排查

    • 连接失败:检查网络连通性、防火墙规则及 Target 服务状态。
    • 磁盘未识别:确认 iscsid 服务运行,并检查登录状态:
      sudo iscsiadm -m session -o show
    • 性能问题:调整网络 MTU 值或启用 Jumbo Frame,优化存储后端性能。

Linux 下的 iSCSI 配置通过开源工具实现了灵活的存储扩展,适用于虚拟化、集群系统等场景,本文从环境准备到高级配置逐步展开,涵盖了服务端存储暴露、客户端连接及安全优化等核心操作,实际部署中,需根据业务需求调整参数,并结合日志(如 /var/log/syslog)及时排查问题,通过合理配置,iSCSI 可为 Linux 系统提供高效、可靠的存储解决方案。

赞(0)
未经允许不得转载:好主机测评网 » Linux iSCSI配置步骤详细教程与常见问题解析