解决 Ceph v14.2.1 RGW使能压缩时遇到不生效的问
根据常规方法部署Ceph(14.2.1 or 14.2.2)集群+rgw后,通过命令“radosgw-admin zone placement modify --rgw-zone=default --placement-id=default-placement --compression=zlib”使能zlib压缩。重启集群和radosgw进程后,测试时通过“radosgw-admin bucket stats --bucket=bucket1”发现对象文件写到bucket里了,但是数据并没有压缩。从rgw的日志看也没有进到压缩流程。
这种情况在几个环境中都有。
解决方法如下:
1. 导出用户user1的元数据。
radosgw-admin metadata get user:user1 > user.json
2.修改元数据
vim user.json
修改"default_storage_class":"STANDARD"
3. 导入user.json
radosgw-admin metadata put user:user1 < user.json
4. 重启radosgw
之后测试zlib压缩生效。
注1:使用这种方法,压缩在新的bucket里生效。如果把对象put到原有的bucket,压缩不生效。同学们可以验证一下。