Ceph monitor故障恢复的示例分析


小编给大家分享一下Ceph monitor故障恢复的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1问题一般来说,在实际运行中,cephmonitor的个数是2n+1(n>=0)个,在线上至少3个,只要正常的节点数>=n+1,ceph的paxos算法能保证系统的正常运行。所以,对于3个节点,同时只能挂掉一个。一般来说,同时挂掉2个节点的概率比较小,但是万一挂掉2个呢?如果ceph的monitor节点超过半数挂掉,paxos算法就无法正常进行仲裁(quorum),此时,ceph集群会阻塞对集群的操作,直到超过半数的monitor节点恢复。If there are not enough monitors to form a quorum, thecephcommand will block trying to reach the cluster. In this situation, you need to get enoughceph-mondaemons running to form a quorum before doing anything else with the cluster.所以,(1)如果挂掉的2个节点至少有一个可以恢复,也就是monitor的元数据还是OK的,那么只需要重启ceph-mon进程即可。所以,对于monitor,最好运行在RAID的机器上。这样,即使机器出现故障,恢复也比较容易。(2)如果挂掉的2个节点的元数据都损坏了呢?出现这种情况,说明人品不行,2台机器的RAID磁盘同时损坏,这得多背?肯定是管理员嫌工资太低,把机器砸了。如何恢复呢?其实,也没有其它办法,只能想办法将故障的节点恢复,但元数据已经损坏。幸好还有一个元数据正常的节点,通过它可以恢复。添加monitor的步骤:$cephmongetmap-o /tmp/monmap# providesfsidand existing monitoraddrs$cephauthexportmon.-o /tmp/monkey#mon.authkey$ceph-mon-inewname–mkfs–monmap/tmp/monmap–keyring/tmp/monkey所以,只要得到monmap,就可以恢复monitor了。为了模拟,考虑2个monitor节点,挂掉一个,此时通过网络访问ceph的所有操作都会被阻塞,但monitor的本地socket还是可以通信的。但是,让人蛋疼的是通过socket不能进行monmap的导出。不过,幸好有monmaptool工具,通过它,我们可以手动生成(注意fsid):#monmaptool–create–add vm2 172.16.213.134:6789 –add vm3 172.16.213.135:6789 –fsideb295a51-ec22-4971-86ef-58f6d2bea3bf–clobbermonmapmonmaptool:monmapfilemonmapmonmaptool: setfsidto eb295a51-ec22-4971-86ef-58f6d2bea3bfmonmaptool: writing epoch 0 tomonmap(2 monitors)将正常monitor节点的monkey拷贝过来:#cat/var/lib/ceph/mon/cluster1-vm2/keyrin开发云主机域名g[mon.]key= AQDZQ8VTAAAAABAAX9HqE0NITrUt7j1w0YadvA==capsmon= “allow *”然后初始化:#ceph-mon–cluster cluster1 -ivm3 –mkfs–monmap/root/monmap–keyring/tmp/keyringceph-mon: setfsidto eb295a51-ec22-4971-86ef-58f6d2bea3bfceph-mon: createdmonfsat /var/lib/ceph/mon/cluster1-vm3 for mon.vm3最后,启动故障节点:#ceph-mon–cluster cluster1 -ivm3 –public-addr172.16.213.135:6789一切OK!以上是“Ceph monitor故障恢复的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注开发云行业资讯频道!

相关推荐: 如何进行NFS PersistentVolume实践

如何进行NFS PersistentVolume实践,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。作为准备工作,我们已经在 k8s-master 节点上搭建了一个 NFS 服务器,目录为/nfsd…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 05/31 22:31
下一篇 05/31 22:31

相关推荐