使能RGW压缩
创建完RGW账户后就可以使用该账户访问RGW。如果想要使能RGW数据压缩功能,还需要创建压缩数据用的存储池,新增放置策略并指明压缩算法。
仅需在主节点ceph1上执行。
创建压缩存储池
执行以下命令创建压缩存储池。
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。
1
radosgw-admin zonegroup placement add --rgw-zonegroup=default --placement-id=compress-placement
- 填入compress-placement相关信息,包括该放置策略的存储池及压缩算法。
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等算法。
使能放置策略
- 导出用户元数据,此处以存入user.json文件为例。
1
radosgw-admin metadata get user:admin > user.json
- 修改元数据user.json,将“default_placement”的值改为新增的放置策略“compress-placement”。
1
vi user.json
按“Esc”键退出编辑模式,输入:wq!,按“Enter”键保存并退出文件。
- 在ceph1执行如下命令将修改后的用户元数据导入。
1
radosgw-admin metadata put user:admin < user.json
- 在所有服务端节点上执行如下命令重启radosgw进程。
1
systemctl restart ceph-radosgw.target
- 在ceph1执行以下命令检查用户的放置策略是否生效。若default_placement的值为“compress-placement”则表示放置策略生效。
1
radosgw-admin user info --uid="admin"
父主题: 部署对象存储功能