Ceph BlueStore 压缩

Ceph BlueStore 存储后端支持内联压缩。

问题描述

目前 Ceph charms 没有提供关于启用 BlueStore 内联压缩的文档、验证或支持。

提议的变更

Ceph 支持通过池属性和全局配置选项来配置压缩。使用哪种配置取决于数据的类型以及所用底层存储设备的特性。

为了适应这一点,我们应该允许 Ceph 消费 charms 基于每个池配置压缩,并为任何未提供的选项提供集中管理的默认值。

将添加以下配置选项

  • bluestore-compression-algorithm

  • bluestore-compression-mode

  • bluestore-compression-required-ratio

  • bluestore-compression-min-blob-size

  • bluestore-compression-min-blob-size-hdd

  • bluestore-compression-min-blob-size-ssd

  • bluestore-compression-max-blob-size

  • bluestore-compression-max-blob-size-hdd

  • bluestore-compression-max-blob-size-ssd

将为 Ubuntu 18.04 LTS 及更高版本的 Ceph Mimic 及更高版本提供支持。

备选方案

无。

实现

负责人

主要负责人

fnordahl

Gerrit Topic

对于与此规范相关的所有补丁,请使用 Gerrit 主题“ceph-bluestore-compression”。

git-review -t ceph-bluestore-compression

工作项

  • 扩展 Ceph broker API,以支持在池请求上提供压缩选项。

  • 添加上下文,供消费和提供 charms 使用,以将 charm 配置选项映射到 CephBrokerRq op 属性以及 Jinja2 模板上下文数据。

  • 扩展 ceph-clientceph-rbd-mirror 反应式接口,以支持中继池创建的压缩选项。

  • 将控制全局压缩默认值的 charm 配置选项添加到 ceph-osd charm。

  • 将控制池创建压缩的 charm 配置选项添加到以下 charms

    • glance

    • cinder-ceph

    • nova-compute

    • gnocchi

    • ceph-iscsi

    • ceph-radosgw

  • 为 ceph-rbd-mirror charm 添加支持,以在池镜像上复制压缩属性。

  • 建立性能基线并执行基准测试,用于超融合部署拓扑,并记录结果和建议。

仓库

实施此规范不需要新的存储库。

文档

各个配置选项将获得描述,解释基本用法。

应在部署指南中添加新的附录或章节,以记录基准测试结果以及使用 BlueStore 压缩部署 Ceph 的建议。

安全性

除了在 charms 中公开先前未公开的 Ceph 代码路径之外,此功能工作没有特定的安全注意事项。

测试

应扩展现有的 charm 网关,以验证新的 charm 配置选项的操作。

验证此功能不需要特殊的硬件。

依赖项

无。