7.5. 启用压缩
Ceph 对象网关支持利用任何 Ceph 的压缩插件对上传对象进行服务器端压缩。它们是:
-
zlib
:支持。 -
snappy
:支持. -
ZST
D:支持.
配置
要在区域的放置目标上启用压缩,请将 --compression=TYPE
选项提供给 comma -admin zone placement modify
命令。压缩 TYPE
指的是在编写新对象数据时要使用的压缩插件的名称。
每个压缩对象存储压缩类型。更改设置不会影响解压缩现有压缩对象的能力,也不会强制 Ceph 对象网关重新压缩现有的对象。
此压缩设置适用于使用此放置目标上传到存储桶的所有新对象。
要在区的放置目标上禁用压缩,请将 --compression=TYPE
选项提供给 comma -admin zone placement modify
命令,并指定空字符串或 none
。
示例
[root@host01 ~] 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 对象网关创建 default
区域和一组池。对于生产环境部署,请参阅创建 Realm 部分。
Statistics
虽然所有现有命令和 API 都继续根据其未压缩数据报告对象和 bucket 大小,但 radosgw-admin bucket stats
命令包含所有存储桶的压缩统计信息。
语法
radosgw-admin bucket stats --bucket=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_kb
是以 KB 为单位的总大小,它计算为 ceiling (size/1024)
。在本例中,它是 ceiling (1075028/1024)= 1050
。
size_actual
是每个对象在一组 4096 字节块中分发后所有对象的累计大小。如果 bucket 有两个对象,大小为 4100 字节,另一个大小为 8500 字节,则第一个对象将向上舍入为 8192 字节,第二个对象舍入为 12288 字节,其存储桶的总数为 20480 字节。size_kb_actual
是实际大小(以 KB 为单位),计算为 size_actual/1024
。在本例中,它是 1331200/1024 = 1300
。
size_utilized
是压缩和/或加密后数据的总大小(以字节为单位)。加密可能会增加对象的大小,而压缩可能会减少它。size_kb_utilized
是以 KB 为单位的总大小,它计算为 ceiling (size_utilized/1024)
。在本例中,它是 ceiling (592035/1024)= 579
。