SAP HANA云上部署
hana版本相关
版本 | 修订日期 | 变更类型 | 生效日期 |
---|---|---|---|
1.0 | 2018/9/7 | ||
2.0 | 2019/4/23 | 1.优化了部署过程和文档结构 2.更新了全部截图 3.增加了SAP HANA文件系统LVM配置过程 | 2019/4/23 |
2.1 | 2019/7/4 | 1.部署架构图更新 2.NAS参数优化 | 2019/7/4 |
2.2 | 2020/10/27 | 1.更新了SAP HANA认证实例规格等 | 2020/10/27 |
2.3 | 2020/12/10 | 1.增加操作系统和存储配置内容,如时钟源设置、关闭主机名自动更新等 2.SAP HANA认证实例规格更新等 | 2020/12/10 |
2.4 | 2021/05/28 | 1.Pacemaker SBD超时时间优化 | 2021/05/28 |
2.5 | 2021/06/08 | 1.优化文件系统规划和配置部分 | 2021/06/08 |
2.6 | 2021/11/11 | 1.更新了基于fence_aliyun的fence方案 2.优化了云产品的部署说明 | 2021/11/11 |
1、概述
如何在阿里云的同可用区内部署SAP HANA的高可用环境。
2、SAP HANA高可用架构
本次部署的架构设计如下:
3、安装前准备
3.1 SAP系统安装介质
访问方式 | 访问原理 | 备注 |
---|---|---|
直接上传 | 通过公网直接上传到ECS | |
OSS + ossutil | 上传到OSS再下载到ECS |
3.2 VPC网络规划
网络 | 位置 | 用途 | 分配网段 |
---|---|---|---|
业务网 | 华东2 可用区F | For Business/SR | 192.168.10.0/24 |
心跳网 | 华东2 可用区F | For HA | 192.168.20.0/24 |
3.3 主机规划
主机名 | 角色 | 心跳地址 | 业务地址 | 高可用虚拟IP(HAVIP) |
---|---|---|---|---|
saphana-01 | SAP HANA主节点 | 192.168.20.19 | 192.168.10.168 | 192.168.10.12 |
saphana-02 | SAP HANA备节点 | 192.168.20.20 | 192.168.10.169 | 192.168.10.12 |
3.4 文件系统规划
本示例中的文件系统划分如下:
属性 | 文件系统大小 | 云盘容量*数量 | 云盘类型 | 文件系统 | VG | LVM条带化 | 挂载点 |
---|---|---|---|---|---|---|---|
数据盘 | 900G | 300G*3 | SSD或ESSD | XFS | datavg | 是 | /hana/data |
数据盘 | 400G | 400G*1 | SSD或ESSD | XFS | logvg | 否 | /hana/log |
数据盘 | 300G | 300G*1 | SSD或ESSD | XFS | sharedvg | 否 | /hana/shared |
数据盘 | 50G | 50G*1 | 高效云盘 | XFS | sapvg | 否 | /usr/sap |
3.5 VPC网络创建
登录控制台->专有网络,点击“创建专有网络”。按规划创建专有网络及SAP业务子网和心跳子网。
4、创建SAP HANA ECS实例
4.1 创建SAP HANA主节点实例
4.1.1 ECS 服务器自行搞定
4.1.7 选择网络类型
单击 下一步:网络和安全组,完成网络和安全组设置。
1、选择网络类型
按规划并选择专有网络和业务网段交换机。
2、设置公网带宽
按需设置合适的公网带宽。
4.1.8 选择安全组
选择安全组。
4.1.9 网卡配置
先不增加第二张弹性网卡,ECS创建成功之后再添加第二张网卡。
4.1.10 设置部署集
在指定部署集中创建 ECS 实例时,会和处于同一部署集中的其他 ECS 实例严格按物理服务器打散
在本示例中,高可用架构的两台SAP HANA实例将被放入部署集“S4HANA_HA”中,SAP的ASCS/SCS的高可用部署也建议使用这种方式来管理ECS。
选择一个已经创建好的部署集,如果还没有部署集,可以访问控制台->云服务器ECS->部署与弹性->部署集进行创建。
部署集创建完成后,返回刚才的页面,选择这个部署集,完成系统配置、分组设置。
4.2 创建SAP HANA备节点实例
参考上述步骤按需求和规划创建SAP HANA备节点ECS实例。
说明
SAP HANA主备节点的ECS实例需要放在一个部署集中。
5、部署云资源
5.1 配置弹性网卡
弹性网卡(ENI)是一种可以附加到专有网络VPC类型ECS实例上的虚拟网卡,通过弹性网卡,您可以实现高可用集群搭建、低成本故障转移和精细化的网络管理。所有地域均支持弹性网卡。
创建弹性网卡
本示例,按规划每台ECS各创建一块额外的ENI,用于心跳网卡。
[1] 登录控制台->云服务器ECS->网络和安全->弹性网卡。确认跟ECS是同地域,点击“创建弹性网卡”。
[2] 按规划选择对应的VPC网络、交换机等参数。ENI创建完成后,绑定对应的ECS实例。
[3] 登录操作系统配置网卡
登录SUSE图形窗口进入网络配置或者通过终端运行yast2 network,按规划配置新建的ENI网卡的静态IP地址和子网掩码,并确保网卡处于激活状态。可以通过以下命令来查询网卡的配置和状态:
ip addr sh
明
如果需要修改主网卡内网IP地址,
5.2 配置高可用虚拟IP
高可用虚拟IP(Private High-Availability Virtual IP Address,简称HAVIP),是一种可以独立创建和释放的私网IP资源。这种私网IP的特殊之处在于,用户可以在ECS上使用ARP协议进行该IP的宣告。本次部署使用高可用虚拟IP作为集群中的虚拟IP挂载在集群中的每一个节点。
5.2.1 创建高可用虚拟IP
高可用虚拟IP作为HANA instance提供服务的虚拟IP,选择创建在业务网段(主网卡)。
登录控制台->专有网络VPC->高可用虚拟IP,点击创建“高可用虚拟IP”,这里请选择业务网段的交换机(主网卡),按需要选择自动或手工分配IP地址。
说明
请联系您的阿里云解决方案架构师(SA)协助你完成产品使用申请
5.2.2 关联SAP HANA主、备节点
进入已创建的高可用虚拟IP实例的管理界面,分别绑定集群中的两台ECS实例。
注意
初始绑定后,两台ECS实例的状态均为“备”。通过SUSE HAE的集群软件接管被管理资源后,才会显示正确的状态。
5.3 配置Fence
阿里云提供两个方案用于实现SAP系统高可用部署中的Fence的功能,推荐您选择云原生的《方案二:Fence_aliyun实现Stonith功能》。
5.3.1 共享块存储实现SBD fence功能
共享块存储是一种支持多台ECS实例并发读写访问的数据块级存储设备,具备多并发、高性能、高可靠等特性,单块共享块存储多支持同时挂载到16台ECS实例挂载共享块存储的操作。
共享块存储作为高可用集群的SBD设备,选择与ECS同地域可用区,并挂载在高可用集群中的ECS实例中。
说明
请联系您的阿里云解决方案架构师(SA)协助你完成产品使用申请
[1] 创建共享块存储
登录控制台->云服务器ECS->存储与快照,点击“共享块存储”,在ECS同地域同可用区创建共享块存储。
创建成功后,返回共享块存储控制台,将刚才创建的共享块存储设备挂载到高可用集群中的两台ECS实例上。
[2] 配置共享块存储
登录操作系统,查看磁盘信息
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda 253:0 0 100G 0 disk
└─vda1 253:1 0 100G 0 part /
vdb 253:16 0 500G 0 disk
vdc 253:32 0 500G 0 disk
vdd 253:48 0 500G 0 disk
vde 253:64 0 64G 0 disk
vdf 253:80 0 20G 0 disk
当前示例中,云盘/dev/vdf 为共享块存储设备标识。
配置watchdog(集群的两个节点)
echo "modprobe softdog" > /etc/init.d/boot.local
echo "softdog" > /etc/modules-load.d/watchdog.conf
modprobe softdog
# watchdog配置检查
ls -l /dev/watchdog
crw------- 1 root root 10, 130 Apr 23 12:09 /dev/watchdog
lsmod | grep -e wdt -e dog
softdog 16384 0
grep -e wdt -e dog /etc/modules-load.d/watchdog.conf
softdog
配置SBD(集群的两个节点)
sbd -d /dev/vdf -4 60 -1 30 create
# 配置SBD参数
vim /etc/sysconfig/sbd
# 修改以下参数,将SBD_DEVICE的值替换成共享块存储的设备标识
SBD_DEVICE="/dev/vdf"
SBD_STARTMODE="clean"
SBD_OPTS="-W"
检查SBD状态
在两个节点上,分别检查SBD状态
sbd -d /dev/vdf list
确保SAP HANA两个节点的SBD状态均是clear:
sbd -d /dev/vdf list
saphana-01 clear
1 saphana-02 clear
验证SBD配置
警告
请确保被fence节点的应用程序已关闭,此操作将触发节点重启动作
本示例,登录主节点saphana01
sbd -d /dev/vdf message saphana-02 reset
如果备节点saphana-02正常重启,说明配置成功。
备节点重启后,还需要手动将其重置为clear状态。
sbd -d /dev/vdf list
saphana-01 clear
1 saphana-02 reset saphana-01
sbd -d /dev/vdf message saphana-02 clear
sbd -d /dev/vdf list
saphana-01 clear
1 saphana-02 clear saphana-01
5.3.2 方案二:Fence_aliyun实现Fence功能
fence_aliyun,它是针对阿里云云平台开发的,用于隔离SAP系统高可用环境故障节点的fence代理程序。通过调用阿里云Open API实现对阿里云云资源的灵活调度和管理,支持同可用区的SAP系统高可用部署,满足企业对SAP核心应用的高可用部署的需求。
fence_aliyun是针对阿里云环境开发的,用于隔离SAP系统高可用环境故障节点的开源的fence agent。
SUSE Enterprise Server for SAP Applications 12 SP4及之后的版本已经原生集成了fence_aliyun组件,只需简单配置就能用于阿里云公有云环境的SAP系统高可用环境部署。
[1] 环境准备
安装python等开源软件需要连接公网,请确保已经为ECS配置了EIP公网地址或NAT网关。
python和pip安装和检查
fence_aliyun仅支持python3.6及以上版本,请确保满足低版本要求。
# 检查Python3的版本
python3 -V
Python 3.6.15
# 检查Python包管理工具pip版本
pip -V
pip 21.2.4 from /usr/lib/python3.6/site-packages/pip (python 3.6)
如果还没有安装python3或者低于python3.6,需要单独安装。
以下以安装python 3.6.15版本为示例参考。
# 安装python3.6
wget https://www.python.org/ftp/python/3.6.15/Python-3.6.15.tgz
tar -xf Python-3.6.15.tgz
./configure
make && make install
# 安装验证
python3 -V
# 安装pip
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python get-pip.py
# 安装验证
pip -V
[2] 安装aliyun SDK
说明
请确保aliyun-python-sdk-core的版本不低于2.13.35,aliyun-python-sdk-ecs的版本不低于4.24.8。
python3 -m pip install --upgrade pip
pip3 install --upgrade aliyun-python-sdk-core
pip3 install --upgrade aliyun-python-sdk-ecs
# 安装依赖包
pip3 install pycurl pexpect
zypper install libcurl-devel
# 安装验证
pip list | grep aliyun-python
aliyun-python-sdk-core 2.13.35
aliyun-python-sdk-core-v3 2.13.32
aliyun-python-sdk-ecs 4.24.8
[3] 配置RAM Role
fence_aliyun通过RAM role以实现对云资源(如ECS)的状态获取和实例启停等操作。
登录阿里云控制台->访问控制->权限管理->权限策略,点击“创建权限策略”
本示例策略名是SAP-HA-ROLE-POLICY,策略内容示例如下:
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ecs:StartInstance",
"ecs:StopInstance",
"ecs:RebootInstance",
"ecs:DescribeInstances"
],
"Resource": [
"acs:ecs:*:*:instance/*"
]
}
]
}
将权限策略授权给角色
返回访问控制控制台->角色,找到AliyunECSAccessingHBRRole。点击“添加权限”->自定义策略,添加权限策略SAP-HA-ROLE-POLICY给AliyunECSAccessingHBRRole角色。
RAM Role授权给ECS实例
控制台->云服务ECS->更多->授予/收回RAM角色,选择或手工创建“AliyunECSAccessingHBRRole”角色。
[4] fence_aliyun安装和配置
下载新版fence_aliyun
注意
下载fence_aliyun需要访问github,请确保ECS实例的网络环境可以正常访问github站点。
如果您在这一步遇到问题,请提交工单寻求帮助。
curl https://github.com/ClusterLabs/fence-agents/blob/main/agents/aliyun/fence_aliyun.py > /usr/sbin/fence_aliyun
# 配置权限
chmod 755 /usr/sbin/fence_aliyun
chown root:root /usr/sbin/fence_aliyun
适配用户环境
# 指定解释器为python3
sed -i "1s|@PYTHON@|$(which python3 2>/dev/null || which python 2>/dev/null)|" /usr/sbin/fence_aliyun
# 指定Fence agent lib 目录
sed -i "s|@FENCEAGENTSLIBDIR@|/usr/share/fence|" /usr/sbin/fence_aliyun
验证安装
# 使用fence_aliyun获取ECS实例的运行状态
# 语法示例:
# fence_aliyun --[region ID] --ram-role [RAM role] --action status --plug '[ECS实例ID]'
# 示例如下:
fence_aliyun --region cn-beijing --ram-role AliyunECSAccessingHBRRole --action status --plug 'i-xxxxxxxxxxxxxxxxxxxx'
# 配置正常会返回此实例的状态,示例如下:
Status: ON
6、操作系统配置
6.1 维护主机名
分别在高可用集群的两台SAP HANA ECS实例上,配置两台 HANA 服务器之间的主机名称解析。
本示例的 /etc/hosts 文件内容如下:
127.0.0.1 localhost
#业务网
192.168.10.168 saphana-01 saphana-01
192.168.10.169 saphana-02 saphana-02
#心跳网
192.168.20.19 hana-ha01 hana-ha01
192.168.20.20 hana-ha02 hana-ha02
6.2 ECS SSH互信配置
高可用集群的两台SAP HANA ECS实例需要配置 SSH互信,配置示例如下。
6.2.1 配置认证公钥
在SAP HANA主节点执行如下命令
ssh-keygen -t rsa
ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.10.169
在SAP HANA备节点上执行如下命令:
ssh-keygen -t rsa
ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.10.168
6.2.2 验证配置结果
分别在两个节点上,使用 SSH 登录另外一个节点,如果不需要密码登录,则说明互信已经建立。
6.3 关闭DHCP自动设置主机名
分别在主备节点ECS上执行以下命令:
sed -i '/DHCLIENT_SET_HOSTNAME/ c\DHCLIENT_SET_HOSTNAME="no"' /etc/sysconfig/network/dhcp
6.4 关闭/etc/hosts自动更新主机名
sed -i "s/^ - update_etc_hosts/#- update_etc_hosts/" /etc/cloud/cloud.cfg
6.5 设置时钟源为tsc
说明
[1] 先确认当前时间源配置
cat /sys/devices/system/clocksource/clocksource0/current_clocksource
kvm-clock
[2] 查询可用的时钟源
cat /sys/devices/system/clocksource/clocksource0/available_clocksource
kvm-clock tsc acpi_pm
[3] 将时钟源设置为tsc
sudo bash -c 'echo tsc > /sys/devices/system/clocksource/clocksource0/current_clocksource'
设置成功的话,内核消息里会显示以下信息
dmesg | less
clocksource: Switched to clocksource tsc
[4] 设置系统启动时的时钟源为tsc
备份并编辑 /etc/default/grub,为GRUB_CMDLINE_LINUX 选项添加 clocksource=tsc tsc=reliable
GRUB_CMDLINE_LINUX=" net.ifnames=0 console=tty0 console=ttyS0,115200n8 clocksource=tsc tsc=reliable"
生成grub.cfg文件
grub2-mkconfig -o /boot/grub2/grub.cfg
登录阿里云ECS控制台,重启ECS使变更生效。
7、ECS Metrics Collector for SAP监控代理
ECS Metrics Collector监控代理程序,用于云平台上SAP系统收集需要的虚拟机配置信息和底层物理资源使用相关的信息,供日后做性能统计和问题分析使用。
每台SAP应用和数据库都需要安装Metrics Collector,
8、HANA文件系统划分
按前面的文件系统规划,用LVM来管理和配置云盘
创建PV和VG
pvcreate /dev/vdb /dev/vdc /dev/vdd /dev/vde /dev/vdf /dev/vdg
vgcreate datavg /dev/vdb /dev/vdc /dev/vdd
vgcreate logvg /dev/vde
vgcreate sharedvg /dev/vdf
vgcreate sapvg /dev/vdg
创建LV
'将datavg的三块300G的SSD云盘制作条带化'
lvcreate -l 100%FREE -n datalv -i 3 -I 256 datavg
lvcreate -l 100%FREE -n loglv logvg
lvcreate -l 100%FREE -n sharedlv sharedvg
lvcreate -l 100%FREE -n usrsaplv sapvg
创建挂载点并格式化文件系统
mkdir -p /usr/sap /hana/data /hana/log /hana/shared
mkfs.xfs /dev/sapvg/usrsaplv
mkfs.xfs /dev/datavg/datalv
mkfs.xfs /dev/logvg/loglv
mkfs.xfs /dev/sharedvg/sharedlv
挂载文件系统并加到开机自启动项
vim /etc/fstab
# 添加下列项:
/dev/mapper/datavg-datalv /hana/data xfs defaults 0 0
/dev/mapper/logvg-loglv /hana/log xfs defaults 0 0
/dev/mapper/sharedvg-sharedlv /hana/shared xfs defaults 0 0
/dev/mapper/sapvg-usrsaplv /usr/sap xfs defaults 0 0
# 挂载文件系统
mount -a
9、SAP HANA的安装和配置
9.1 安装SAP HANA
说明
SAP HANA的主、备节点的System ID和Instance ID要相同。本示例的SAP HANA的System ID为H01,Instance ID为00。
9.2 配置HANA System Replication
10、SLES Cluster HA安装配置
10.1 安装SUSE HAE软件
在SAP HANA主、备节点上,检查是否已经安装SUSE HAE组件和SAPHanaSR等必要组件。
说明
本示例使用的是SUSE CSP(Cloud Service Provider)付费镜像,此镜像已经预置了阿里云SUSE SMT Server配置,可直接进行组件检查和安装。如果是自定义镜像或其他镜像,请自行购买SUSE授权并注册到SUSE官方的SMT Server或者手工配置Zypper repository源。
请确保已经正确安装了以下组件:
# SLES 12 for SAP版本的组件
zypper in -y patterns-sles-sap_server
zypper in -y patterns-ha-ha_sles sap_suse_cluster_connector saptune fence-agents
# SLES 15 for SAP版本的组件
zypper in -y patterns-server-enterprise-sap_server
zypper in -y patterns-ha-ha_sles sap-suse-cluster-connector corosync-qdevice saptune fence-agents
10.2 配置集群
在SAP HANA实例上通过VNC图形界面配置Corosync
# 进入集群配置
yast2 cluster
[1] 配置communication channel
Channel选择心跳网段,Redundant Channel选择业务网段
按正确的顺序依次添加Member address(Redundant Channel输入业务地址)
Excepted Votes: 2
Transport: Unicast
[2] 配置Security
勾选”Enable Security Auth”,并点击 Generate Auth Key File
[3] 配置Csync2
添加Sync host
点击Add Suggested Files
点击Generate Pre-Shared-Keys
点击Turn csync2 ON
Configure conntrackd默认,直接下一步
[4] 配置Service
确认Cluster服务不要设成开机自启动
配置完成后保存退出,将Corosync配置文件复制到SAP HANA的备节点。
# scp -pr /etc/corosync/authkey /etc/corosync/corosync.conf root@saphana-02:/etc/corosync/
[5] 启动集群
在两个节点里执行如下命令:
# systemctl start pacemaker
[6] 查看集群状态
现在两个node都已经online了,被管理的资源后面做配置
crm_mon -r
Stack: corosync
Current DC: saphana-02 (version 1.1.16-4.8-77ea74d) - partition with quorum
Last updated: Tue Apr 23 11:22:38 2019
Last change: Tue Apr 23 11:22:36 2019 by hacluster via crmd on saphana-02
2 nodes configured
resources configured
Online: [ saphana-01 saphana-02 ]
No resources
[7] 启动WEB网页图形化配置
(1)激活两台ECS的Hawk2服务
# 设置hacluster用户的密码
passwd hacluster
# 重启服务,使设置生效
systemctl restart hawk
(2)访问Hawk2
打开浏览器访问hawk的WEB控制台
https://[ECS实例IP地址]:7630
输入用户名 hacluster和密码登录。
11、SAP HANA与SUSE HAE集成
本示例介绍了两种Fence设备的配置,请根据您选择的Fence的方案,选择对应的配置脚本。
11.1 方案一:共享块存储实现SBD fence功能
登录集群任意节点新建文本文件,将脚本中的”SID、InstanceNumber、和params ip” 三个参数值替换成实际部署的SAP系统的值。
本示例中,SID:H01,InstanceNumber:00,params ip:192.168.10.12,脚本文件名HANA_HA_script.txt
###SAP HANA Topology is a resource agent that monitors and analyze the HANA landscape and communicate the status between two nodes##
primitive rsc_SAPHanaTopology_HDB ocf:suse:SAPHanaTopology \
operations $id=rsc_SAPHanaTopology_HDB-operations \
op monitor interval=10 timeout=600 \
op start interval= timeout=600 \
op stop interval= timeout=300 \
params SID=H01 InstanceNumber=00
###This file defines the resources in the cluster together with the Virtual IP###
primitive rsc_SAPHana_HDB ocf:suse:SAPHana \
operations $id=rsc_SAPHana_HDB-operations \
op start interval= timeout=3600 \
op stop interval= timeout=3600 \
op promote interval= timeout=3600 \
op monitor interval=60 role=Master timeout=700 \
op monitor interval=61 role=Slave timeout=700 \
params SID=H01 InstanceNumber=00 PREFER_SITE_TAKEOVER=true DUPLICATE_PRIMARY_TIMEOUT=7200 AUTOMATED_REGISTER=false
#This is for sbd setting##
primitive rsc_sbd stonith:external/sbd \
op monitor interval=20 timeout=15 \
meta target-role=Started maintenance=false
#This is for VIP resource setting##
primitive rsc_vip IPaddr2 \
operations $id=rsc_vip-operations \
op monitor interval=10s timeout=20s \
params ip=192.168.10.12
ms msl_SAPHana_HDB rsc_SAPHana_HDB \
meta is-managed=true notify=true clone-max=2 clone-node-max=1 target-role=Started interleave=true maintenance=false
clone cln_SAPHanaTopology_HDB rsc_SAPHanaTopology_HDB \
meta is-managed=true clone-node-max=1 target-role=Started interleave=true maintenance=false
colocation col_saphana_ip_HDB 2000: rsc_vip:Started msl_SAPHana_HDB:Master
order ord_SAPHana_HDB Optional: cln_SAPHanaTopology_HDB msl_SAPHana_HDB
property cib-bootstrap-options: \
have-watchdog=true \
cluster-infrastructure=corosync \
cluster-name=cluster \
no-quorum-policy=ignore \
stonith-enabled=true \
stonith-action=reboot \
stonith-timeout=150s
rsc_defaults rsc-options: \
migration-threshold=5000 \
resource-stickiness=1000
op_defaults op-options: \
timeout=600 \
record-pending=true
11.2 方案二:Fence_aliyun实现Fence功能
登录集群任意节点新建文本文件,拷贝示例中的脚本按SAP HANA的实际部署的情况,修改如下参数:
plug的值替换成SAP HANA集群的两台ECS的实例ID
ram_role的值替换成上面配置的ram role
region的值替换成ECS实例所在的地域ID
ip的值替换成集群的高可用虚拟IP地址
SID和InstanceNumber的值替换成SAP HANA实例的SID和实例编号
location后面的参数中替换成SAP HANA实例的主机名
本示例中的脚本文件名HANA_HA_script.txt
primitive res_ALIYUN_STONITH_1 stonith:fence_aliyun \
op monitor interval=120 timeout=60 \
params plug=i-xxxxxxxxxxxxxxxxxxxx ram_role=xxxxxxxxxxxxxxxxxxxx region=cn-xxxx \
meta target-role=Started
primitive res_ALIYUN_STONITH_2 stonith:fence_aliyun \
op monitor interval=120 timeout=60 \
params plug=i-xxxxxxxxxxxxxxxxxxxx ram_role=xxxxxxxxxxxxxxxxxxxx region=cn-xxxx \
meta target-role=Started
# havip resources
primitive rsc_vip IPaddr2 \
operations $id=rsc_vip-operations \
op monitor interval=10s timeout=20s \
params ip=x.x.x.x
###SAP HANA Topology is a resource agent that monitors and analyze the HANA landscape and communicate the status between two nodes##
primitive rsc_SAPHanaTopology_HDB ocf:suse:SAPHanaTopology \
operations $id=rsc_SAPHanaTopology_HDB-operations \
op monitor interval=10 timeout=600 \
op start interval= timeout=600 \
op stop interval= timeout=300 \
params SID=XXX InstanceNumber=XX
###This file defines the resources in the cluster together with the Virtual IP###
primitive rsc_SAPHana_HDB ocf:suse:SAPHana \
operations $id=rsc_SAPHana_HDB-operations \
op start interval= timeout=3600 \
op stop interval= timeout=3600 \
op promote interval= timeout=3600 \
op monitor interval=60 role=Master timeout=700 \
op monitor interval=61 role=Slave timeout=700 \
params SID=XXX InstanceNumber=XX PREFER_SITE_TAKEOVER=true DUPLICATE_PRIMARY_TIMEOUT=7200 AUTOMATED_REGISTER=false
ms msl_SAPHana_HDB rsc_SAPHana_HDB \
meta is-managed=true notify=true clone-max=2 clone-node-max=1 target-role=Started interleave=true maintenance=false
clone cln_SAPHanaTopology_HDB rsc_SAPHanaTopology_HDB \
meta is-managed=true clone-node-max=1 target-role=Started interleave=true maintenance=false
colocation col_saphana_ip_HDB 2000: rsc_vip:Started msl_SAPHana_HDB:Master
location loc_saphana-01_stonith_not_on_saphana-01 res_ALIYUN_STONITH_1 -inf: saphana-01
#Stonith 1 should not run on primary node because it is controling primary node
location loc_saphana-02_stonith_not_on_saphana-02 res_ALIYUN_STONITH_2 -inf: saphana-02
order ord_SAPHana_HDB Optional: cln_SAPHanaTopology_HDB msl_SAPHana_HDB
property cib-bootstrap-options: \
have-watchdog=false \
cluster-infrastructure=corosync \
cluster-name=cluster \
stonith-enabled=true \
stonith-action=off \
stonith-timeout=150s
rsc_defaults rsc-options: \
migration-threshold=5000 \
resource-stickiness=1000
op_defaults op-options: \
timeout=600
用root用户运行如下命令,让SAP HANA资源被SUSE HAE接管起来。
crm configure load update HANA_HA_script.txt
11.3 验证集群状态
登录Hawk2 web控制台,访问地址 https://[ECS实例的IP地址]:7630
方案一共享块存储HAE Cluster的Status和Dashboard如下:
crm_mon -r
Stack: corosync
Current DC: saphana-01 (version 1.1.16-4.8-77ea74d) - partition with quorum
Last updated: Wed Apr 24 11:48:38 2019
Last change: Wed Apr 24 11:48:35 2019 by root via crm_attribute on saphana-01
2 nodes configured
6 resources configured
Online: [ saphana-01 saphana-02 ]
Full list of resources:
rsc_sbd (stonith:external/sbd): Started saphana-01
rsc_vip (ocf::heartbeat:IPaddr2): Started saphana-01
Master/Slave Set: msl_SAPHana_HDB [rsc_SAPHana_HDB]
Masters: [ saphana-01 ]
Slaves: [ saphana-02 ]
Clone Set: cln_SAPHanaTopology_HDB [rsc_SAPHanaTopology_HDB]
Started: [ saphana-01 saphana-02 ]
方案二Fence agnet中HAE Cluster的Status和Dashboard如下:
也可以登录任意一个节点,使用crmsh检查当前集群状态
crm_mon -r
Stack: corosync
Current DC: hana02 (version 2.0.1+20190417.13d370ca9-3.21.1-2.0.1+20190417.13d370ca9) - partition with quorum
Last updated: Sat Jan 29 13:14:47 2022
Last change: Sat Jan 29 13:13:44 2022 by root via crm_attribute on hana01
2 nodes configured
7 resources configured
Online: [ hana01 hana02 ]
Full list of resources:
res_ALIYUN_STONITH_1 (stonith:fence_aliyun): Started hana02
res_ALIYUN_STONITH_2 (stonith:fence_aliyun): Started hana01
rsc_vip (ocf::heartbeat:IPaddr2): Started hana01
Clone Set: msl_SAPHana_HDB [rsc_SAPHana_HDB] (promotable)
Masters: [ hana01 ]
Slaves: [ hana02 ]
Clone Set: cln_SAPHanaTopology_HDB [rsc_SAPHanaTopology_HDB]
Started: [ hana01 hana02 ]
来源 https://mp.weixin.qq.com/s/bvL7N2PJlVW7fsXCupjbXA
相关文章