美文网首页
ceph 之 RGW 元数据组织二

ceph 之 RGW 元数据组织二

作者: wayyyy | 来源:发表于2024-02-24 22:35 被阅读0次
    bucket index

    RGW为每个bucket维护一份索引,里边存放了bucket中全部对象的元数据。这个索引就是bucket index。

    定位 bucket index
    • 找到bucket的id

      radosgw-admin bucket stats --bucket test    # test 为bucket
      
    • 检查对应BUCKET在index中是否存在

      rados -p .rgw.buckets.index ls - | grep "default.784974.1"
      
    • 查看对应index中omap记录的key

      rados -p .rgw.buckets.index listomapkeys .dir.default.784974.1
      

      可以使用如下命令来统计这个bucket的对象个数

      rados -p .rgw.buckets.index listomapkeys .dir.default.104766.19 | wc -l
      
    • 查到bucket index 分布在哪个osd

      ceph osd map default.rgw.buckets.index .dir.
      
    关于Bucket Index Sharding

    默认情况下单个bucket的index全部存储在一个rados对象中(主要以OMAP-keys方式存储在leveldb中),随着单个bucket内的Object数量增加,整个bucket index 对象体积也在不断增长,当单个bucket index 对象体积过大就会引发各种问题。比如:

    Hammer版本以后,新增bucket shared功能用以解决单桶存储海量对象的问题,bucket的index数据可以分布到多个RADOS对象上,bucket存储对象数量随着index数据的分片数量增加而增加。

    • 配置Bucket Index Sharding
      • rgw_override_bucket_index_max_shards
        [global]
        rgw_override_bucket_index_max_shards = 10
        
        需要重启rgw之后生效,并且对之前的bucket没有作用。

    相关文章

      网友评论

          本文标题:ceph 之 RGW 元数据组织二

          本文链接:https://www.haomeiwen.com/subject/rwvoadtx.html