OpenStack 中 Ceph 集成:Grizzly 更新和 Havana 路线图

shan

多么完美的图景,一只抽雪茄的头足类动物!更新!OpenStack 开发峰会很棒,显然最令人兴奋的环节之一是关于 Ceph 与 OpenStack 集成的话题。我很荣幸能参加这次会议(由 Inktank 的 Josh Durgin 主持)。会议时间太短,但我们有足够的时间讨论即将发布的功能并制定适当的路线图。借助本文,我想分享我们的一些讨论和蓝图。

一、一些 Grizzly 更新

不幸的是,Ceph 方面并没有太多的新增功能…… :/ 然而,Cinder 本身带来了一些不错的功能,因此我选择了一些或多或少与 Ceph 相关的功能

  • https://review.openstack.org/#/c/19408/ 这为 Nova 带来了 direct_url 支持,但仅适用于名为 file 的后端,- 因此目前还不适用于 Ceph…… 但接近 此蓝图
  • 从卷启动功能不再需要 --image <id> 参数,因此如果 Nova 看到 --block-device-mapping,它将尝试从卷启动。
  • 当您运行 cinder list 命令时,返回的行中有一个新字段,它被称为 Bootable,如果 Cinder 注意到 Glance 元数据,该字段将显示为 true
  • 不确定是否随 Grizzly 一起发布,但在 Folsom 期间,我曾经将镜像转换为 RAW 格式以执行从卷启动。因此,流程是获取镜像,转换为 raw 格式,重新导入到 Glance,最终运行 cinder create --image-id(并指向 glance 镜像 ID)。现在,在运行 cinder create --image-id 时,Glance 会自动将镜像转换为 RAW 格式。因此,我们节省了一些步骤 :-)。

二、Havana 路线图

二.1. Glance 导向

  • 将快照和镜像放入不同池的能力,目标是为镜像和快照提供不同的可用性级别。理想情况下,一个池用于镜像,一个池用于快照。
  • 使用现有的 Ceph 集群填充 Glance。请参阅我之前的 文章。目标为 Havana。

二.2.Cinder 导向

二.3. Nova 导向

  • 更好的 libvirt 网络卷支持。此蓝图试图为通用的 libvirt 网络卷提供更好的支持。但也解决了 libvirt 在启用身份验证时需要配置以存储后端密钥的情况。为了使用 CephX(由监视器处理的 Ceph 身份验证服务)配置 Nova,需要在 libvirt 中导入密钥(用户密钥)…… 此繁琐的操作必须在 N 次重复,其中 N 是计算节点的数量,因为所有节点都需要了解该密钥,不幸的是,一个密钥不能在多个 libvirt 之间共享。
  • 启用 RBD 调整选项,这里 Nova 启动的 KVM 进程无法利用 RBD 驱动程序提供的所有 QEMU 选项(例如缓存)。
  • 将 RBD 支持引入 libvirt_images_types,主要目标是统一 RBD 的使用并使其移植到临时镜像。(或多或少接近 此蓝图)。

二.4. Ceilometer

目前还没有,我们也没有对此进行太多讨论。但是,Ceilometer 可以跟踪和报告来自 Ceph 监视器的特定指标。同样适用于 RADOS Gateway 和卷使用量统计信息。

二.5. 替代项目

新的来访项目,例如密钥管理系统 API,也已经讨论过(最初,身份验证和密钥管理由监视器处理)。如果 Ceph 可以提供 API,则可以将密钥管理部分从监视器中分离出来,然后由密钥管理系统管理。

三、或多或少与 Ceph 相关

以下蓝图是通用的,但我认为值得了解它们

正如您所见,讨论了许多不同的主题。路线图已经建立,可以实施很多事情,因此这取决于社区来完成它们。