mon到底能坏几个
如果是在做ceph的配置,我们会经常遇到这几个问题
- 问:ceph需要配置几个mon
答:配置一个可以,但是坏了一个就不行了,需要配置只是三个mon,并且需要是奇数个 - 问:ceph的mon能跟osd放在一起么,需要配置很好么?
答:能跟放在一起,但是建议在环境允许的情况下一定独立机器,并且mon的配置能好尽量好,能上ssd就上ssd
这两个问题的答案不能说是错的,但是为什么这么说,这么说有没有问题,这篇文章将根据实际的数据来告诉你,到底mon的极限在哪里,为什么都说要奇数,偶数难道就不行么
前言
本篇将从真实的实践中,让你更能够理解mon的故障极限,本次测试的场景数据样本足够大,最大的一个测试使用了10个mon,我想目前就算PB基本的ceph集群里也没有人会超过10个mon,所以足够覆盖大部分的场景,先来一个数据图看下10个mon的集群长什么样
cluster ace3c18f-b4a5-4342-a598-8104a770d4a8
health HEALTH_OK
monmap e10: 10 mons at {10=192.168.8.107:6800/0,2=192.168.8.107:6792/0,3=192.168.8.107:6793/0,4=192.168.8.107:6794/0,5=192.168.8.107:6795/0,6=192.168.8.107:6796/0,7=192.168.8.107:6797/0,8=192.168.8.107:6798/0,9=192.168.8.107:6799/0,lab8107=192.168.8.107:6789/0}
election epoch 58, quorum 0,1,2,3,4,5,6,7,8,9 lab8107,2,3,4,5,6,7,8,9,10
osdmap e7: 1 osds: 1 up, 1 in
flags sortbitwise
pgmap v13: 64 pgs, 1 pools, 0 bytes data, 0 objects
34268 kB used, 274 GB / 274 GB avail
64 active+clean
mon的地方可以看到10个mon了
测试结论

