Ceph iSCSI Gateway(Pacific版本)

iSCSI 网关提供高可用性 (HA) iSCSI 目标,用于将 RADOS 块设备 (RBD) 镜像导出为 SCSI 磁盘。iSCSI 协议允许客户端(发起方)通过 TCP/IP 网络将 SCSI 命令发送到存储设备(目标),从而使没有本机 Ceph 客户机支持的客户机能够访问 Ceph 块存储。

每个 iSCSI 网关都利用 Linux IO 目标内核子系统 (LIO) 来提供 iSCSI 协议支持。LIO 利用用户空间直通 (TCMU) 与 Ceph 的 librbd 库进行交互,并向 iSCSI 客户端公开 RBD 镜像。借助 Ceph 的 iSCSI 网关,您可以配置具有传统存储区域网络 (SAN) 所有功能和优势的完全集成的块存储基础架构。


警告:自 2022 年 11 月起,iSCSI 网关处于维护状态。这意味着它不再处于活跃开发状态,也不会更新以添加新功能。

一、要求

建议预置 2 到 4 个 iSCSI 网关节点,以实现高可用性的 Ceph iSCSI 网关解决方案。

注意:在 iSCSI 网关节点上,内存占用量是映射的 RBD 映像的函数,并且可能会变得很大。根据要映射的 RBD 映像数量相应地规划内存需求。

Ceph 监控器或 OSD 没有特定的 iSCSI 网关选项,但降低检测关闭 OSD 的默认检测信号间隔以减少启动器超时的可能性非常重要。建议使用以下配置选项:

[osd]
osd heartbeat grace = 20 # 心跳宽限度,默认值为20
osd heartbeat interval = 5 # 检测信号间隔,默认值为6
  • 从 Ceph 监控节点更新运行状态
ceph tell <daemon_type>.<id> config set <parameter_name> <new_value>
ceph tell osd.* config set osd_heartbeat_grace 20
ceph tell osd.* config set osd_heartbeat_interval 5
  • 更新每个 OSD 节点上的运行状态
ceph daemon <daemon_type>.<id> config set osd_client_watch_timeout 15
ceph daemon osd.0 config set osd_heartbeat_grace 20
ceph daemon osd.0 config set osd_heartbeat_interval 5

有关设置 Ceph 配置选项的更多详细信息,请参阅配置 Ceph。请务必将这些设置保留在 /etc/ceph.conf 中,或者在 Mimic 和更高版本中保留在集中式配置存储中。

二、iSCSI Targets

传统上,对 Ceph 存储集群的块级访问仅限于 QEMU 和 librbd,这是在 OpenStack 环境中采用的关键推动因素。从 Ceph Luminous 版本开始,块级访问正在扩展,以提供标准 iSCSI 支持,允许更广泛的平台使用,并可能开辟新的用例。

  • Red Hat Enterprise Linux/CentOS 7.5(或更高版本);Linux 内核 v4.16(或更高版本)
  • 工作中的 Ceph 存储集群,使用 Ceph Dashboard 部署或使用命令行界面进行部署
  • iSCSI 网关节点,这些节点可以与 OSD 节点共置,也可以位于专用节点上
  • 为 iSCSI 前端流量和 Ceph 后端流量提供单独的网络子网

可选择使用 Ceph Dashboard 或命令行界面来安装和配置 Ceph iSCSI 网关。

 

三、iSCSI发起方(Windows)

三、iSCSI发起方(CentOS)

1、先决条件

  • iscsi-initiator-utils
  • device-mapper-multipath

2、安装iSCSI发起方和多路径工具

yum install iscsi-initiator-utils
yum install device-mapper-multipath

3、配置

  • 创建默认的 /etc/multipath.conf 文件并启用多路径服务:
mpathconf --enable --with_multipathd y
  • 将以下内容添加到 /etc/multipath.conf 文件中:
devices {
        device {
                vendor                 "LIO-ORG"
                hardware_handler       "1 alua"
                path_grouping_policy   "failover"
                path_selector          "queue-length 0"
                failback               60
                path_checker           tur
                prio                   alua
                prio_args              exclusive_pref_bit
                fast_io_fail_tmo       25
                no_path_retry          queue
        }
}
  • 重新启动多路径服务:
systemctl reload multipathd

4、iSCSI 发现和设置

  • 启用 CHAP 身份验证并提供启动器 CHAP 用户名和密码,方法是取消注释并在 /etc/iscsi/iscsid.conf 文件中设置以下选项:
node.session.auth.authmethod = CHAP
node.session.auth.username = myusername
node.session.auth.password = mypassword
  • 如果要使用相互(双向)身份验证,请提供目标 CHAP 用户名和密码:
node.session.auth.username_in = mytgtusername
node.session.auth.password_in = mytgtpassword
  • 发现目标门户:
iscsiadm -m discovery -t st -p 192.168.56.101
192.168.56.101:3260,1 iqn.2003-01.org.linux-iscsi.rheln1
192.168.56.102:3260,2 iqn.2003-01.org.linux-iscsi.rheln1
  • 登录到目标:
iscsiadm -m node -T iqn.2003-01.org.linux-iscsi.rheln1 -l

5、多路径 IO 设置

  • 多路径守护程序(multipathd)使用 multipath.conf 设置自动设置设备。运行多路径命令显示设备已在故障转移配置中设置。请注意,每个路径都已放入其自己的优先级组中:
multipath -ll
mpathbt (360014059ca317516a69465c883a29603) dm-1 LIO-ORG ,IBLOCK
size=1.0G features='0' hwhandler='1 alua' wp=rw
|-+- policy='queue-length 0' prio=50 status=active
| `- 28:0:0:1 sde  8:64  active ready running
`-+- policy='queue-length 0' prio=10 status=enabled
  `- 29:0:0:1 sdc  8:32  active ready running

现在,您应该能够以与使用普通多路径 iSCSI 磁盘相同的方式使用 RBD 映像。

  • 注销目标:
iscsiadm -m node -T iqn.2003-01.org.linux-iscsi.rheln1 -u

 

 

posted @ 2023-02-26 23:01  Varden  阅读(492)  评论(0编辑  收藏  举报