Nautilus 中的新功能:ceph-iscsi 改进
该 ceph-iscsi 项目提供了一个框架、REST API 和 CLI 工具,用于通过 LIO 为 Ceph 创建和管理 iSCSI 目标和网关。它是两个先前独立的项目的继承和整合,即 ceph-iscsi-cli 和 ceph-iscsi-config ,这两个项目最初于 2016 年由 Red Hat 的 Paul Cuzner 启动。
虽然这并不是 Ceph Nautilus 的一项新功能,但改进 ceph-iscsi 是实现 Ceph Dashboard 在 Nautilus 中的一个目标所必需的:达到与 openATTIC 项目的功能对等性。
其中一项功能是通过 Dashboard UI 管理 iSCSI 目标和所有相关方面。这里的关键挑战是克服 openATTIC 实现中的一些限制,后者依赖于 lrbd 和 DeepSea 来在 iSCSI 网关节点上执行实际的配置更改。
虽然 ceph-iscsi 和 lrbd 在将配置存储在 RADOS 对象中时使用类似的方法,但在配置的修改和应用方式上存在一些根本差异。例如,lrbd 提供了一个命令行界面,需要通过 Salt/DeepSea 远程触发。
现在,Dashboard 与提供 iSCSI 网关服务的相应节点上的 ceph-iscsi-api 守护程序提供的 REST API 进行通信。这使得可以从命令行通过 gwcli 命令以及 Dashboard 管理 iSCSI 网关配置(本地和远程)。
SUSE Ceph Dashboard 团队的 Ricardo Marques 为了弥合 openATTIC/lrbd 提供的功能差距并消除 ceph-iscsi 中的一些限制,向 ceph-iscsi 添加了许多功能。
一些值得注意的更改包括
- Python3 支持
- 多 iSCSI 目标支持
- 支持密码字段中的“/”
- 支持池/镜像名称中的点
- 支持 iSCSI 发现和相互 CHAP 身份验证
- 支持无身份验证
- 支持加密发现密码
- 支持可配置的 Ceph 池名称
- 支持附加现有的 RBD 镜像并在不删除它们的情况下分离镜像
- 支持多个后端存储(以支持 kernel-lio-rbd 以及 tcmu-runner)
- 支持禁用 ACL 身份验证
- REST API 的许多增强功能(例如,新的端点)
- 许多错误修复和次要增强功能
请参阅 Ceph Dashboard 文档 了解如何在 Dashboard 中启用 iSCSI 管理支持。请注意,您需要非常新版本的 ceph-iscsi 才能使用此功能。大多数 Linux 发行版的软件包仍在开发中。SUSE Linux 发行版的软件包可以在 openSUSE 构建服务上找到,CentOS 7 的 RPM 可以在 Ceph 的 Shaman 构建服务上找到。
特别感谢 Red Hat 的 Jason Dillaman 和 Mike Christie 提供的指导和帮助,以及审查和合并这些更改!