下面是我对rgw最大对象数据限制的调研, 而是当触发了某一个条件, 系统会自动的运行reshard process去扩大桶的索引
下面是我的验证流程及代码分析
一. 查看配置文件
系统默认值, 如下图,10w个
这个参数意味当rgw_dynamic_resharding的值为true时, 当对象的个数大于rgw_max_objs_per_shard * num_shared时, 会触发reshard process, num_shared就是桶的分片个数据
二. 实验验证
1. 修改系统配置文件为5
2. 设置桶的分片为2个
3. 通过s3browser进行创建桶, 并查看分片信息
4. 通过s3browser上传12个对象
可以看到后端报了日志
同时使用命令能够查看到reshard process运行起来, 从标红处看到原有值为2个, 新的为2+5个
等待进行结束, 通过rados命令进行查看
通过listomapvals命令查看, 有部分元数据存两份, 目前还没弄懂,
三. 从代码逻辑验证
从上述代码能看大reshard progress的触发机制, 及new numshards的计算公式