虚拟机之间共享静态 IP

虚拟机之间共享静态 IP

从现在开始,我使用 apache2 的 vhost 功能将多个域绑定到一个公共静态 IP。

现在我正在设置一个具有 4 个 IP 和多个虚拟机的 XEN 主机,其中两个是纯 Web 服务器。这两台虚拟机可以共享一个公共 IP 吗?每台虚拟机在同一个公共 IP 上都有一组虚拟主机。

替代文本

编辑:好的,基于主机的重定向怎么样? 替代文本

答案1

如果你只关心提供 http 服务,你很可能想要安装一个软件负载均衡器/反向代理,例如. Xen 主机上的配置(再次——最有可能)看起来像

ListenHTTP
            Address xx.xx.xx.xx
            Port    80

            Service
                BackEnd
                    Address ip.of.webserver.1
                    Port    80
                End
                BackEnd
                    Address ip.of.webserver.2
                    Port    80
                End
            End
End

您还需要在 Xen 主机上设置转发和 iptables 规则;它可能已经设置好了。

答案2

如果两个服务器的 IP 相同,我认为您无法拆分发送到这两个服务器的请求?

为什么需要设置成同一个IP呢?

不过图表不错

答案3

正如 radius 和其他人所说,我不相信可以仅通过为服务器提供相同的 IP(他们会抱怨重复的地址,其中一个最终将没有 IP)或相同的辅助 IP(如上所述,但更难排除故障)来做到这一点。

更好的选择是循环 DNS,您可以将每个 Web 服务器的 IP 添加到相同的“A”记录,并且对该“A”记录的查询每次都会返回不同的地址,或者返回一个地址列表供您的客户端选择。另一个选择是在两个 Web 服务器前面添加某种负载平衡应用程序,以将流量平等地路由到每个服务器(或只路由到其中一个,另一个作为故障转移)您可以使用安装了 mod_proxy 的另一个 Apache 实例来执行此操作。

您想使用其中哪一个取决于您为什么要这样做 - 我们是在谈论某种高可用性/集群的东西吗?

答案4

根据您的编辑,您可以使用反向代理。Apache 可以做到这一点。Pound 是另一个已经提到的解决方案。

相关内容