mongo 数据方案-容灾


单点意外崩溃

mongodb仲裁服务器会选举出了一位新主人

同时意外崩溃2个节点

这时副本集中可用的数据节点只有1个了,仲裁服务器无数据的,所以自动降级为 secondary,这时整个集群只可读,不可写。在 secondary (副本 )上无法进行写操作的。只有两台服务器恢复了进程,才能恢复正常。

其中一台硬盘数据损坏

坏掉硬盘的服务器中 mongodb数据会全部丢失,但是我们建立的集群有服务器备份。

接下来换硬盘,装好了准备加入集群,但是!!!!!!!!!!!!!!!!!!!!!

假如我们有三台服务器

当副本集只剩下1台节点会进入 secondary ,就无法写入操作了,无法正常运行应用。 而且如果我们的数据很大,同步的时间就会很长,导致整个应用缓慢,甚至崩溃

所以我们需要四台服务器

所以这里就需要我们对副本集设置4台机器, 让集群中的一台服务器,先脱离集群,然后将数据文件拷贝到新换硬盘的服务器上,然后再将两个服务器加入集群,也就是说(1台服务器崩溃,1台服务器脱离集群去修复,还有2台正好1主1从应用)

总结一下具体步骤

  1. 将副本集中的一台机器脱离副本集

  2. 将这台机器的数据库文件夹 copy 到新安装的 服务器上,或者启动 mongo
  3. db 副本集让这 2 台机器慢慢的同步,这样脱离应用的副本集同步不会拖慢整个副本集

  4. 同步完成以后分别将这两台服务器 加入到原来的副本集中
comments powered by Disqus

Hello, I am Mingyue Li. Read my thoughts on IT and Life

Copyright Declaration:

All articles and pictures contained on this web site is copyright protected. If reproduced, must contain this statement, and indicate the original author and the original address of this article