设置两个虚拟机之间故障转移的心跳代理的最佳方法是什么?

设置两个虚拟机之间故障转移的心跳代理的最佳方法是什么?

我在 VirtualBox 中有两个虚拟机,它们的网络适配器使用 NAT。它们都获得相同的 IP 地址,因此我需要重新配置它;但是,如果知道这一点,是否可以设置一个心跳代理,以便在两个虚拟机中的一个发生故障时对 Apache 服务器进行故障转移?

我设想的方式是,可以通过 :80 从外部访问 Web 服务器。无论运行的是哪个 VM,我都能够通过该 IP/端口访问网站,因为已设置故障转移。

当网络适配器设置为 NAT 时,我在设置 IP 时遇到了麻烦,人们告诉我我不应该在此配置中设置 IP。那么我应该怎么做才能实现我想要的效果?这可行吗?

答案1

最常见的方法是将 Web 服务器置于负载均衡器后面,并让服务在两者上运行。您可以根据需要设置主动/被动和主动/主动。

如果您买不起或者不想购买物理负载均衡器,那么您可以通过以下方式实现您的要求:

  • 设置类似食人鱼,假设您运行的是 Linux。可以使用与运行 Web 服务器相同的机器来实现这一点。

  • 或者你可以将它们聚类RHCS,再次假设您正在运行 Linux。

可能性是无止境。

答案2

简单。您需要为您的 Web 服务提供一个逻辑服务 IP。

完成后,您的资源组包含两项:

  • 逻辑 IP
  • httpd

确保您有足够的心跳线,以便集群在故障转移之前“确切地知道”另一个节点已关闭。

相关内容