cephCEPH单活MDS主从切换流程REPLAY

这里注意一个特殊情况,即stand-replay状态下的mds也是持有rank的,s且id和其follow的activemds的rankid同样,如下图所示

下面是一个journalevent例子(中间折叠了很多内容):

参考下图:注意图仅列出mds一些架构和核心类,实际构成更复杂,涉及的类别和逻辑更多。

冷备:默认配置下,除activemds外其余MDS均处于standby除了保持和mon心跳,别的什么都不做,cache为空,无rank。

热备:配置allow_standby_replay为true,每个activemds会有专属的standby-replaymds在follow,持有和activemds相同的rankid,不断从rados中读取journal加载到cache尽可能和actviemds保持同步。

显然,在热备状态下会有一个standby-replay的mds一直在更新cache,这样,当切换发生时,切换过程会更快。

首先,在分析切换过程之前,首先要明确MDS切换的两个核心思想:

上面已经介绍过了mds在切换过程中,mon和mds的交互都是mdsmap,先看下面mdsmap处理流程:

MDSDaemon::handle_mds_map:

MDSRankDispatcher::handle_mds_map:逻辑太多,只截取了一些代码

可以看到,冷备和热备的切换流程的不同主要体现在切换前和replay两个阶段,其余流程基本相同。

REPLAYSTART

replay流程由MDSRank::replay_start()触发,其触发bootstart过程以及获取新的osdmap

voidMDSRank::replay_start(){dout(1)<<"replay_start"get_last_failure_osd_epoch(),fin);//获取到了osdmap之后则已经ready去replay了,调用boot_start进行replayif(ready){deletefin;boot_start();}else{dout(1)<<"waitingforosdmap"

ACTUALREPLAY

replay线程的逻辑:

while(1){ 1、读取一条journal记录,如果满足条件则flush 2、解码成logEvent格式 3、replay:根据journal信息在内存中重建CInode,CDir,CDentry等信息,并根据journal内容对dentry进行各种设置}UP:RECONNECTBEFORECLIENTRECONNECT

MDSRank::reconnect_start():

voidMDSRank::reconnect_start(){dout(1)<<"reconnect_start"with_osdmap([&blacklist,&epoch](constOSDMap&o){o.get_blacklist(&blacklist);epoch=o.get_epoch();});autokilled=server->apply_blacklist(blacklist);dout(4)<<"reconnect_start:killed"

HANDLECLIENTREPLAYREQ

在切换之前可能会有client有未完成的元数据请求,在切换后这些client会重新发送replay请求或者retry请求(不准确)到新的mds,新mds则记录这些client的信息(needclientreplay)

voidServer::dispatch(constMessage::const_ref&m){......//满足条件的client加入到replay_queue中,replay_queue不为空则需要经历client_replay阶段if(queue_replay){req->mark_queued_for_replay();mds->enqueue_replay(newC_MDS_RetryMessage(mds,m));return;}}......}HANDLECLIENTRECONNECT

处理client重连请求,重新建立session,并遍历client的caps:1)clientcaps对应inode在cahce中,则直接在cahce中重建caps2)clientcaps对应的inode不在cache中,则先记录下来

Server::handle_client_reconnect部分代码:

打开openfiletable中的所有inode,记录在cache中的openinginodemap中(前者是用于加速切换过程的,后者是真正维护的openinginode)

处理reconnect阶段记录的caps,根据reconnect阶段记录的caps、session等信息,在cache中为这些client重建caps

遍历cache中的inode和其对应的所有可写client(inodecahce中维护了每个inode有哪些client可写以及可写的范围),如果某个client可写但是没有caps则记录下来

clientreplay主要是对那些切换前有些client的请求原mds已经回复了,但是还没有存journal(会是哪些请求?猜测是clientcache写?)。这些请求在reconneect阶段重新发起,也就是前面提到的handleclientreplayreq。这个阶段记录下的client请求信息在replay_queue中,在clientreplay阶段对这些请求进行replay,并对涉及的inode进行recover。

本文链接:ceph单活mds主从切换流程_jiang4357291的博客-CSDN博客

CD4514B产品参数_产品功能_现货出售

OPA365AIDBVR运算放大器引脚功能配置电路连接图

CD74HC4515中文参数_产品特性_原装现货

CD74AC157中文规格_产品特点_原装供应

电压基准芯片TLV431AIDBVR设备参数引脚图应用图

CD74HCT137中文参数_产品功能_原装供应

CD74HCT354产品规格_产品特征_原厂出售

CD74HC154中文参数_产品功能_原装供应

TPS54335ADRCR同步转换器功能参数应用图原理图

CD4543B产品参数_功能特性_原装现货

详细介绍电流互感器功能区别3CTSRZCT

