暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Ceph RGW Multisite Data Sync 流程图

Ceph运维技巧及源码分析 2019-05-28
1629

'小白打怪' 公众号记录了 非存储相关专业 的 小白 毕业入职 后,四年多在存储领域学习打怪升级的过程,文章干货满满,有趣易懂,非常适合Ceph初学者阅读,欢迎关注同行,共同进步~



一、看流程图前,需要认识下 data sync机制 的三个角色Data、DataLogShard、BucketInstanceShard

rgw的multisite sync分为两部分:metadata sync 和 data sync。metadata包括bucket信息、bucket instance信息、user信息等;data指的是存储对象的实际数据,记为Data

rgw使用datalog来记录Data的变化,为防止datalog成为瓶颈,将datalog分成了 ${rgw_data_log_num_shards} 个shard,即DataLogShardDataLogShard记录了Data的变化。

rgw使用bucket index来提升list对象的效率。为防止bucket index成为瓶颈,将bucket分成了 ${rgw_override_bucket_index_max_shards} 个BucketInstanceShard。每个BucketInstanceShard的bucket index log记录了该BucketInstanceShard内对象的变化。

rgw的每个BucketInstanceShard都会通过hash映射到某个DataLogShard上,形成了如下形式的映射关系,理解这层映射关系是理解data sync的重要前提。

    DataLogShard ...   :   ...
    DataLogShard 12 : bucket_a:0bucket_b:3
    DataLogShard 13 : bucket_a:4bucket_b:7bucket_c:5 ...
    DataLogShard ... : ...

    当某个BucketInstanceShard内的数据发生变化时,对应的DataLogShard的datalog会记录哪个BucketInstanceShard发生了数据变化。

    二、流程图





    '小白打怪' 公众号记录了 非存储相关专业 的 小白 毕业入职 后,四年多在存储领域学习打怪升级的过程,文章干货满满,有趣易懂,非常适合Ceph初学者阅读,欢迎关注同行,共同进步~


    文章转载自Ceph运维技巧及源码分析,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

    评论