搜索

10.4. 配置 iSCSI 目标

download PDF

作为存储管理员,您可以使用 gwcli 命令行实用程序 配置 目标、LUN 和客户端。您还可以使用 gwcli reconfigure 子命令来优化 iSCSI 目标的性能

警告

红帽不支持管理 Ceph iSCSI 网关工具(如 gwcli )导出的 Ceph 块设备镜像。此外,使用 rbd 命令重命名或删除 Ceph iSCSI 网关导出的 RBD 镜像可能会导致存储集群不稳定。

警告

在从 iSCSI 网关配置移除 RBD 镜像之前,请遵循从操作系统中删除存储设备的标准步骤。详情请查看存储管理指南中的删除一个存储设备(Red Hat Enterprise Linux 7)或系统设置指南(Red Hat Enterprise Linux 8)。

10.4.1. 先决条件

  • 安装 Ceph iSCSI 网关软件。

10.4.2. 使用命令行界面配置 iSCSI 目标

Ceph iSCSI 网关是 iSCSI 目标节点,也是 Ceph 客户端节点。在独立节点上配置 Ceph iSCSI 网关,或者将它与 Ceph 对象存储设备 (OSD) 节点共存。

警告

除非在本文档中指定,或者红帽支持指示您这样做,否则不要使用 gwcli reconfigure 子命令来调整其他选项。

先决条件

  • 安装 Ceph iSCSI 网关软件。

流程

  1. 检索主机上运行的 iSCSI 容器的信息:

    示例

    [root@iscsigw ~]# podman ps
    [root@iscsigw ~]# podman exec -it 4b5ffb814409 /bin/bash

  2. 启动 iSCSI 网关命令行界面:

    [root@iscsigw ~]# gwcli
  3. 进入 iscsi-targets 目录:

    示例

    />cd /iscsi-targets

  4. 使用 IPv4 或 IPv6 地址创建 iSCSI 网关:

    语法

    />iscsi-targets create iqn.2003-01.com.redhat.iscsi-gw:_TARGET_NAME_
    > goto gateways
    > create ISCSI_GW_NAME IP_ADDR_OF_GW
    > create ISCSI_GW_NAME IP_ADDR_OF_GW

    示例

    />iscsi-targets create iqn.2003-01.com.redhat.iscsi-gw:ceph-igw
    > goto gateways
    > create ceph-gw-1 10.172.19.21
    > create ceph-gw-2 10.172.19.22

  5. 添加 Ceph 块设备:

    语法

    > cd /disks
    />disks/ create POOL_NAME image=IMAGE_NAME size=IMAGE_SIZE_m|g|t

    示例

    > cd /disks
    />disks/ create rbd image=disk_1 size=50g

    注意

    不要在池或镜像名称中使用任何句点(.)。

  6. 创建客户端:

    语法

    > goto hosts
    > create iqn.1994-05.com.redhat:_client_name_
    > auth username=USER_NAME password=PASSWORD

    示例

    > goto hosts
    > create iqn.1994-05.com.redhat:rh7-client
    > auth username=iscsiuser1 password=temp12345678

    重要

    红帽不支持混合客户端,如有些启用了 Challenge Handshake Authentication Protocol (CHAP),另外一些禁用了一些 CHAP。所有客户端都必须启用 CHAP,或者禁用 CHAP。默认的行为是仅通过其启动器名称验证启动器。

    如果启动器无法登录到目标,某些启动器可能无法正确配置 CHAP 身份验证,例如:

    o- hosts ................................ [Hosts: 2: Auth: MISCONFIG]

    主机 级别使用以下命令重置所有 CHAP 身份验证:

    /> goto hosts
    /iscsi-target...csi-igw/hosts> auth nochap
    ok
    ok
    /iscsi-target...csi-igw/hosts> ls
    o- hosts ................................ [Hosts: 2: Auth: None]
      o- iqn.2005-03.com.ceph:esx ........... [Auth: None, Disks: 4(310G)]
      o- iqn.1994-05.com.redhat:rh7-client .. [Auth: None, Disks: 0(0.00Y)]
  7. 向客户端添加磁盘:

    语法

    />iscsi-target..eph-igw/hosts
    > cd iqn.1994-05.com.redhat:_CLIENT_NAME_
    > disk add POOL_NAME/IMAGE_NAME

    示例

    />iscsi-target..eph-igw/hosts
    > cd iqn.1994-05.com.redhat:rh7-client
    > disk add rbd/disk_1

  8. 验证 Ceph ISCSI 网关是否正常工作:

    /> goto gateways
    /iscsi-target...-igw/gateways> ls
    o- gateways ............................ [Up: 2/2, Portals: 2]
      o- ceph-gw-1  ........................ [ 10.172.19.21 (UP)]
      o- ceph-gw-2  ........................ [ 10.172.19.22 (UP)]

    如果状态为 UNKNOWN,请检查网络问题和任何错误配置。如果使用防火墙,请验证是否打开适当的 TCP 端口。验证 iSCSI 网关是否列在 trusted_ip_list 选项中。验证 rbd-target-api 服务是否在 iSCSI 网关节点上运行。

  9. 另外,还可重新配置 max_data_area_mb 选项:

    语法

    />disks/ reconfigure POOL_NAME/IMAGE_NAME max_data_area_mb NEW_BUFFER_SIZE

    示例

    />disks/ reconfigure rbd/disk_1 max_data_area_mb 64

    注意

    max_data_area_mb 选项控制每个镜像可用于在 iSCSI 目标和 Ceph 集群之间传递 SCSI 命令数据的内存量(以兆字节为单位)。如果这个值太小,可能会导致过量队列完全重试,这将影响性能。如果该值太大,则可能会导致一个磁盘使用过多的系统内存,这可能会导致其他子系统的分配失败。max_data_area_mb 选项的默认值为 8

  10. 配置 iSCSI 启动器.