雅特力携多款AT32MCU新品与应用方案亮相2024慕尼黑上海电子展

AMEYA360|江苏润石RSR58x高压系列高精密基准源

断路器的常见故障和处理方法

普源精电(RIGOL)多通道材料应力测量系统

亚马逊云科技宣布基于自研AmazonGraviton4的AmazonEC2R8g实例正式可用

OPPO与爱立信签署全球战略合作协议

英飞凌推出业界首款符合太空标准的并行接口1Mb和2MbF-RAM,扩大其抗辐射存储器产品组合

2024慕尼黑上海电子展亮点:三款重点展品及解决方案的深度探索

前途未卜的AI个人助理

让“节能”贯穿服务器全生命周期,英特尔至强6能效核处理器的出众之处

英特尔CEO帕特·基辛格:AI正推动业界进入创新黄金时代,影响力堪称空前

英飞凌推出适用于物联网设备进行非接触式验证及安全配置的NFCI2C桥接标签

安森美推出提高数据中心能效的完整电源解决方案

Molex莫仕在中国荣获通用汽车供应商质量卓越奖

整流二极管的应用电源

绝缘栅双极型晶体管应用电路

多位LED数码管

单向晶闸管构成的交流开关电路

压敏电阻器电路

27MHz谐振转换器的直流输出

具有初级电压钳位的氮化镓(GaN)FET可显著实现交流适配器的小型化

栅极驱动器电路设计

现代电磁炉烹饪需要紧凑而高效的解决方案

工业辅助电源中的SiC

锐单2024年51劳动节放假通知

锐单商城2024年清明节放假通知

2024年春节锐单商城放假安排

【通知】2024年元旦锐单商城放假安排

2023年锐单商城国庆节放假通知

艾迈斯欧司朗最新推出的DURISLED将引领柔性多变照明新时代

在线式一氧化碳检测仪XKCON-G600-DCO具有防爆功能,使用于冶金行业场所应用

