写点什么

在 AWS 上使用 SUSE HAE 架构高可用的 SAP 系统

2019 年 9 月 25 日

在 AWS 上使用 SUSE HAE 架构高可用的 SAP 系统

通常 SAP 系统是企业的关键应用系统,所以在部署 SAP 生产系统时必须要实现高可用。在 AWS 上部署 SAP 应用系统,您可以构建稳定可靠的、容错的和高可用的 SAP 应用系统。


对于不同的操作系统(OS)和数据库,SAP 系统的高可用可以使用多种工具实现。您可以使用 SUSE High Availability Extensions (SUSE HAE), Red Hat Enterprise Linux for SAP with High Availability and Update Services (RHEL for SAP with HA and US), Veritas InfoScale Enterprise for AWS, SIOS Protection Suite 等工具。


在本文中,我们会介绍如何在 AWS 上使用 SUSE HAE 在 SUSE Linux 环境中部署高可用的 SAP 应用。


SUSE HAE 是 SUSE Linux 的高可用中间件,能够帮助您在 SUSE Linux 上搭建高可用的应用系统。它确保关键网络资源(包括数据,应用程序和服务)的高可用性。因此,它可以帮助您保持业务连续性,保护数据完整性,并减少关键应用比如 SAP 应用的意外停机时间。。


AWS 建议在多个可用区中部署 SAP 应用系统。 AWS 的可用区(Availability Zone)是物理隔离的,但每个区域(Region)中的可用区通过低延迟网络连接。 如果一个可用区里的实例失败,则另一个可用区中的实例可以处理业务请求。


SAP Netweaver 的系统架构

为了能在 AWS 上部署高可用的 SAP Netweaver 系统,我们首先介绍 SAP Netweaver 的架构,以及该架构中的单点故障(SPoF),然后介绍如何使用 SUSE HAE 来实现高可用的 SAP Netweaver.


SAP NetWeaver 的系统架构如下图所示:



SAP NetWeaver 是很多 SAP 应用系统的开发平台和运行环境,比如 SAP ERP,SAP CRM,SAP SRM 等。同时,一个 SAP 应用由一个 ASCS, 一个 PAS,一个或多个 AAS 和数据库组成。


其中,ASCS 由 Message Server 和 Enqueue Server 组成。 Message Server 负责应用程序之间的通信,并提供负载平衡。 Enqueue Server 存储应用程序的锁信息。


在 SAP 架构中,ASCS 和数据库是可能的单点故障(SPoF),所以在高可用方案中,需要通过 SUSE HAE 保护 ASCS 和数据库,提升高可用性。


在 SUSE Linux 上构架高可用的 SAP NetWeaver 系统

如前文所述,HA 解决方案旨在解决软件系统的单点故障(SPoF)。 在 AWS 上,SAP 应用程序部署在多个可用区(Availability Zone),极大的提高了系统的可用性。通过使用 SUSE HAE 高可用中间件,在故障发生时可以自动系统切换,减少停机时间。SAP NetWeaver 在 AWS 上的架构如下图所示:



但是,与传统的基于软件集群的解决方案相比,AWS 平台上的高可用实现又一些不同,主要区别是共享存储设备以及 AWS 网络对广播或多播流量的限制。


传统的群集解决方案通常使用存储设备作为 STONITH 设备。这些存储设备通常给多个主机同时使用,其读/写访问权由群集软件控制。 但是,Amazon EBS 卷只能附加到一个实例。所以,在 AWS 上,我们使用 STONITH agent(external/ec2)来管理 STONITH 设备。在 SUSE HAE 上配置如下:


primitive res_AWS_STONITH stonith:external/ec2 \
op start interval=0 timeout=180 \
op stop interval=0 timeout=180 \
op monitor interval=120 timeout=60 \
meta target-role=Started \
params tag=pacemaker profile=cluster
复制代码


此外,许多群集解决方案使用第 2 层网络功能(包括多播或广播数据包)来检查群集中的节点故障。 Amazon VPC 中不允许多播/广播流量,所以使用多播或广播的方法检测集群故障在 AWS 上不可行。在 AWS 上,我们通过设置 SUSE HAE 使用 unicast 模式避免多播问题,如下图:



另外,HAE 集群解决方案还依赖操作系统 IP 地址漂移的能力, 当前 AWS 不支持 IP 地址跨可用区(AZ)漂移。 在 AWS 上,我们使用 HAE agent 来实现 IP 的漂移。


