使能RGW压缩
创建完RGW账户后便可以使用该账户访问RGW。如果想要使能RGW数据压缩功能,还需要创建压缩数据用的存储池,然后新增放置策略并指明压缩算法。
若需要使能RGW数据压缩功能,请参考如下内容。
创建压缩存储池
执行以下命令创建压缩存储池。
1 2 3 4 5 6 |
ceph osd pool create default.rgw.buckets.data-compress 4096 4096 ceph osd pool create default.rgw.buckets.index-compress 256 256 ceph osd pool create default.rgw.buckets.non-ec-compress 64 64 ceph osd pool application enable default.rgw.buckets.data-compress rgw ceph osd pool application enable default.rgw.buckets.index-compress rgw ceph osd pool application enable default.rgw.buckets.non-ec-compress rgw |
区别于普通的非压缩存储池,此处创建用于RGW使能压缩的存储池,分别作为接下来新建放置策略中的data_pool、index_pool与data_extra_pool。
与非压缩存储池类似,default.rgw.buckets.data-compress也可创建EC模式的压缩数据存储池,创建方法请参见创建EC存储池。
新增放置策略
Ceph对象存储集群有一个默认的放置策略default-placement,此处需要创建一个新的放置策略compress-placement,应用于RGW压缩。
- 创建新的放置策略compress-placement,在ceph1上执行:
1
radosgw-admin zonegroup placement add --rgw-zonegroup=default --placement-id=compress-placement
- 填入compress-placement相关信息,包括该放置策略的存储池及压缩算法,在ceph1上执行:
1
radosgw-admin zone placement add --rgw-zone=default --placement-id=compress-placement --index_pool=default.rgw.buckets.index-compress --data_pool=default.rgw.buckets.data-compress --data_extra_pool=default.rgw.buckets.non-ec-compress --compression=zlib
--compression=zlib代表使用的压缩算法是zlib。可选的压缩算法还有snappy、LZ4等算法。
使能放置策略
- 新建admin-compress用户。在ceph1执行:
1
radosgw-admin user create --uid="admin-compress" --display-name="admin compress user"
- 导出用户元数据,此处以存入user.json文件为例。在ceph1执行:
1
radosgw-admin metadata get user:admin-compress > user.json
- 修改元数据user.json,将“default_placement”的值改为上一章节中新增的放置策略“compress-placement”。
1
vi user.json
改为以下内容:
- 将修改后的用户元数据导入。在ceph1执行:
1
radosgw-admin metadata put user:admin-compress < user.json
- 重启radosgw进程。在所有存储端节点上执行:
1
systemctl restart ceph-radosgw.target
- 检查用户的放置策略是否生效。在ceph1执行以下命令,所显示"default_placement"的值应为"compress-placement"。
1
radosgw-admin user info --uid="admin-compress"
至此使用admin-compress用户创建的bucket将使用compress-placement放置策略,完成压缩使能。
父主题: 验证Ceph