本指南简要介绍了在 Google Cloud 上部署高可用性 (HA) SAP NetWeaver 系统之前需要了解的选项、建议和一般概念。
本指南假设您已经了解实现 SAP NetWeaver 高可用性系统的通用概念和做法。因此,本指南主要关注在 Google Cloud 上实现此类系统需要了解的内容。
如果您需要详细了解实现 SAP NetWeaver 高可用性系统所需的一般概念和做法,请参阅:
本规划指南仅关注 SAP NetWeaver 的高可用性,不包括数据库系统的高可用性。如需了解 SAP HANA 高可用性,请参阅 SAP HANA 高可用性规划指南。
部署架构
下图展示了使用 Pacemaker 集群软件的基本 Linux 高可用性集群。
该集群包括两个主机:主要主机和辅助主机。每个主机位于同一区域内的不同地区。
该集群使用 SAP Standalone Enqueue Server 2 (ENSA2)。如需了解使用更早版本的 Standalone Enqueue Server (ENSA1) 的集群,请参阅 Standalone Enqueue Server (ENSA1) 架构。
活动的中央服务实例位于主要主机上。活动的 Enqueue Replication Server 2 (ERS) 实例位于辅助主机上。中央服务和 ERS 都有自己的虚拟 IP 地址 (VIP)。在图中,“中央服务”代表 ABAP SAP 中央服务或者(对于 Java 堆栈)SAP 中央服务。
如需详细了解高可用性配置中的 Standalone Enqueue Server 2,请参阅 SAP 说明 2711036 - 在高可用性环境中使用 Standalone Enqueue Server 2。
Standalone Enqueue Server (ENSA1) 架构
在下图中,活动的中央服务实例(包含锁定管理)或 Enqueue 服务,以及非活动的 Enqueue Replication Server (ERS) 实例位于主要主机上。活动的 ERS 实例和非活动的中央服务实例位于辅助主机上。每个中央服务和 ERS 对都有自己的虚拟 IP 地址 (VIP)。在图中,“中央服务”代表 ABAP SAP 中央服务或者(对于 Java 堆栈)SAP 中央服务。
如果发生故障,高可用性集群软件必须将 Standalone Enqueue Server 迁移到运行 Enqueue Replication Server 的节点,以保留锁定信息。如果软件版本支持,请考虑将您的系统更新为使用 Standalone Enqueue Server 2。如需了解详情,请参阅 SAP 说明 2630416 - 对 Standalone Enqueue Server 2 的支持。
Google Cloud 基础架构的高可用性
通过为全球范围内的数据中心部署包含彼此独立地区的冗余基础架构,Google Cloud 具有与生俱来的高可用性。一个地区通常配备与其他地区隔离的电源、冷却、网络和控制面板。如果发生单点故障事件,在大多数情况下,该事件将仅影响单个地区。
在某些情况下,您可能无需针对硬件、存储设备和网络故障实施所有传统的本地保护措施也能满足可用性需求,这样可以节省时间和金钱。
在 Google Cloud 上设计和实施高可用性策略之前,请查看 Google Cloud 服务等级协议。
如需了解有关 Google Cloud 的可靠性、隐私和安全性的一般信息,请参阅可靠性。
适用于 Google Cloud 上 SAP 系统的高可用性集群选项
您可以使用与本地安装类型相同的第三方高可用性 (HA) 集群软件,在 Google Cloud 上为 SAP NetWeaver 定义高可用性集群。高可用性集群软件监控系统的健康状况,并在出现问题时管理故障切换。
您可以使用多个不同的高可用性集群软件解决方案,例如:
- 适用于 SAP 解决方案的 Red Hat Enterprise Linux (RHEL)
- 适用于 SAP 应用的 SUSE Linux Enterprise Server (SLES)
- Windows Server 故障切换集群
Linux 高可用性集群软件
RHEL 和 SLES 的最新版本包括专门为 Google Cloud 启用的集成高可用性支持。如需检查您的 Linux 版本是否包含为 Google Cloud 启用的高可用性支持,请在 Google Cloud 上的 SAP NetWeaver 操作系统支持表中查找“GCP-HA”。
Windows 高可用性集群软件
如运行 Windows Server 故障切换集群中所述,在 Windows Server 上,您可以使用 Windows Server 故障切换集群 (WSFC) 创建高可用性集群。
在 Google Cloud 上,Cloud Load Balancing 负责管理将数据流量传入到 WSFC 集群中活跃节点的路由,无需别名 IP 或静态路由 VIP 即可实现。
Cloud Load Balancing 通过健康检查来确定活跃节点。
Google Cloud 地区、区域和 SAP NetWeaver 高可用性部署
在同一区域内的两个或多个 Compute Engine 地区部署高可用性集群的节点。 在不同区域部署节点可确保它们位于不同的物理机器上,同时防止出现罕见的地区性故障。
将地区保持在同一区域内可确保节点在地理位置上足够临近,以满足高可用性系统的 SAP 延迟时间要求。
Compute Engine 虚拟机和 SAP NetWeaver 高可用性部署
为了支持高可用性,Compute Engine 虚拟机支持实时迁移和自动重启。
Compute Engine 实时迁移
Compute Engine 监控底层基础架构的状态。 发生基础架构维护事件时,Compute Engine 会自动迁移您的实例以远离该事件,并在可能的情况下使您的实例在迁移期间保持运行。这个过程无需用户干预。
在发生重大中断的情况下,实例发生故障和恢复可用之间可能会略有延迟。
在大多数情况下,实时迁移事件不会影响高可用性集群。 不过,您可以在高可用性集群设置完毕且系统正在运行时,模拟活跃主机的实时迁移来测试高可用性集群,尤其是在高可用性集群监控配置的故障切换阈值较低的情况下。如需详细了解如何模拟实时迁移事件,请参阅测试可用性政策。
迁移的实例与原始实例相同,包括实例 ID、私有 IP 地址以及所有实例元数据和存储空间。
默认情况下,标准实例均设置为实时迁移。我们建议您不要更改此设置。
如需了解详情,请参阅实时迁移。
Compute Engine 自动重启
如果您的实例设置为在发生维护事件时终止,或者由于底层硬件问题导致实例崩溃,则可以设置 Compute Engine 自动重启实例。默认情况下,实例设置为自动重启。我们建议您不要更改此设置。
如需详细了解自动重启,请参阅自动重启。
Google Cloud 上高可用性 SAP 系统的共享存储空间选项
SAP NetWeaver 全局文件系统可造成单点故障,它需要提供给高可用性系统中的所有 SAP NetWeaver 实例。为确保 Google Cloud 上的全局文件系统可用,您可以使用高可用性共享存储空间或复制的区域永久性磁盘。
对于高可用性共享存储解决方案,您可以使用 Google Cloud Filestore 或第三方文件共享解决方案(例如适用于 Google Cloud 的 NetApp Cloud Volumes 服务或 NetApp Cloud Volumes ONTAP)。
Filestore 的企业层级可用于多可用区高可用性部署,Filestore 的基本层级可用于单可用区部署。
对于 Linux 系统的区域永久性磁盘的复制,您可以使用分布式复制块设备 (DRDB) 在高可用性集群中的节点之间复制包含 SAP 全局文件系统的永久性磁盘。
虽然 Compute Engine 的地区永久性磁盘可以跨区域提供同步复制的块存储,但目前 SAP NetWeaver 高可用性系统暂不支持。
如需详细了解 Google Cloud 存储选项,请参阅:
高可用性 SAP 系统的网络选项
为高可用性集群设置网络时,除了完成创建网络中的步骤外,还需要完成以下特定于高可用性的任务:
- 选择 Linux 系统的 VIP 实现方式,如以下部分所述。Windows 系统使用内部负载均衡器,因此它不需要与 Linux 系统相同的 VIP 解决方案。
- 定义 SAP 中央服务实例和 Enqueue Replication Server 实例之间的通信路径。
- 定义防火墙规则以支持您定义的通信路径。
Google Cloud 上的虚拟 IP 实现
在出现意外故障或进行计划维护时,高可用性集群使用浮动或虚拟 IP 地址 (VIP) 将其工作负载从一个集群节点迁移到另一个集群节点。VIP 的 IP 地址不会更改,因此客户端应用不知道工作是否由其他节点提供。
VIP 也称为浮动 IP 地址。
在 Google Cloud 上,VIP 的实现方式与本地安装模式略有不同,因为发生故障切换时,无法使用免费 ARP 请求来公告更改。您可以改为使用下列其中一种方法来实现 SAP 高可用性集群的 VIP 地址:
- 内部直通式网络负载均衡器故障切换支持(推荐)。
- Google Cloud 静态路由。
- Google Cloud 别名 IP 地址。
内部直通式网络负载均衡器 VIP 实现
负载均衡器通常会在应用的多个实例之间分配用户流量,以在多个活动系统之间分配工作负载,并防范任何实例出现处理速度变慢问题或发生故障。
内部直通式网络负载均衡器还提供故障切换支持,您可以将其与 Compute Engine 健康检查搭配使用,以检测故障、触发故障切换,并将流量重新路由到操作系统原生高可用性集群中新的主要 SAP 系统。
故障切换支持是推荐的 VIP 实现,有诸多原因,包括:
- Compute Engine 上的负载均衡可提供 99.99% 可用性 SLA。
- 负载均衡支持多区域高可用性集群,以防范区域故障,令跨区域故障切换时间可预测。
- 使用负载均衡可减少检测和触发故障切换所需的时间(通常在故障发生后的几秒钟内)。总体故障切换时间取决于高可用性系统中每个组件的故障切换时间,其中可能包括主机、数据库系统和应用系统等。
- 使用负载均衡可简化集群配置并减少依赖项。
- 与使用路由的 VIP 实现不同,借助负载均衡,您可以使用自己的 VPC 网络中的 IP 范围,根据需要预留和配置这些范围。
- 负载均衡可轻松用于将流量重新路由到辅助系统,以便进行计划内维护中断。
在为 VIP 的负载均衡器实现创建健康检查时,您需要指定健康检查探测的主机端口,以确定主机的健康状况。对于 SAP 高可用性集群,请指定专用范围 (49152-65535) 中的目标主机端口,以免与其他服务发生冲突。在主机虚拟机上,使用辅助帮助程序服务(例如 socat 实用程序或 HAProxy)配置目标端口。
对于辅助备用系统仍然处于在线状态的数据库集群,健康检查和帮助程序服务允许负载均衡将流量定向到集群中当前作为主系统的在线系统。
使用帮助程序服务和端口重定向,您可以在 SAP 系统上触发计划软件维护的故障切换。
如需详细了解故障切换支持,请参阅为内部直通式网络负载均衡器配置故障切换。
如需部署实现了负载均衡器 VIP 的高可用性集群,请参阅:
静态路由 VIP 实现
静态路由实现还可以防范区域故障,但您需要在虚拟机所在的现有 VPC 子网的 IP 范围之外使用 VIP。因此,您还需要确保 VIP 不会与扩展网络中的任何外部 IP 地址相冲突。
与共享 VPC 配置搭配使用时,静态路由实现还会增加复杂性,这些配置旨在将网络配置隔离到宿主项目中。
如果您的 VIP 使用静态路由实现方式,请咨询您的网络管理员,以便为静态路由实现确定合适的 IP 地址。
别名 IP VIP 实现
对于多区域高可用性部署,不建议使用别名 IP VIP 实现,因为如果一个区域发生故障,则可能会延迟将别名 IP 重新分配到其他区域中的节点。请改用具有故障切换支持的内部直通式网络负载均衡器来实现 VIP。
如果要在同一区域部署 SAP 高可用性集群的所有节点,则可以使用别名 IP 来为高可用性集群实现 VIP。
如果您的现有多可用区 SAP 高可用性集群使用了 VIP 的别名 IP 实现,则可以迁移到内部直通式网络负载均衡器实现,而无需更改您的 VIP 地址。别名 IP 地址和内部直通式网络负载均衡器都使用 VPC 网络中的 IP 范围。
虽然别名 IP 地址不建议用于多区域高可用性集群中的 VIP 实现,但它们在 SAP 部署中有其他使用场景。例如,它们可用于为灵活的 SAP 部署提供逻辑主机名和 IP 分配,例如由 SAP Landscape Management 管理的那些部署。
Google Cloud 上 VIP 的一般最佳做法
如需详细了解 Google Cloud 上的 VIP,请参阅浮动 IP 地址的最佳做法。
为 Google Cloud 上的 SAP NetWeaver 配置高可用性集群
Google Cloud 提供了一个 Terraform 配置文件,可用于自动部署 SAP NetWeaver 高可用性系统,您也可以手动部署和配置 SAP NetWeaver 高可用性系统。
如需自动部署 SAP NetWeaver 高可用性系统,您需要完成 Terraform 配置文件并使用标准 Terraform 命令来应用配置。如需了解部署说明,请参阅:
该自动部署方法会为 SAP NetWeaver 系统部署 Google Cloud 基础架构,该系统受 SAP 完全支持并遵循 SAP 和 Google Cloud 的最佳实践。
对于 SAP NetWeaver,该自动部署方法会部署性能优化的高可用性 Linux 集群,其中包含:
- 自动故障切换。
- 自动重启。
- 指定的虚拟 IP 地址(VIP)的保留。
- 内部 TCP/UDP 负载均衡提供了故障切换支持,该支持管理从虚拟 IP 地址(VIP)到 HA 集群节点的路由。
- 允许 Compute Engine 健康检查来监视集群中的虚拟机实例的防火墙规则。
- Pacemaker 高可用性集群资源管理器。
- Google Cloud 防护机制
fence_gce
防护代理。 - 包含每个 SAP NetWeaver 实例所需永久性磁盘的虚拟机。
如需了解在 Google Cloud for SAP NetWeaver 上部署和手动配置高可用性集群的说明,请参阅: