Red Hat Training

A Red Hat training course is available for Red Hat Ceph Storage

3.5. 启用压缩

Ceph 对象网关支持利用任何 Ceph 的压缩插件对上传对象进行服务器端压缩。包括:

  • zlib :支持.
  • snappy :技术预览.
  • zstd :技术预览.
注意

snappyzstd 压缩插件是技术预览功能,因此不被完全支持,因为红帽还没有对它们完成质量保证测试。

Configuration

要在区放置目标中启用压缩,请向 radosgw-admin 区放置修改 命令提供 --compression=<type> 选项。压缩 类型 指的是在写入新对象数据时要使用的压缩插件名称。

每个压缩对象存储压缩类型。更改 设置不会影响解压缩现有压缩对象的能力,也不会强制 Ceph 对象网关重新压缩现有的对象。

此压缩设置适用于使用此放置目标上传到存储桶的所有新对象。

要禁用对区放置目标的压缩,请向 radosgw-admin zone placement modify 命令提供 --compression=<type> 选项 并指定一个空字符串或 none

例如:

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

在启用或禁用压缩后,重新启动 Ceph 对象网关实例,以便更改生效。

注意

Ceph 对象网关创建 默认 区域和一组池。有关生产部署,请参阅 用于生产的 Ceph 对象网关指南,更具体来说,请参阅首先 创建域 部分。另请参阅 多站点

statistics

虽然所有现有命令和 API 都继续根据其未压缩数据报告对象和 bucket 大小,但 radosgw-admin bucket stats 命令包含给定存储桶的压缩统计信息。

$ 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
        }
    },
...
}

size_utilized 和 size_kb_utilized 字段 分别代表压缩数据的总大小,单位为字节和 KB。