osd挂掉对业务的影响

结论:一个osd挂掉,按照默认配置,当时的写请求约卡顿20s;
逻辑:每个pg的osd之间会间隔osd_heartbeat_interval(默认6s)进行相互心跳,一旦心跳不通,并且距离上次检测超过osd_heartbeat_grace(默认20s)则会向mon汇报该osd down,mon收到mon_osd_min_down_reporters个osd投票抱怨该osd down,则会将该osd置为down并广播osdmap,(被票死的收到osdmap在osd_max_markdown_period期间超过osd_max_markdown_count次后,就会自杀),mon将pg修改为peering态,该pg的Acting set Primary开始进行Peering,(如果down的osd在Acting set中)则将down的osd从Acting set,Acting set尝试重新找一个满足crush rule的osd加入(如果找不到,则会变成undersized)Peering发现数据有缺失,于是向mon汇报请求置为degraded态,mon将pg修改为degraded态,client开始恢复读写,对于写请求,如果是从osd挂掉了,pg中的主osd收到最新osdmap则只需确保当前pg的actingSet全返回即可向用户返回,所以约卡顿20s;对于读请求,如果是主osd挂掉了,需要Peering完之后,client收到最新osdmap后重试新的pg主osd读,所以也是约20s

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值