Ceph剖析:故障检测】的更多相关文章

作者:吴香伟 发表于 2014/10/10 版权声明:可以任意转载,转载时务必以超链接形式标明文章原始出处和作者信息以及版权声明 心跳是用于OSD节点间检测对方是否故障的,以便及时发现故障节点进入相应的故障处理流程.故障检测需要在故障的发现时间和心跳带来的负载之间做权衡,如果心跳频率太高则过多的心跳报文会影响系统性能,如果心跳频率过低则会延长发现故障节点的时间,从而影响系统的可用性. 建立连接 在大规模部署的场景中,如果任意两个OSD节点间都建立心跳连接将带来巨大的负担.尤其,当新加入一个OSD…
作者:吴香伟 发表于 2014/10/9 版权声明:可以任意转载,转载时务必以超链接形式标明文章原始出处和作者信息以及版权声明 总体上,Ceph的消息处理框架是发布者订阅者的设计结构.Messenger担当发布者的角色,Dispatcher担当订阅者的角色.Messenger将接收到的消息通知给已注册的Dispatcher,由Dispatcher完成具体的消息处理. 在服务端,SimpleMessenger通过Accepter实例监听端口,接收来自客户端的连接.Accepter接受客户端的连接后…
作者:吴香伟 发表于 2014/10/8 版权声明:可以任意转载,转载时务必以超链接形式标明文章原始出处和作者信息以及版权声明 Recovery阶段 在Leader选举成功后,Leader和Peon都进入Recovery阶段.该阶段的目的是为了保证新Quorum的所有成员状态一致,这些状态包括:最后一个批准(Committed)的提案,最后一个没批准的提案,最后一个接受(Acceppted)的提案.每个节点的这些状态都持久化到磁盘.对旧Quorum的所有成员来说,最后一个通过的提案应该都是相同的…
作者:吴香伟 发表于 2014/09/11 版权声明:可以任意转载,转载时务必以超链接形式标明文章原始出处和作者信息以及版权声明 Paxos算法存在活锁问题.从节点中选出Leader,然后将所有对数据的修改都通过Leader作为提案提出,可以让算法快速收敛.Leader的选举规则是,由当前活动的Monitor节点中rank值最小的节点当选.选举不仅会产生Leader还将确定Quorum成员,Quorum成员就是那些支持新Leader节点当选Leader的节点.因此,虽然不能保证Leader的ra…
作者:吴香伟 发表于 2014/09/05 版权声明:可以任意转载,转载时务必以超链接形式标明文章原始出处和作者信息以及版权声明 数据分布是分布式存储系统的一个重要部分,数据分布算法至少要考虑以下三个因素: 1) 故障域隔离.同份数据的不同副本分布在不同的故障域,降低数据损坏的风险: 2) 负载均衡.数据能够均匀地分布在磁盘容量不等的存储节点,避免部分节点空闲部分节点超载,从而影响系统性能: 3) 控制节点加入离开时引起的数据迁移量.当节点离开时,最优的数据迁移是只有离线节点上的数据被迁移到其它…
定时器的作用是在指定的时间执行指定的动作.SafeTimer通过multimap数据结构维护定时项,定时项是时间和事件的Pair,定时项在map中按照定时时间从小到大排列.此外,SafeTimer使用一个线程来轮询定时项,当到达定时项指定的时间时执行对应的事件.下面代码是这个线程的入口函数: void SafeTimer::timer_thread() { lock.Lock(); while (!stopping) { utime_t now = ceph_clock_now(cct); //…
线程池ThreadPool的实现符合生产者-消费者模型,这个模型解除生产者消费者间的耦合关系,生产者可以专注处理制造产品的逻辑而不用关心产品的消费,消费者亦然.当然,生产者消费者之间需要一个连接的纽带,那就是产品接口.产品接口是对这两者的约束,生产者生产的产品要符合产品的接口,消费者依据产品接口来消费. Thread类是ThreadPool中的消费者,它封装pthread API函数,对外提供Thread::entry()作为线程的入口函数.Thread只是对消费者的抽象,WorkThread才…
目录 文章目录 目录 Ceph 简介 Ceph 的架构:分布式服务进程 Ceph Monitor(MON) Ceph Object Storage Device Daemon(OSD) Ceph Metadata Server(MDS)[可选] Ceph 的架构:核心组件 Ceph RADOS(Reliable, Autonomic, Distributed Object Store) LIBRADOS Ceph Reliable Block Storage(RBD) Ceph RADOS Ga…
Ceph理论 Ceph 简介 Ceph 是一个开源项目,它提供软件定义的.统一的存储解决方案 .Ceph 是一个具有高性能.高度可伸缩性.可大规模扩展并且无单点故障的分布式存储系统 . Ceph 是软件定义存储解决方案 Ceph 是统一存储解决方案 Ceph 是云存储解决方案 Ceph 官方文档:http://docs.ceph.com/docs/mimic/ Ceph 的架构:分布式服务进程 2.1 Ceph Monitor(MON) Ceph 监视器服务进程,简称 MON.负责监控集群的监控…
转载请注明出处 陈小跑 http://www.cnblogs.com/chenxianpao/p/5878159.html 本文只梳理了大致流程,细节部分还没搞的太懂,有时间再看,再补充,有错误请指正,谢谢. Ceph 的主要一大特点是强一致性,这里主要指端到端的一致性.众所周知,传统存储路径上从应用层到内核的文件系统.通用块层.SCSI层到最后的HBA和磁盘控制器,每层都有发生错误的可能性,因此传统的端到端解决方案会以数据块校验为主来解决.而在 Ceph 方面,更是加入了 Ceph 自己的客户…