我在数据中心有两台服务器,两个网站 abc.com、cde.com 和我的模型:
ESXi 1
- 来自 ISP 的 NIC1 113.11.11.11
- NIC2 192.168.1.1 交叉连接 NIC2 ESXi2
- 虚拟机 CentOS6 iptables1
- ESXi2 上的 HA 代理 1 与 HA 代理 2 进行故障转移
- VM CentOS6 apache1 与 ESXi2 上的 apache2 进行 rsync
- VM CentOS6 mysql1 与 ESXi2 上的 mysql2 进行复制
ESXi 2
- 来自 ISP 的 NIC1 113.11.11.12
- NIC2 192.168.1.2 交叉连接 NIC2 ESXi1
- 虚拟机 CentOS6 iptables2
- HA 代理 2 故障转移
- 虚拟机CentOS6 apache2
- 虚拟机CentOS6 mysql2
当 ESXi1 关闭时,客户端无法连接到网站,因为 abc.com、cde.com 指向 ESXi1 的 IP 113.11.11.11。
当其中一个客户端宕机时,仍然可以连接网站。该怎么办?
请给我建议!非常感谢
答案1
理想情况下,你会这样做:
- 在您的 ESX 上创建 HA 防火墙(例如 pfsense)
- 让该 FW 拥有具有外部 IP 的 VIP
- 将该 IP 端口转发至 HA 代理内部 VIP
此外,正如@Chopper3 所建议的,您应该添加一个交换机、适当的 VLAN 和所有这些东西。
答案2
高可用性——您正在做......但并不完全正确。
您现有的设置有两个 IP 地址 - 大概 113.11.11.11 指向 上的负载均衡器ESXi 1
,而 113.11.11.12 指向 上的负载均衡器ESXi 2
。
对于上面记录的配置,您至少需要 3 个 IP 地址:
113.11.11.11 --> ESXi 1
113.11.11.12 --> ESXi 2
113.11.11.13 --> 当一台服务器发生故障时来回切换的共享(HA)地址。
您的客户请求应该指向共享地址。
您可以使用以下方式配置此类设置pfSense 中的 CARP或与您所使用的操作系统相当的功能。
或者,您可以交叉连接您的 VMWare 环境并利用VMWare 的内置高可用性功能在发生硬件故障或计划维护时将正在运行的虚拟机从 迁移ESXi 1
到。ESXi 2
答案3
一种解决方案是使用负载均衡器。您可以将负载均衡器的 IP 地址设置为 113.11.11.11,然后将负载均衡器配置为将两个网站的流量发送到 192.168.1.1、192.168.1.2 或两者。当一台服务器发生故障时,负载均衡器会将所有流量发送到另一台服务器。