Ceph 故障检测机制

Ceph采用OSD之间心跳、OSD向Monitor汇报伙伴OSD失效以及OSD到Monitor心跳的机制进行故障检测。伙伴OSD在超时后加入failure_queue,OSD向Monitor发送失效报告。Monitor收集报告并统计下线OSD,心跳超时则标记为Down。Ceph的设计兼顾及时性、压力分散和网络抖动容忍。
摘要由CSDN通过智能技术生成

1. 节点故障检测概述

节点的故障检测是分布式系统无法回避的问题,集群需要感知节点的存活,并作出适当的调整。通常我们采用心跳的方式来进行故障检测,并认为能正常与外界保持心跳的节点便能够正常提供服务。一个好的故障检测策略应该能够做到:

  • 及时:节点发生异常如宕机或网络中断时,集群可以在可接受的时间范围内感知;
  • 适当的压力:包括对节点的压力,和对网络的压力;
  • 容忍网络抖动
  • 扩散机制:节点存活状态改变导致的元信息变化需要通过某种机制扩散到整个集群;

不同的分布式系统由于其本身的结构不同,以及对一致性、可用性、可扩展性的需求不同,会针对以上几点作出不同的抉择或取舍。下面我们就来看看Ceph是怎么做的。

2. Ceph故障检测机制

Ceph作为有中心的分布式结构,元信息的维护和更新自然的都由其中心节点Ceph Monitor来负责。节点的存活状态发生改变时,也需要Monitor来发现并更新元信息并通知给所有的OSD节点。最自然的,我们可以想到让中心节点Monitor保持与所有OSD节点之间频繁的心跳,但如此一来,当有成百上千的OSD节点时Monitor变会有比较大的压力。之前在Ceph Monitor and Paxos中介绍过Ceph的设计思路是通过更智能的OSD和Client来减少对中心节点Monitor的压力。同样的,在节点的故障检测方面

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值