Ceph源码解析:PG peering】的更多相关文章

集群中的设备异常(异常OSD的添加删除操作),会导致PG的各个副本间出现数据的不一致现象,这时就需要进行数据的恢复,让所有的副本都达到一致的状态. 一.OSD的故障和处理办法: 1. OSD的故障种类: 故障A:一个正常的OSD 因为所在的设备发生异常,导致OSD不能正常工作,这样OSD超过设定的时间 就会被 out出集群. 故障B: 一个正常的OSD因为所在的设备发生异常,导致OSD不能正常工作,但是在设定的时间内,它又可以正常的工作,这时会添加会集群中. 2. OSD的故障处理: 故障A:O…
转载注明出处,整理也是需要功夫的,http://www.cnblogs.com/chenxianpao/p/5572859.html 一.OSD模块简介 1.1 消息封装:在OSD上发送和接收信息. cluster_messenger -与其它OSDs和monitors沟通 client_messenger -与客户端沟通 1.2 消息调度: Dispatcher类,主要负责消息分类 1.3 工作队列: 1.3.1 OpWQ: 处理ops(从客户端)和sub ops(从其他的OSD).运行在op…
转载请注明出处 陈小跑 http://www.cnblogs.com/chenxianpao/p/5878159.html 本文只梳理了大致流程,细节部分还没搞的太懂,有时间再看,再补充,有错误请指正,谢谢. Ceph 的主要一大特点是强一致性,这里主要指端到端的一致性.众所周知,传统存储路径上从应用层到内核的文件系统.通用块层.SCSI层到最后的HBA和磁盘控制器,每层都有发生错误的可能性,因此传统的端到端解决方案会以数据块校验为主来解决.而在 Ceph 方面,更是加入了 Ceph 自己的客户…
1.简介 随着大规模分布式存储系统(PB级的数据和成百上千台存储设备)的出现.这些系统必须平衡的分布数据和负载(提高资源利用率),最大化系统的性能,并要处理系统的扩展和硬件失效.ceph设计了CRUSH(一个可扩展的伪随机数据分布算法),用在分布式对象存储系统上,可以有效映射数据对象到存储设备上(不需要中心设备).因为大型系统的结构式动态变化的,CRUSH能够处理存储设备的添加和移除,并最小化由于存储设备的的添加和移动而导致的数据迁移. 为了保证负载均衡,保证新旧数据混合在一起.但是简单HASH…
Peering:一个PG内的所有副本通过PG日志来达成数据一致的过程.(某PG如果处于Peering将不能对外提供读写服务) Recovery:根据Peering的过程中产生的.依据PG日志推算出的不一致对象列表来修复其他副本上的数据. Backfill:通过逐一对比两个PG的对象列表来进行数据修复.(新增的OSD也是通过Backfill完成数据迁移,Backfill与Recovery的区别在于通过PG日志是否还有救,如果无法通过PG日志来修复,就通过Backfill) Cache Tier:基…
[源码解析] 深度学习流水线并行GPipe (2) ----- 梯度累积 目录 [源码解析] 深度学习流水线并行GPipe (2) ----- 梯度累积 0x00 摘要 0x01 概述 1.1 前文回顾 0x02 基本概念 2.1 背景知识 2.2 产生原因 2.3 本质 2.4 VS 数据并行 2.5 解决问题 0x03 PyTorch 梯度累积 3.1 自动累积 3.2 代码示例 3.3 DistributedDataParallel 的梯度累积 3.3.1 单卡模型梯度累计 3.3.2 D…
[源码解析] 深度学习流水线并行 PipeDream(4)--- 运行时引擎 目录 [源码解析] 深度学习流水线并行 PipeDream(4)--- 运行时引擎 0x00 摘要 0x01 前言 1.1 前文回顾 1.2 运行时系统 1.2.1 PyTorch 的特点 1.2.2 PyTorch RPC Distributed RPC framework APIs [Now Stable] 1.2.3 PipeDream的特性 1.2.4 结合起来 0x02 使用 2.1 如何调用 2.2 总体逻…
[源码解析] PyTorch分布式(6) ---DistributedDataParallel -- 初始化&store 目录 [源码解析] PyTorch分布式(6) ---DistributedDataParallel -- 初始化&store 0x00 摘要 0x01 回顾 1.1 基本概念 1.2 初始化进程组 0x02 初始化 2.1 初始化方法 2.2 init_method VS store 2.3 rendezvous 2.4 小结 0x03 Store 3.1 _rend…
[源码解析] PyTorch 分布式(7) ----- DistributedDataParallel 之进程组 目录 [源码解析] PyTorch 分布式(7) ----- DistributedDataParallel 之进程组 0x00 摘要 0x01 回顾 1.1 基础概念 1.2 初始化进程组 0x02 概念与设计 2.1 功能 2.2 本质 0x03 使用 0x04 构建 4.1 Python 世界 4.1.1 rendezvous 4.1.2 _new_process_group_…
[源码解析] PyTorch 分布式之弹性训练(2)---启动&单节点流程 目录 [源码解析] PyTorch 分布式之弹性训练(2)---启动&单节点流程 0x00 摘要 0x01 重要概念 0x02 分布式运行 2.1 方式改变 2.1.1 原有方式 2.1.2 目前方式 2.2 部署 2.3 示例 2.3.1 单节点多worker启动 2.3.2 容错方式启动 2.3.3 弹性方式启动 0x03 启动脚本 3.1 参数定义 3.2 相关函数/变量 world_size,rank _p…