3.5. 启用压缩
Ceph 对象网关支持利用任何 Ceph 的压缩插件对上传对象进行服务器端压缩。包括:
-
zlib:支持. -
snappy:技术预览. -
zstd:技术预览.
snappy 和 zstd 压缩插件是技术预览功能,因此不被完全支持,因为红帽还没有对它们完成质量保证测试。
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。