Percona群集 - 主节点失败,如何继续

时间:2016-06-25 14:00:20

标签: mysql percona galera

我有一个5节点Percona Galera Mysql Cluster。

真正的主节点和一个奴隶死了(服务器关闭)我假设,现在其中一个从属节点是主节点,我检查了他们的状态(网站关闭)他们都是同步而不是改变,我想要开始备份主节点,然后重新获得主节点" master-ish"状态并获取数小时的更新数据。

这是一个活跃的高交易数据库,因此数据非常重要。

我可以正常启动主设备,还是应该/可以从更新的从设备复制数据并将其粘贴到主设备中? (我知道一切都在哪里)。

什么是最好的行动方案?

3 个答案:

答案 0 :(得分:2)

鉴于您有5个节点集群,2个已经死亡,您仍然具有仲裁,这意味着您的集群仍然处于活动状态,可以提供服务查询。 所有节点都应该同步,这样您就可以将任何活动节点作为主节点,并重新启动故障节点。 (没有master的概念,但上面的master意味着你可以让你的应用程序指向它作为主节点)。

如果活动节点(群集)上没有太多活动,则失败的节点会执行IST来追赶。如果有太多的活动意味着写入集在活动节点gcache中不再可用,则SST将完成。

答案 1 :(得分:1)

这里有来自MariaDB的一些东西

  

MariaDB Galera Cluster是MariaDB的同步多主集群。它仅在Linux上可用,并且仅支持   XtraDB / InnoDB存储引擎(虽然有实验支持   对于MyISAM - 请参阅wsrep_replicate_myisam系统变量。)

     

从MariaDB 10.1开始,Galera Cluster的wsrep API就是   包含在默认情况下这可以单独下载   MariaDB 10.0和MariaDB 5.5

功能

  
      
  • 同步复制
  •   
  • 主动 - 主动多主拓扑
  •   
  • 读取和写入任何群集节点
  •   
  • 自动成员资格控制,失败的节点从群集中删除
  •   
  • 自动加入节点
  •   
  • 行级别的真正并行复制
  •   
  • 直接客户端连接,本机MariaDB
  •   

外观&感受益处

上述功能为

带来了好处
  

DBMS群集解决方案,包括:

     
      
  • 没有奴隶滞后
  •   
  • 没有丢失交易
  •   
  • 读写可扩展性
  •   
  • 较小的客户端延迟
  •   

它与 MaxScale 数据库代理完美配合。

这里还有FromDual的概述,它不是最新的,但你可以看到Galera的作品非常好。

https://www.fromdual.com/sites/default/files/galera_fromdual_cm_2013.pdf

答案 2 :(得分:0)

一个可以将Galera视为Master + N-1 Slaves。但如果指定的大师去世,你会失去一些正常运行时间 - 正如你所发现的那样。有一些有效的'使用这种配置的原因,但将所有节点视为读写是正常的,在这种情况下,一个节点的死亡几乎不会引起注意。

如果您只是重新启动死主机,它将与其他节点通信,并可能需要快速IST来修复数据。

如果您必须用新盒子替换死亡的Master,则需要使用SST来加载数据。那是自动化的;你什么都不做(或几乎没有)。由于SST需要与数据量成比例的时间量,因此可能需要很长时间。 您不应自行复制数据。

如果你有一个计划在主服务器死亡时将写入路由到另一个节点会更好。这可能会导致整个系统中断最少。

另一个选择是更改节点的IP地址,以欺骗客户认为它是旧主人。

另一个想法是在5个节点前面使用代理(MaxScale,HAProxy等),并重新配置它以建立新的主节点。