我一直在阅读Galera集群的文档:http://galeracluster.com/documentation-webpages/genindex.html
我一直看到建议(或者,在某些地方,明确的限制)最小集群是3个节点.
我的问题是,在一个节点发生故障后,最小集群会发生什么.
群集会将状态更改为不可用吗?
剩余的2个节点是否仍会复制?
是否仍会自动添加新节点?
G-Nugget.. 6
这取决于节点离开集群的方式.下面的情况假设一个三节点集群,其中一个节点离开,所有节点通过以太网交换机连接.
如果一个节点由于重新启动服务或复制问题而正常关闭自身,则群集将成为双节点群集,并且不会发生任何重大事件.群集将继续正常运行,如果离开的服务器没有提供任何查询,则操作不会中断.
如果节点由于网络问题而丢失或以其他方式离开而没有告知群集的其余部分,则可能出现问题.要使群集正常运行,它需要一个仲裁,群集中的大多数节点都处于活动状态.另外两个节点将继续正常运行,因为它们的分区有超过一半的已知节点,但是当它意识到它不再与活动分区接触时,剩下的节点将停止接受查询.在这种情况下,假设应用程序可以访问两个活动节点,则故障可能大多未被注意到.
三个服务器是建议最小值的主要原因是为了增加在出现网络问题时法定人数存在的可能性.如果群集具有两个节点(或更一般地,任何偶数个节点),则单个网络链路故障可能导致群集暂停,因为它可以创建具有一半节点的两个分区,两者都没有仲裁.奇数个节点意味着单个网络链路故障不会导致群集暂停,因为总会有仲裁.但是,如果存在多个网络链接故障,则事情会变得更复杂,但只有具有仲裁的分区才能正常运行.
如果某个节点尝试连接到群集中的活动分区,它将正常加入.如果它只能连接到非活动分区,它将在尝试联系活动分区时等待一段可配置的时间.
有关更多信息,请访问http://galeracluster.com/documentation-webpages/recovery.html.
这取决于节点离开集群的方式.下面的情况假设一个三节点集群,其中一个节点离开,所有节点通过以太网交换机连接.
如果一个节点由于重新启动服务或复制问题而正常关闭自身,则群集将成为双节点群集,并且不会发生任何重大事件.群集将继续正常运行,如果离开的服务器没有提供任何查询,则操作不会中断.
如果节点由于网络问题而丢失或以其他方式离开而没有告知群集的其余部分,则可能出现问题.要使群集正常运行,它需要一个仲裁,群集中的大多数节点都处于活动状态.另外两个节点将继续正常运行,因为它们的分区有超过一半的已知节点,但是当它意识到它不再与活动分区接触时,剩下的节点将停止接受查询.在这种情况下,假设应用程序可以访问两个活动节点,则故障可能大多未被注意到.
三个服务器是建议最小值的主要原因是为了增加在出现网络问题时法定人数存在的可能性.如果群集具有两个节点(或更一般地,任何偶数个节点),则单个网络链路故障可能导致群集暂停,因为它可以创建具有一半节点的两个分区,两者都没有仲裁.奇数个节点意味着单个网络链路故障不会导致群集暂停,因为总会有仲裁.但是,如果存在多个网络链接故障,则事情会变得更复杂,但只有具有仲裁的分区才能正常运行.
如果某个节点尝试连接到群集中的活动分区,它将正常加入.如果它只能连接到非活动分区,它将在尝试联系活动分区时等待一段可配置的时间.
有关更多信息,请访问http://galeracluster.com/documentation-webpages/recovery.html.