THE END
1.java实际项目案例网上商城系统(控制台版)Java实现控制台宠物管理系统 Java实现控制台宠物管理系统,实现登录、增删改查,系统经多次测试,运行无误,请大家放心下载。 立即下载 上传者: chendongpu 时间: 2022-12-09 简单的控制台java图书馆管理系统 在面向对象编程课程上制作的简单的控制台图书馆管理系统小练习,包括简单类图和代码、数据文件,多有不足...https://www.iteye.com/resource/weixin_44774255-12919967
2.uml超市管理系统er图用例图类图状态图等等.pdf3 发布公告 发布电子商城系统的相关公告 4 配置系统 完成系统数据备份、数据恢复、系统数据初始化、密码设 置和权限管理等操作 5 初始化系统 在超市销售管理系统启用时,进行相关的初始化工作 6 密码设置 设置后台管理系统的各类管理员的登录密码 7 管理权限 对后台管理系统中的各类管六安的权限进行控制 8...https://mip.book118.com/html/2021/0404/6224033234003132.shtm
3.网上商城系统uml.doc文档简介 1。用例图网站工作人员的用例图客户用例图系统管理员用例图2.类图3顺序图网站工作人员登录系统用户注册系统用户登录商品上架和下架查询商品订单查询用户订购商品会员注册 删除会员4。状态图5。活动图网站工作人员登录系统用户注册用户修改个人信息用户登录商品上架/下架查询商品订购商品订单查询管理员管理...https://www.renrendoc.com/paper/168525830.html
4.某销售公司当前的销售业务为商城实体店销售。现该公司拟开展网络...【答案解析】阅读下列说明,回答问题1至问题3;将解答填入答题纸的对应栏内。【说明】某销售公司当前的销售业务为商城实体店销售。现该公司拟开展网络销售业务,需要开发一个信息化管理系统。请根据公司现有业务及需求完成该系统的数据库设计。【需求描述】(1)记录公司所https://www.cnitpm.com/st/381643598.html
5.商城简单类图stoneuu商城简单类图 分类:java 好文要顶关注我收藏该文微信分享 stoneuu 粉丝-1关注 -0 +加关注 0 0 升级成为会员 ?建表手写语句 ?遍历map posted @2014-11-26 22:10stoneuu阅读(731) 评论(0)编辑收藏举报https://www.cnblogs.com/stit/p/4125095.html
6.在线商城商品类图(关系图)流程图模板在线商城商品类图(关系图) 类图uml 数据库商品分类 商品数据库 数据库 作者其他创作 大纲/内容 分类表(tb_Classfication) + id:type = integer+ name:type = varchar + operation1(params):returnType- operation2(params)- operation3() 生产日期 商品继承类的属性 商品(tb_Item) + id:type = integer...https://www.processon.com/view/5a50a73fe4b05a8ff2ebc38f
1.宠物用品线上商城管理小程序系统搭建随着宠物经济的迅速发展,在线购买宠物用品的需求日益增长。为了满足这一市场需求,广州创智慧科技有限公司致力于为客户提供宠物用品线上商城管理小程序的开发服务。这一系统不仅方便了用户的购物体验,还为商家管理提供了便捷的解决方案,从而提升了整体运营效率。 http://guangzhou040710.11467.com/news/9434823.asp
2.宠物保健品在线商城设计:海外市场的营销策略解析网站建设服务特点: 微科技的在线商城设计服务专注于打造易于使用且高效的电商平台,帮助宠物保健品品牌在全球范围内进行线上销售。该服务能够根据不同的业务需求,提供个性化的商城设计与功能定制,结合强大的后台管理系统,确保商城的高效运营。 用户体验: 一站式购物体验:商城界面简洁、商品展示清晰,消费者可以快速浏览不同类别的宠...https://www.vikj.cn/hangye/11531.html
3.基于Java的宠物用品商城设计与实现(源码+lw+部署文档+讲解等...具体实现截图 用户角色有:管理员、用户 用户端功能有:首页、百科信息、讲坛、留言版、商品信息、个人中心、购物车、后台管理。 管理端功能有:个人中心、百科信息管理、基础数据管理、论坛管理、留言管理、商品管理、用户管理、系统管理。 更多功能请看运行截图! https://www.ctyun.cn/zhishi/p-431652
4.基于ssm的萌宠宜家商城系统设计与实现lw本萌宠宜家商城系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信息,使用这种软件工具可以帮助管理人员提高事务处理效率,达到事半功倍的效果。此萌宠宜家商城系统利用当下成熟完善的SSM框架,使用跨平台的可开发大型商业网站的Java语言,以及最受欢迎的RDBMS应用软件之一的Mysql数据库进行程序...https://blog.csdn.net/QQ849807118/article/details/144148075
5.web大作业基于MVC构架的实时电竞比分追踪网站基于JSP和MYSQL的题库管理系统设计与实现 立即获取 查看详情 JSP项目 源码+数据库 基于JSP的车险模拟系统的设计与实现 立即获取 查看详情 JSP项目 源码+数据库 基于Jsp和MySQL的网上宠物商城系统 立即获取 查看详情 JSP项目 源码+数据库 基于JSP和MySQL...https://cs-work.com/article/228503
6.中国移动网上积分商城统一管理平台的设计与实现课题研究以及在本文中主要阐述内容概要如下: 1、收集研究所需文献、书籍等资料,介绍了移动积分商城的产生背景及构建目标,总结了积分商城系统的重要性,研究了积分商城平台的高度信息化发展趋势。 2、在需求设计部分,本文重点分析了业务需求与管理需求,其中以系统功能模块划分、系统关键业务流程、积分商城门户平台、网站首页...https://cdmd.cnki.com.cn/Article/CDMD-10013-1012498245.htm
7.StarUML3.2.2.zip开发技术StarUML是一款开放源码的UML开发工具,是由韩国公司主导开发出来的产品,可以直接到StarUML网站下载。可以用来创建UML类图。StarUML是一种创建UML类图,生成类图和其他类型的统一建模语言图表的工具。点赞(0) 踩踩(0) 反馈 所需:1 积分 电信网络下载 wo6925371...https://www.coder100.com/index/index/content/id/2895630
8.购物网站程序的架构购物网站的系统分析轩辕的技术博客(4) 订单功能。顾客确定购物车中的商品后提交订单,如顾客已填写收货人信息,则页面显示该信息并由顾客确认。如尚未填写则显示相应表单请其填写,系统记录顾客提交的收货人信息以便其下次购物时使用。顾客提交订单后可在网上商城查询该订单,并可对尚未处理的订单进行取消、修改等操作。 https://blog.51cto.com/u_12227/6794047
9.电子商务系统分析与设计参考题目11篇(全文)电子商务系统分析与设计参考题目 第1篇 ? 组织形式:2人为一个小组 ? 作业要求:采用面向对象分析设计方法,按照RUP基本步骤进行一个电子商务系统的需求分析,系统分析以及系统设计。? 作业提交形式:每个小组提交一份电子版的Word文档 参考题目: 1.2. https://www.99xueshu.com/w/filelkm376qw.html
10.商城网站的模块设计商城网站模块商城网站的模块设计 更多内容 数据库设计中的物理设计 云知识数据库设计中的物理设计数据库设计中的物理设计时间:2021-06-02 14:34:01 数据库 数据库设计中的物理设计阶段是指,在用户确认的逻辑模型基础上,以数据库系统运行效率,业务操作效率,前端应用效率等因素为出发点对模型进行的调整。面向物理实施过程的具体细...https://www.huaweicloud.com/theme/750094-1-S-undefined