注意

本文档适用于 Ceph 开发版本。

压缩

Kraken 版本中的新功能。

Ceph 对象网关支持上传对象的服务器端压缩。

Note

Reef 发布版添加了一个压缩加密区域组服务器端加密.

支持的压缩插件包括以下:

  • lz4

  • snappy

  • zlib

  • zstd

Note

Ceph 对象网关压缩仅由 RGW 守护进程为 RGW 对象执行,与 OSD 在池粒度上执行的 BlueStore 压缩不同。通常情况下,只需启用其中一种即可。在两个级别上启用不会导致问题,但应根据用例做出决定。如果您的集群仅提供对象存储,并且 RGW 运行的节点比 OSD 节点有更多的可用 CPU,那么 RGW 级别的压缩可能很有吸引力。在 OSD 级别进行压缩意味着对相同用户数据进行多次压缩,因为它是复制后进行的,但在 OSD 数量远多于 RGW 的集群中,这种策略可能会带来更好的性能。

配置

压缩可以在区域的放置目标中的存储类上启用,通过向命令提供--compression=<type>选项radosgw-admin zone placement modify.

压缩type指的是将要用于写入新对象数据的压缩插件的名称。每个压缩对象都会记住所使用的插件,因此对此设置的任何更改都不会影响 Ceph 解压缩现有对象的能力,也不需要重新压缩现有对象。

压缩设置适用于使用此放置目标上传到存储桶的所有新对象。通过将type设置为空字符串或none.

例如:

radosgw-admin zone placement modify --rgw-zone default \
                                      --placement-id default-placement \
                                      --storage-class STANDARD \
                                      --compression zlib
{
...
    "placement_pools": [
        {
            "key": "default-placement",
            "val": {
                "index_pool": "default.rgw.buckets.index",
                "storage_classes": {
                    "STANDARD": {
                        "data_pool": "default.rgw.buckets.data",
                        "compression_type": "zlib"
                    }
                },
                "data_extra_pool": "default.rgw.buckets.non-ec",
                "index_type": 0,
            }
        }
    ],
...
}

Note

A default如果您之前没有执行任何命令来创建区域,则会为您创建一个区域,以查看给定存储桶的压缩统计信息:多站点配置.

统计

,则表示你位于正确的目录中。运行radosgw-admin bucket stats command to see compression statistics for a given bucket:

radosgw-admin bucket stats --bucket=<name>
{
...
    "usage": {
        "rgw.main": {
            "size": 1075028,
            "size_actual": 1331200,
            "size_utilized": 592035,
            "size_kb": 1050,
            "size_kb_actual": 1300,
            "size_kb_utilized": 579,
            "num_objects": 104
        }
    },
...
}

其他命令和 API 将根据其未压缩的数据报告对象和存储桶的大小。

The size_utilizedsize_kb_utilized字段分别表示压缩数据的总大小,以字节和千字节为单位。

由 Ceph 基金会带给您

Ceph 文档是一个社区资源,由非盈利的 Ceph 基金会资助和托管Ceph Foundation. 如果您想支持这一点和我们的其他工作,请考虑加入现在加入.