亚马逊AWS官方博客
第二部分 SAP on AWS Pilot Light
当在AWS平台上进行SAP架构设计时,高可用往往伴随着DR统一考虑,我将SAP on AWS在云端部署的常见架构汇总成以下的四个专题。
- 引论 SAP on AWS 架构部署
- 第一部分 SAP on AWS EC2 Auto Recovery
- 第二部分 SAP on AWS Pilot Light
- 第三部分 SAP on AWS HA Single AZ
- 第四部分 SAP on AWS HA Multiple AZ
本文我将介绍 SAP on AWS在云端部署的常见架构第二种方式
SAP on AWS Pilot Light
Pilot Light – 长明灯,灯塔。主要用于基于跨可用区或跨区域的应用层数据容灾环境。当可用区出现异常问题时,可通过手工或脚本的方式将相关资源在目标环境中拉起。
为了更好说明此架构的特点,现以S/4分布式部署环境为例。一套S/4运行环境(非高可用部署)基本可分为以下组成部分:
1) ABAP SAP Central Service简称ASCS,包含Message Server和Enqueue Server。用于应用节点的注册、负载分发以及应用锁队列管理。
2) Primary Application server instance简称PAS,包含网关服务和工作进程。用于真实的业务工作负载。
3) Database Instance主要指SAP HANA Database,用于存放SAP应用数据信息。
对于一个最优的S/4系统,Pilot Light架构设计需要从应用和数据库两方面分别进行考虑。
· 应用层面:基于SAP架构的设计特点[1],ASCS、PAS在进行架构设计时通常考虑使用共享文件服务将SAP共享目录例如 /sapmnt 、/usr/sap/trans 分别挂载到ASCS和PAS上。通常使用AWS EFS完成此功能,但由于某些区域暂时并未提供此服务,所以客户可通过自建NFS的方式实现。根据实际的项目特点,一般推荐客户使用DRBD+NFS或GlusterFS两种方式完成NFS的搭建工作。
· 数据层面:S/4系统后端数据库为HANA,可通过基于数据库应用层面的数据同步HSR功能实现此部分数据的同步。
此架构优势如下:
1) 架构设计复杂程度低,由于源端和目标端均为单一运行环境,架构自身不涉及高可用等资源切换,所以整体架构设计复杂程度较低。
2) 架构成本低廉,目标端ASCS、PAS均为关机状态,应用同步节点和数据库同步节点只需启用较小实例完成相关功能的同步。
3) 基于跨可用区、跨区域的设计,通过此架构可实现SAP系统跨可用区或跨区域的容灾。
4) 可与Auto Recovery功能配合使用,实现源端和目标端在单一可用区的高可用配置(详见专题一)。
5) 数据库RPO接近0,跨可用区数据库同步模式采用SYNCMEM模式,跨区域数据库同步模式采用ASYNC模式 [2],数据同步过程中,由于数据库主从节点同步存在延迟,所以数据库RPO接近0。
6) 应用RPO接近0,应用文件同步采用GlusterFS的Replicated Volume模式,当某一节点存在数据变化时,会自动同步到GlusterFS所有节点,同样由于GlusterFS跨可用区部署同步存在延迟,所以应用RPO接近0。
此架构同样也存在以下劣势:
1) 切换需人工干预,发生故障或异常时需要进行源端环境的切换,此过程需人工进行干预。
2) 同步状态的监控,需自开发脚本监控数据库的同步状态,当源端环境发生异常故障时,需通过HANA自带Python命令获得当前数据同步的时间状态[3]。
3) RTO切换时间不可控,由于整个切换过程为手工完成,所以目标端环境的拉起主要在于客户管理员的响应时间和目标环境的拉起时间。
4) 目标环境无法保证同样实例的预留,无法保证目标可用区或区域预留同样的机型提供给客户。
为了优化目标架构成本,以及目标环境架构能够满足业务变化的特点,在系统进行初始化配置时,需明确以下内容:
1) 所选实例是否为SAP认证实例。参见:SAP Note 1656099 – SAP Applications on AWS: Supported DB/OS and AWS EC2 products
2) 合理预估目标环境同步所需的实例大小,通过现有数据量合理Sizing目标环境[4]。
3) 优化目标端EBS卷类型以及根据应用数据大小完成目标端数据卷和日志卷的容量设计和条带化设置。
下面以一套S/4系统为例说明Pilot Light整体架构在AWS上的功能实现。
假设场景:
1) SAP应用软件为S/4HANA 1909,SAP部署模式为分布式部署。
2) SAP应用相关的共享文件基于GlusterFS(中国区可使用EFS服务)。
3) SAP 数据库层面数据同步技术为HSR,为了降低目标内存资源开销,关闭辅助系统上表的预加载preload_column_tables=false。
4) 整个切换过程采用手工方式完成。
整个架构具体实现如下:
更多信息请参考
[1] SAP部署架构说明:https://help.sap.com/viewer/910828cec5d14d6685da380aec1dc4ae/CURRENT_VERSION/en-US/9420dabb130e4ae1996b3f39e202cc6e.html
[2] SAP HANA网络需求:https://archive.sap.com/documents/docs/DOC-56044
[3]数据同步状态时间查询:SAP Note 2063657 – SAP HANA System Replication Takeover Decision Guideline
[4]从节点内存需求估算:https://help.sap.com/viewer/4e9b18c116aa42fc84c7dbfd02111aba/2.0.04/en-US/9d62b8108063497f9d6aab08902b2e04.html