migrator

auth pin:

一是保证数据pin在cache中,一是确保这些数据的auth不会被改变--其实就是不会被迁移走。

ceph中,dentry,inode,dir都有authpin计数器。

注意一点:authpin必定是auth的元数据才具有!这个很明显。

 

freezing:

authpin的另外一个特别用途,就是可以防止子树进入frozen状态!

如果要迁移元数据,必须要先frozen它。

子树的根,初始化标记为freezing,千万注意,freezing的子树不能增加新的authpin!!!只有当子树上所有的authpin都清除掉后,才可以标记为frozen状态。

疑问:1、是先freezing还是先authpin?

            2、authpin后可以update吗?

            3、freezing后可以update吗?

ceph中有句话是这么说的:frozen后所有的update被禁止,此时可以保证元数据信息被打包发送给新的authmds。

 

重要一点:一个frozen的子树,除了子树的root dir外,其他所有的dir都会authpin住它的inode!!!

why?--这样做的目的是防止父目录被冲突frozen!导致对bound的一系列影响!!

疑问:对inode加authpin了,能保证inode所在的dir不被frozen吗?

 

疑问:缓存过期如何处理?

冻结机制如何做?

 

------------------------------分割线-------------------------------------

Normal Migration:

exporter:                                                                                                   importer:

1-做check,看是否满足迁出条件

mds没出故障、子树不是freezing或frozen

必须已经拿到了路径锁(防止rename冲突)

2-把子树根authpin,随后设置子树为freezing

OK!准备就绪!可以迁移了!                                               

                                         

                                     ---------------discover msg----------------->        discover的目的,是保证要迁移的子树的rootdir,dir->pstInode

                                                                                                                   都是在缓存中存在的。不存在的话,要让其存在!

                                                                                                                    对其pin住(?)以防止被trime!                                                                             

 

importer就绪了,我可以清除我的authpin了

以让subtree进入frozen态!

此时发送pre消息------------------------------------------>                           勾画出子树的整体图(包括所有dirs,inodes,dentries直到bound)

                                                                                                                    输入区域已经确定。且你要保证这个区域内的对象都有正确auth的。如何

                                                                                                                    保证?--此时冻结整棵子树,防止新的副本和缓存过期!--what means?

 

**待续**

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值