高可用集群(HA)的搭建【翻译】

?

高可用集群的搭建

解决方案一: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一起工作。

??? ldirectord相比mon的优势有:
??? 1) 它是专门为LVS写的
??????? 它读取配置文件/etc/ha.d/xxx.cf,该文件中包含了所有的IPVS 路由表配置。当ldirectord启动时,IPVS路由表就会正确的配置。

??? 2) 它可以方便被heartbeat启动/停止。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值