在 AWS 上,服务 IP 的地址必须在 VPC CIDR 之外才可以在不同的 EC2 上漂移。为了能让服务 IP 可以正常工作,需要手动创建路由表项,如下:


aws ec2 create-route --route-table-id ROUTE_TABLE --destination-cidr-block CIDR --instance INSTANCE 
复制代码


其中,ROUTE_TABLE 路由表 ID.


CIDR 是服务 IP 的地址和掩码,掩码必须是 32. 例如 10.2.0.2/32, 其中 10.2.0.2 是服务 IP


INSTANCE 是服务 IP 所在的 EC2 实例 ID


当切换发生时,HAE 会自动修改路由表并漂移服务 IP。HAE 配置如下:


primitive res_AWS_IP ocf:suse:aws-vpc-move-ip \   params address=overlay-ip-address routing_table=rtb-table interface=eth0 profile=cluster \   op start interval=0 timeout=180 \   op stop interval=0 timeout=180 \   op monitor interval=60 timeout=60
复制代码


其中 overlay-ip-address 需替换为服务 IP。


rtb-table 需替换为路由表 ID。


上面列出了使用 SUSE HAE 在 AWS 配置高可用的 SAP 系统的不同之处。其余的配置与普通的 SAP 高可用配置相同,不在此赘述。


作者介绍:


谢亚力


AWS 的解决方案架构师


本文转载自 AWS 技术博客。


原文链接:


https://amazonaws-china.com/cn/blogs/china/aws-suse-hae-sap-system/


2019 年 9 月 25 日 14:55578
用户头像

发布了 1282 篇内容, 共 36.7 次阅读, 收获喜欢 39 次。

关注

欲了解 AWS 的更多信息,请访问【AWS 技术专区】

评论

发布
暂无评论
发现更多内容

JVM垃圾回收

羽球

第九周作业

赵龙

创业公司技术体系建设-APM

星际行者

APM

初识分布式:MIT 6.284系列(一)

Kerwin

分布式 MIT 28天写作

速览国内主要银行区块链技术应用现状

CECBC区块链专委会

应用落地 区块链+金融 信任 部署与维护

图解+代码|常见限流算法以及限流在单机分布式场景下的思考

yes

分布式限流 单体限流 限流算法

第九周作业

晨光

架构师训练营第九周学习总结

qihuajun

系统设计系列之如何设计一个短链服务

看山

架构 面试 分布式 架构设计 短链服务

ARTS Week10

时之虫

ARTS 打卡计划

第九周学习总结

赵龙

智能膜切机,解决手机贴膜行业难题

Geek_116789

这是我迄今为止读过的最有价值的技术书,却一行代码都没有

废材姑娘

区块链行业发展月度新动态

CECBC区块链专委会

产业落地 政策扶持 差混高新技术 应用场景广泛

Android |《看完不忘系列》之okhttp

哈利迪

android

用Queue实现Stack,Moya网络框架,Sublime列操作,网络通信协议 非阻塞网络I/O NIO 数据库架构原理 John 易筋 ARTS 打卡 Week 11

John(易筋)

ARTS 打卡计划 数据库架构原理 网络通信协议 Moya 非阻塞网络I/O

谈一谈webpack打包

林浩

Java webpack 前端进阶训练营

架构师训练营第八章-作业1

A Matt

第九周总结

晨光

JVM 垃圾回收原理

飞雪

入门WebGL,看这一篇就够了

一颗大橄榄

前端 WebGL

N皇后问题的回溯法实现(C++)

老王同学

ARTS打卡 第10周

引花眠

ARTS 打卡计划

手写一个重入锁

诸葛小猿

synchronized CAS 重入锁 compareAndSwap ReentrantLock

<<前端进阶篇>> PDF 出炉了 — 「阿宝哥」,精心准备的 6 万多字 170 页的前端进阶资料

阿宝哥

前端 前端进阶 前端教程

老哥,您看我这篇Java集合,还有机会评优吗?

cxuan

Java 后端

这一周,我肝了公司的聚合代扣支付网关!

诸葛小猿

微信 支付宝 周期扣款 委托代扣 协议扣款

架构师训练营第九周作业

qihuajun

编程经典案例之函数

顿晓

函数式编程

程序的机器级表示-算术与逻辑运算

引花眠

计算机基础

技术管理者带团队的几个实用技巧

Phoenix

团队管理 企业文化 团队 价值观

在 AWS 上使用 SUSE HAE 架构高可用的 SAP 系统-InfoQ