其它资源

10.4.3. 优化 iSCSI 目标的性能

有许多设置控制 iSCSI 目标如何通过网络传输数据。这些设置可用于优化 iSCSI 网关的性能。

警告

只有在由红帽支持团队指示或根据本文档中指定的要求时才更改这些设置。

gwcli reconfigure 子命令可控制用于优化 iSCSI 网关性能的设置。

影响 iSCSI 目标性能的设置

max_data_area_mb
描述
以 MB 为单位的内核数据环缓冲的大小。
类型
整数
默认
8
cmdsn_depth
描述
表示控制最大 I/O 的队列的深度。
类型
整数
默认
128
immediate_data
描述
指明启动器从目标请求权限,以在建立新会话时传输即时数据。如果这个值是 Yes,则启动器从目标请求权限以在建立新会话时传输即时数据。
类型
布尔值
默认
initial_r2t
描述
指明主机总线适配器(HBA)发起方请求权限是否从目标请求权限,以便在其建立新会话时传输未验证的 SCSI 数据。如果这个成员是 Yes,则 HBA 发起方从目标请求权限,以便在其建立新会话时传输未请求的 SCSI 数据。
类型
布尔值
默认
max_outstanding_r2t
描述
为每个任务传输(R2T)请求的最大未准备(R2T)请求,不包括启动该任务的第一个 R2T。
类型
整数
默认
1
first_burst_length
描述
iSCSI 启动器在执行单个 SCSI 命令期间可以向目标发送的最大未请求数据量。
类型
整数(以字节为单位)
默认
262144
max_burst_length
描述
输入 PDU 序列或请求输出 PDU 序列中的最大 SCSI 数据有效负载。
类型
整数(以字节为单位)
默认
524288
max_recv_data_segment_length
描述
启动器可以从目标接收 iSCSI PDU 中的最大数据字节数。
类型
整数(以字节为单位)
默认
262144
max_xmit_data_segment_length
描述
启动器在 iSCSI PDU 中向目标发送的最大数据字节数。
类型
整数(以字节为单位)
默认
0

其它资源

10.4.4. 使用命令行界面配置 iSCSI 主机组

Ceph iSCSI 网关可以配置主机组,以管理共享同一磁盘配置的多个服务器。iSCSI 主机组创建主机以及该组中每一主机有权访问的磁盘的逻辑分组。

重要

将磁盘设备共享到多个主机必须使用群集感知型文件系统。

先决条件

  • 安装 Ceph iSCSI 网关软件。
  • 对 Ceph iSCSI 网关节点的 root 级别访问权限。

流程

  1. 检索主机上运行的 iSCSI 容器的信息:

    示例

    [root@iscsigw ~] podman ps
    CONTAINER ID  IMAGE                                           COMMAND   CREATED    STATUS  PORTS  NAMES
    4b5ffb814409  registry.redhat.io/rhceph-alpha/rhceph-5-rhel8:latest    2 hours ago         Up 2 hours ago ceph-f838eb7a-597c-11eb-b0a9-525400e2439c-iscsi.iscsi.cephLab2-node-01.anaahg

  2. 使用 iSCSI 容器 ID 进入容器:

    示例

    [root@iscsigw ~]# podman exec -it 4b5ffb814409 /bin/bash

  3. 运行 gwcli 命令:

    [ceph: root@iscsigw /]# gwcli
  4. 创建新主机组:

    语法

    cd iscsi-targets/
    cd IQN/host-groups
    create group_name=GROUP_NAME

    示例

    /> cd iscsi-targets/
    /iscsi-targets> cd iqn.2003-01.com.redhat.iscsi-gw:ceph-igw/host-groups/
    /iscsi-target.../host-groups> create group_name=igw_grp01

  5. 在主机组中添加主机:

    重要

    在将主机添加到主机组之前,请确保移除添加到主机中的所有磁盘,否则无法将主机添加到主机组。

    语法

    cd GROUP_NAME
    host add client_iqn=CLIENT_IQN

    示例

    > cd igw_grp01
    /iscsi-target.../host-groups/igw_grp01> host add client_iqn=iqn.1994-05.com.redhat:rh8-client

    重复此步骤,将其他主机添加到组中。

  6. 在主机组中添加磁盘:

    语法

    cd /disks/
    /disks> create pool=POOL image=IMAGE_NAME size=SIZE
    cd /IQN/host-groups/GROUP_NAME
    disk add POOL/IMAGE_NAME

    示例

    > cd /disks/
    /disks> create pool=rbd image=rbdimage size=1G
    /> cd iscsi-targets/iqn.2003-01.com.redhat.iscsi-gw:ceph-igw/host-groups/igw_grp01/
    /iscsi-target...s/igw_grp01> disk add rbd/rbdimage

    重复此步骤,向该组添加其他磁盘。

10.4.5. 其它资源

  • 有关使用 Red Hat Ceph Storage 仪表板配置 iSCSI 目标的详情,请参阅 Red Hat Ceph Storage 仪表板指南中的创建 iSCSI 目标部分。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.