RELATEED CONSULTING
相关咨询
选择下列产品马上在线沟通
服务时间:9:30-18:00
你可能遇到了下面的问题
关闭右侧工具栏
高可用集群(HA)的搭建【翻译】
  • 作者:xiaoxiao
  • 发表时间:2020-12-23 11:03
  • 来源:未知

?

高可用集群的搭建

解决方案一:The mon+heartbeat+fake+coda solution

mon:一个通用的资源监控系统, 它能监控网络服务的可用性和服务节点。

heartbeat:通过“串行线”或者“UDP”,提供两个节点之间的心跳检测。

fake:通过ARP欺骗(spoofing),实现IP层的主机“接管”。

??? 服务器的故障恢复(failover)是这样处理的:“mon”后台程序在负载均衡器上运行,它负责监控集群中的“服务进程”和“服务节点”。fping.monitor每个t秒会主动检测“服务节点”是否还活着(alive);其他相关的服务监控器每隔m秒主动检测各个节点上的服务进程。比如:http.monitor能检测http服务;ftp.monitor则用来检测ftp服务;等等。当检测到“服务节点”或者“服务进程”死掉或者复活时,警报会自动的在Linux vertual server table中删除或者添加一条规则。因此,负载均衡器会自动的屏蔽掉“服务进程”或者“服务节点”的失效,并且,当它们恢复可用时,又能自动恢复提供服务。

??? 现在,负载均衡器成了一个整个系统的单一失效点,为了屏蔽掉负载均衡器(主负载均衡器)的失效,我们需要设置一个备份的负载均衡器。“fake”软件可以用在这个备份机器(从负载均衡器)上,当主负载均衡器失效时,从负载均衡器可以接管主负载均衡器的IP地址,从而对外提供服务。“heartbeat”用来检测主负载均衡器的状态,从而决定是否启用从负载均衡器上的“fake”。

??? 但是,无论是主从服务器之间的“故障恢复”或者“服务接管”,都将会引起当前已经建立好的连接的失效,这需要客户端重新发送它们的请求。?

??? 网络文件系统Coda是一个容错的分布式文件系统,它是Andrew 文件系统的后继者。引入网络文件系统,主要是为了解决集群中遇到的存储一致性。

解决方案二:The ldirectord + heartbeat solution

??? ldirectord(Linux Director Daemon)是一个单独的进程,用来监控真实服务器的服务,目前,只支持两种服务:http和https。它只需要和heartbeat一起工作。