ceph的mon能够正常情况需要保证,当前剩余的mon的个数需要大于总mon个数的一半,例如10个mon,mon个数一半就是5个,那么大于5个就是6个,也就是最少需要6个,上面的测试结论也符合这个规则,为什么不去偶数个,是因为当mon的个数为偶数个的时候,允许down的mon的个数与少一个mon的情况下的mon的个数允许的个数是一样的,所以要么多两个,多一个增加不了可靠性,并不是不允许
测试过程的数据
10个mon集群
10个mon的极限
cluster ace3c18f-b4a5-4342-a598-8104a770d4a8
health HEALTH_WARN
4 mons down, quorum 0,1,2,3,4,5 lab8107,2,3,4,5,6
monmap e10: 10 mons at {10=192.168.8.107:6800/0,2=192.168.8.107:6792/0,3=192.168.8.107:6793/0,4=192.168.8.107:6794/0,5=192.168.8.107:6795/0,6=192.168.8.107:6796/0,7=192.168.8.107:6797/0,8=192.168.8.107:6798/0,9=192.168.8.107:6799/0,lab8107=192.168.8.10
10个mon关闭4个没问题,关闭5个就卡死
9个mon集群
9个mon的极限
cluster ace3c18f-b4a5-4342-a598-8104a770d4a8
health HEALTH_WARN
4 mons down, quorum 0,1,2,3,4 lab8107,2,3,4,5
monmap e11: 9 mons at {2=192.168.8.107:6792/0,3=192.168.8.107:6793/0,4=192.168.8.107:6794/0,5=192.168.8.107:6795/0,6=192.168.8.107:6796/0,7=192.168.8.107:6797/0,8=192.168.8.107:6798/0,9=192.168.8.107:6799/0,lab8107=192.168.8.107:6789/0}
9个mon关闭4个没问题,关闭5个就卡死
8个mon集群
8个mon的极限
cluster ace3c18f-b4a5-4342-a598-8104a770d4a8
health HEALTH_WARN
3 mons down, quorum 0,1,2,3,4 lab8107,2,3,4,5
monmap e12: 8 mons at {2=192.168.8.107:6792/0,3=192.168.8.107:6793/0,4=192.168.8.107:6794/0,5=192.168.8.107:6795/0,6=192.168.8.107:6796/0,7=192.168.8.107:6797/0,8=192.168.8.107:6798/0,lab8107=192.168.8.107:6789/0}
8个mon关闭3个没问题,关闭4个就卡死
7个mon集群
7个mon的极限
cluster ace3c18f-b4a5-4342-a598-8104a770d4a8
health HEALTH_WARN
3 mons down, quorum 0,1,2,3 lab8107,2,3,4
monmap e13: 7 mons at {2=192.168.8.107:6792/0,3=192.168.8.107:6793/0,4=192.168.8.107:6794/0,5=192.168.8.107:6795/0,6=192.168.8.107:6796/0,7=192.168.8.107:6797/0,lab8107=192.168.8.107:6789/0}
7个mon关闭3个没问题,关闭4个就卡死
6个mon集群
6个mon的极限
cluster ace3c18f-b4a5-4342-a598-8104a770d4a8
health HEALTH_WARN
2 mons down, quorum 0,1,2,3 lab8107,2,3,4
monmap e14: 6 mons at {2=192.168.8.107:6792/0,3=192.168.8.107:6793/0,4=192.168.8.107:6794/0,5=192.168.8.107:6795/0,6=192.168.8.107:6796/0,lab8107=192.168.8.107:6789/0}
6个mon关闭2个没问题,关闭3个就卡死
5个mon集群
5个mon的极限
cluster ace3c18f-b4a5-4342-a598-8104a770d4a8
health HEALTH_WARN
2 mons down, quorum 0,1,2 lab8107,2,3
monmap e15: 5 mons at {2=192.168.8.107:6792/0,3=192.168.8.107:6793/0,4=192.168.8.107:6794/0,5=192.168.8.107:6795/0,lab8107=192.168.8.107:6789/0}
5个mon关闭2个没问题,关闭3个就卡死
4个mon集群
4个mon的极限
cluster ace3c18f-b4a5-4342-a598-8104a770d4a8
health HEALTH_WARN
1 mons down, quorum 0,1,2 lab8107,2,3
monmap e16: 4 mons at {2=192.168.8.107:6792/0,3=192.168.8.107:6793/0,4=192.168.8.107:6794/0,lab8107=192.168.8.107:6789/0}
4个mon关闭1个没问题,关闭2个就卡死
3个mon集群
3个mon的极限
cluster ace3c18f-b4a5-4342-a598-8104a770d4a8
health HEALTH_WARN
1 mons down, quorum 0,1 lab8107,2
monmap e17: 3 mons at {2=192.168.8.107:6792/0,3=192.168.8.107:6793/0,lab8107=192.168.8.107:6789/0}
3个mon关闭1个没问题,关闭2个就卡死
测试结束
下面为自己玩的一个动态图,10个mon正常,down 4个还是好的,down 5个就无法使用了

mon到底能坏几个的更多相关文章
- (转)CDN——到底用还是不用?
用CDN的七个理由 浏览器从服务器上下载css.js和图片等文件时都要和服务器连接,而大部分浏览器对同一个域名用于下载文件的并发连接数限制在4个,这意味着如果要下载第五个文件就必须等前四个文件中有一个 ...
- CDN——到底用还是不用?
最近在学bootstrap,在知乎上搜索bootstrap看到有人问bootstrap基础包体积较大,对性能影响会不会很大,看到两种方法来减少对性能的影响: 有选择地部分加载,bootstrap带有L ...
- 对Oracle数据库坏块的理解
1.物理坏块和逻辑坏块 在数据库中有一个概念叫做数据块的一致性,Oracle的数据块的一致性包括了两个层次:物理一致性和逻辑一致性,如果一个数据块在这两个层次上存在不一致性,那就对应到了我们今天要要说 ...
- paip.编程语言到底有没有优劣之分优秀之分
paip.编程语言到底有没有优劣之分优秀之分 人有没有优秀之分之分呢??狗有没有优秀之分呢?? 当然是有的,有好人坏人的说法,或者精英平民的区分..狗也有好狗狗,坏狗,疯狗嘛.. 所以,自然,编程语言 ...
- 你好,C++(18) 到底要不要买这个西瓜?4.1.6 操作符之间的优先顺序
4.1.6 操作符之间的优先顺序 在表达一些比较复杂的条件判断时,在同一个表达式中,有时可能会存在多个操作符.比如,我们在判断要不要买某个西瓜时,不仅要判断它的总价(单价8.2元/斤,一共10.3斤) ...
- HttpClient参观记:.net core 2.2 对HttpClient到底做了什么?
.net core 于 10月17日发布了 ASP.NET Core 2.2.0 -preview3,在这个版本中,我看到了一个很让我惊喜的新特性:HTTP Client Performance Im ...
- Python中的logger和handler到底是个什么鬼
最近的任务经常涉及到日志的记录,特意去又学了一遍logging的记录方法.跟java一样,python的日志记录也是比较繁琐的一件事,在写一条记录之前,要写好多东西.典型的日志记录的步骤是这样的: 创 ...
- 硬盘坏道检测工具对比(DiskGenius/HdTunePro/MHDD等)
说到硬盘检测软件,大家肯定会想到MHDD,但是MHDD真的好用?反正我觉得太难用了,只能在DOS下运行,不能在Win系统下运行:最重要的是只支持IDE硬盘模式,现在的主板几乎全部默认都是AHCI模式, ...
- 所以到底什么是 Growth Hacking?
Growth hacking 在硅谷的确是有快被用坏的趋势,之所以在大陆的互联网创业圈里还没有普及开来,我想一个是由于这个词并没有对应的中文解释,没有一个能够找到一个相对完美的解释,就像 “hack” ...
随机推荐
- 正式班D9
2020.10.16星期五 正式班D9 一.vmware workstation的使用 虚拟机管理软件 定义 虚拟机(Virtual Machine)软件是一套特殊的软件,它可以作为操作系统独立运行, ...
- 用 C 语言游戏编程开发!果然最担心的事又发生了!
30了.我要怎么办,老了.人就像一头小毛驴,方向都是牵着的人定的. 这个项目从去年开始的,一个手机游戏,当时接这个项目的时候其实没有太多考虑,我一向都喜欢打肿脸充胖子的,好面子,人家找上门来,不能不给 ...
- spring boot:接口站增加api版本号后的安全增强(spring boot 2.3.3)
一,接口站增加api版本号后需要做安全保障? 1,如果有接口需要登录后才能访问的, 需要用spring security增加授权 2,接口站需要增加api版本号的检验,必须是系统中定义的版本号才能访问 ...
- linux下composer安装
curl -sS https://getcomposer.org/installer | php mv composer.phar /usr/local/bin/composer执行更新compose ...
- js后台提交成功后 关闭当前页 并刷新父窗体
后台提交成功后 关闭当前页 并刷新父窗体 this.ClientScript.RegisterStartupScript(this.GetType(), "message", &q ...
- 第六章 IP基本原理
一.引入 1.IP是网络层协议,也是当今应用最广泛的网络协议之一 2.IP协议规定了数据的封装方式,网络节点的标识方法,用于网络上数据的端到端的传递. 二.IP协议概述 1.IP及相关协议 2.IP的 ...
- 技术债! 怎样简洁高效的实现多个 Enum 自由转换
一:背景 1. 讲故事 前段时间和同事负责一个项目的两个业务模块,可能大家缺少沟通,导致本该定义一个 Enum 的地方结果我俩各自定义了一个,导致后面这两个 Enum 进行对接就烦了,为了方便理解,也 ...
- zookeeper在Dubbo中角色与作用
作者:倪炜链接:http://www.zhihu.com/question/25070185/answer/86166486来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处 ...
- DOM0级事件误区-addEventListener
百度上很多篇文章讲解addEventListener DOM0级事件的时候讲解的都是覆盖 概念如下: 同一个元素的同一种事件只能绑定一个函数,否则后面的函数会覆盖之前的函数 其实不然,官方讲解:添加的 ...
- 使用 tabindex 配合 focus-within 巧妙实现父选择器
本文将介绍一个不太实用的小技巧,使用 tabindex 配合 :focus-within 巧妙实现父选择器. CSS 中是否存在父选择器? 这是一个非常经典的问题,到目前为止,CSS 没有真正意义上被 ...