第十九章 镜像架构和规划 - 规划镜像虚拟 IP (VIP)
规划镜像虚拟 IP (VIP)
如内置机制中所述,当镜像 VIP
正在使用且成员成为主要成员时,VIP
将重新分配给新的主要成员,这允许所有外部客户端和连接与单个静态 IP
交互,而不管哪个故障转移成员是目前担任小学。
在故障转移过程中,遇到网络断开连接的连接客户端能够在备份成为主要后重新连接。如果配置了 VIP
,备份只有在成功分配 VIP
后才能完成故障转移;否则,故障转移过程将中止,镜像需要手动干预。
在准备设置镜像 VIP
时,请考虑以下事项:
- 要使用镜像
VIP
,两个故障转移成员必须配置在同一子网中,并且VIP
必须与在每个系统上选择的网络接口属于同一子网。DR
异步成员必须在同一子网上有一个网络接口,以便在作为灾难恢复的一部分提升为主时能够获取VIP
;如果不是这种情况,则必须将替代的重定向机制纳入灾难恢复程序。 - 当故障转移和/或
DR
异步成员位于不同的数据中心时,可以跨数据中心扩展VLAN
子网以继续支持相同的VIP
地址。这需要两个站点之间的第2
层连接,并且可能不足以满足所有情况;请参阅双数据中心的镜像配置和地理上分离的灾难恢复中的讨论。 - 应该在你的
DNS
服务器上为VIP
分配一个DNS
名称,以供连接的客户端使用。 - 如果
VIP
正在使用中并且从VIP
子网中删除了故障转移成员,则该成员必须降级为DR
异步(请参阅将备份降级为DR
异步)或从镜像中删除,或者必须从两个故障转移中删除VIP
配置成员。否则,当故障转移成员尝试接管为主节点时,它将无法获取VIP
,因此无法成为主节点。
重要信息:如果一个或多个镜像成员是 UNIX®
或 Linux
系统上的非根 IRIS
实例,如安装指南中“在 UNIX®
和 Linux
上安装 IRIS”一章的 IRIS
非根安装中所述,一个无法使用镜像VIP
。
虚拟环境中的镜像
在构成镜像的IRIS
实例安装在虚拟主机上的虚拟环境中使用镜像,可创建一种混合高可用性解决方案,将镜像的优点与虚拟化的优点结合起来。虽然镜像通过自动故障切换提供对计划内或计划外停机的即时响应,但在发生计划外计算机或操作系统停机后,虚拟化HA
软件会自动重新启动承载镜像成员的虚拟机。这允许出现故障的成员快速重新加入镜像以充当备份(或在必要时接管为主镜像)。
在虚拟环境中配置镜像时,以下建议适用:
- 故障转移成员的虚拟主机应该配置为永远不会驻留在同一台物理主机上。
- 为避免单点存储故障,故障转移成员上
IRIS
实例使用的存储应永久隔离在单独磁盘组或存储阵列上的单独数据存储中。 - 在虚拟化平台级别执行的某些操作(例如备份或迁移)可能会导致故障转移成员长时间无响应,从而导致不需要的故障转移或不希望的警报频率。要解决此问题,可以增加
QoS
超时设置(请参阅服务质量 (QoS
) 超时)。 - 在执行导致故障转移成员连接中断的计划内维护操作时,可以暂时停止备份镜像以避免不必要的故障转移和警报。
- 必须非常小心地对镜像成员使用快照管理,因为将成员恢复到较早的快照会同时擦除该成员的最新状态(例如,自拍摄快照以来可能已从主要状态更改为备份状态)和日志其他成员仍然拥有的数据。尤其,
- 已恢复到较早快照的故障转移成员只能从断电状态恢复;从开机状态恢复它可以使两个故障转移成员同时充当主要成员。
- 如果恢复到较早快照的故障转移成员成为主要成员而没有获得自快照以来创建的所有日志数据——例如,因为它被迫成为主要成员——必须重建所有其他镜像成员(如重建镜像中所述成员)。
云环境中的镜像
当 IRIS
部署在公共云平台上时,镜像可以提供强大的高可用性和灾难恢复解决方案。虽然您的部署细节会因应用程序要求而异,但一些一般注意事项是:
- 最佳做法是在同一区域内的两个可用性区域之间拆分故障转移成员。此配置平衡了延迟和弹性注意事项。
- 如果应用程序具有异常高的更新工作负载或使用同步提交事务,可能会考虑通过使用邻近放置组进行部署以牺牲弹性为代价进一步减少延迟。这些放置组在物理上将虚拟机实例彼此靠近放置在单个可用区内,从而实现最低延迟。此配置的弹性较低,只有在应用程序需要极低的延迟时才应考虑。
- 为了最大限度地提高弹性,
DR
异步成员应位于与故障转移成员不同的区域中。 - 通常,
VIP
不能在云环境中使用。但是,还有其他选择。负载均衡器(物理或虚拟)等网络流量管理设备可用于实现与VIP
相同级别的透明度,为客户端应用程序或设备提供单一地址。在平台上deoending
,也可以使用专用配置建立VIP
。有关在云环境中故障转移后配置应用程序重定向的这些选项的详细信息,请参阅没有虚拟IP
地址的数据库镜像在新选项卡中打开和AWS
上的VIP
在 开发人员社区中打开在新选项卡中。 - 仲裁器通常应放置在与
Web
服务器相同的网络层中,或者位于基于云的IRIS
部署的入口点所在的任何位置。如果没有Web
或应用程序服务器,则可以将仲裁器放置在与镜像成员本身相同的层或安全组中。 - 在具有两个可用性区域的部署中,仲裁器可以放置在任一区域中。如果已经为其他目的部署了第三个区域,那么将仲裁器定位在该区域中可能是有利的。专门为仲裁器部署第三个区域通常会增加与任何优势不相称的成本和管理开销。
- 在云中镜像时强烈建议加密。最佳做法是对所有镜像成员使用加密,而不仅仅是主要成员。数据库加密保护存储卷上的数据,但不保护镜像成员之间传输的数据。为了保护传输日志中的数据,还应该配置加密。公共云平台还提供数据库加密,这可能需要在配置存储卷时指定。