第 8 章 配置 iSCSI initiator

iSCSI 启动程序形成连接 iSCSI 目标的会话。默认情况下,iSCSI 服务是“懒启动” ,服务只在运行 iscsiadm 命令后才启动。如果 root 没有位于 iSCSI 设备,或者没有标记为 node.startup = automatic 的节点,则 iSCSI 服务将不会启动,直到执行 iscsiadm 命令后,需要 iscsidiscsi 内核模块启动。

以 root 用户身份执行 systemctl start iscsid.service 命令,以强制 iscsid 守护进程运行和 iSCSI 内核模块来加载。

8.1. 创建 iSCSI 启动程序

创建 iSCSI 启动器以连接到 iSCSI 目标,以访问服务器上的存储设备。

先决条件

  • 您有一个 iSCSI 目标的主机名和 IP 地址:

    • 如果您要连接到外部软件创建的存储目标,请从存储管理员查找目标主机名和 IP 地址。
    • 如果您要创建 iSCSI 目标,请参阅创建 iSCSI 目标

流程

  1. 在客户端机器上安装 iscsi-initiator-utils:

    # dnf install iscsi-initiator-utils
  2. 检查 initiator 名称:

    # cat /etc/iscsi/initiatorname.iscsi
    
    InitiatorName=iqn.2006-04.com.example:888
  3. 如果在 创建 iSCI ACL 时 ACL 被指定了一个自定义名称,请更新启动器名称以匹配 ACL:

    1. 打开 /etc/iscsi/initiatorname.iscsi 文件并修改启动器名称:

      # vi /etc/iscsi/initiatorname.iscsi
      
      InitiatorName=custom-name
    2. 重启 iscsid 服务:

      # systemctl restart iscsid
  4. 发现目标并使用显示的目标 IQN 登录到目标:

    # iscsiadm -m discovery -t st -p 10.64.24.179
        10.64.24.179:3260,1 iqn.2006-04.example:444
    
    # iscsiadm -m node -T iqn.2006-04.example:444 -l
        Logging in to [iface: default, target: iqn.2006-04.example:444, portal: 10.64.24.179,3260] (multiple)
        Login to [iface: default, target: iqn.2006-04.example:444, portal: 10.64.24.179,3260] successful.

    10.64.24.179 替换为 target-ip-address。

    如果将相应的启动器名称添加到 ACL 中,您可以将这个步骤用于连接到同一目标的任意启动器名称,如创建 iSCSI ACL 所述。

  5. 找到 iSCSI 磁盘名称并在这个 iSCSI 磁盘中创建文件系统:

    # grep "Attached SCSI" /var/log/messages
    
    # mkfs.ext4 /dev/disk_name

    使用 /var/log/messages 文件中显示的 iSCSI 磁盘名称替换 disk_name

  6. 挂载文件系统:

    # mkdir /mount/point
    
    # mount /dev/disk_name /mount/point

    使用分区的挂载点替换 /mount/point

  7. 编辑 /etc/fstab 文件,以便在系统引导时自动挂载文件系统:

    # vi /etc/fstab
    
    /dev/disk_name /mount/point ext4 _netdev 0 0

    使用 iSCSI 磁盘名称替换 disk_name,使用分区的挂载点替换 /mount/point

其他资源

  • targetcli(8)iscsiadm(8) man page