中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

使能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压缩。

  1. 创建新的放置策略compress-placement。
    1
    radosgw-admin zonegroup placement add --rgw-zonegroup=default --placement-id=compress-placement
    

  2. 填入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等算法。

使能放置策略

  1. 导出用户元数据,此处以存入user.json文件为例。
    1
    radosgw-admin metadata get user:admin > user.json
    
  2. 修改元数据user.json,将“default_placement”的值改为新增的放置策略“compress-placement”。
    1
    vi user.json
    

    按“Esc”键退出编辑模式,输入:wq!,按“Enter”键保存并退出文件。

  3. 在ceph1执行如下命令将修改后的用户元数据导入。
    1
    radosgw-admin metadata put user:admin < user.json
    
  4. 在所有服务端节点上执行如下命令重启radosgw进程。
    1
    systemctl restart ceph-radosgw.target
    
  5. 在ceph1执行以下命令检查用户的放置策略是否生效。若default_placement的值为“compress-placement”则表示放置策略生效。
    1
    radosgw-admin user info --uid="admin"
    

关于更多关于Ceph对象存储的命令操作,可以查阅Ceph开源社区中关于Ceph对象存储操作命令的说明。