SAP HANA HASR 配置

发布时间 2023-06-07 16:30:16作者: 踏雪无痕2017

HANA HASR 设置步骤,以SUSE LINUX 为例,RHEL 类似:

1、准备集群环境

--安装SUSE HA 需要的package

zypper in --type pattern ha_sles

zypper in SAPHanaSR SAPHanaSR-doc

--配置基于共享存储的STONITH

--创建SBD 磁盘设备

sbd -d  /dev/sdc  create -- /dev/sdc 需为集群共享磁盘

--启动 SBD 守护程序

systemctl enable sbd

--设置开机自动加载softdog内核模块,并确认/dev/watchdog 存在

echo softdog > /etc/modules-load.d/watchdog.conf

2、部署集群

--在第一个节点初始化集群

crm cluster init --注意选择使用SBDSTONITH以防止脑裂

--在其他节点添加集群成员

crm cluster join --完成节点成员添加后,记得修改所有节点hacluster 账号密码,该账号默认密码为linux

--删除集群节点

crm cluster remove --force

3、维护集群

crm cluster status -- 查看集群状态

crm cluster start --启动集群

crm cluster stop --停止集群

crm configure property maintenance-mode=false   --禁用维护模式

crm configure property maintenance-mode=true    --启用维护模式

crm resource  cleanup                           --清理所有节点资源报错计算

--集群pacemaker服务自启动

systemctl enable pacemaker.service

--集群corosync服务自启动

systemctl enable corosync.service

4、添加HANA SR 资源至集群

crm configure load update hanasr.txt

-- hanasr.txt 内容如下,SID,InstanceNumber,vip 根据实际环境进行修改

primitive rsc_ip_HDB_HDB00 ocf:heartbeat:IPaddr2 \

    params \

    ip="192.169.254.21" \

    cidr_netmask=24 \

    op start timeout=20 op stop timeout=20 op monitor interval=10  \

timeout=20

primitive rsc_SAPHana_HDB_HDB00 ocf:suse:SAPHana \

    params \

SID="HDB" \

    InstanceNumber="00" \

    PREFER_SITE_TAKEOVER="true" \

    AUTOMATED_REGISTER="true" \

    DUPLICATE_PRIMARY_TIMEOUT="7200" \

    DIR_EXECUTABLE="" \

    DIR_PROFILE="" \

    INSTANCE_PROFILE="" \

    op start interval="0" timeout="3600" \

    op stop interval="0" timeout="3600" \

    op promote interval="0" timeout="3600" \

    op monitor interval="60" role="Master" timeout="700" \

    op monitor interval="61" role="Slave" timeout="700"

primitive rsc_SAPHanaTopology_HDB_HDB00 ocf:suse:SAPHanaTopology \

    params \

SID="HDB" \

    InstanceNumber="00" \

    op monitor interval="10" timeout="600" \

    op start interval="0" timeout="600" \

    op stop interval="0" timeout="300" \

ms msl_SAPHana_HDB_HDB00 rsc_SAPHana_HDB_HDB00 \

    meta clone-max="2" clone-node-max="1" interleave="true" \

clone cln_SAPHanaTopology_HDB_HDB00 rsc_SAPHanaTopology_HDB_HDB00 \

    meta is-managed="true" clone-node-max="1" interleave="true" \

colocation col_saphana_ip_HDB_HDB00 2000: rsc_ip_HDB_HDB00:Started \

msl_SAPHana_HDB_HDB00:Master \

order ord_SAPHana_HDB_HDB00 Optional: cln_SAPHanaTopology_HDB_HDB00 \

msl_SAPHana_HDB_HDB00

--为只读节点分配虚拟ip地址,可选

primitive rsc_ip_HDB_HDB00_readenabled ocf:heartbeat:IPaddr2 \

    op monitor interval="10s" timeout="20s" \

    params ip="192.169.254.22"

colocation col_saphana_ip_HDB_HDB00_readenabled 2000: \

    rsc_ip_HDB_HDB00_readenabled:Started msl_SAPHana_HDB_HDB00:Slave

5、如果使用IPMI 作为STONITH,需添加ipmi stonith 资源

crm configure load update ipmi.txt

-- ipmi.txt 内容如下,hostname,ipaddr,userid,passwd 根据实际环境进行修改

primitive rsc_suse01_stonith stonith:external/ipmi \

    params hostname="suse01" ipaddr="192.168.1.101" userid="stonith" \

    passwd="k1llm3" interface="lanplus" \

    op monitor interval="1800" timeout="30"

primitive rsc_suse02_stonith stonith:external/ipmi \

    params hostname="suse02" ipaddr="192.168.1.102" userid="stonith" \

    passwd="k1llm3" interface="lanplus" \

    op monitor interval="1800" timeout="30"

6、集群节点hana数据库global.ini 文件增加如下内容:

[ha_dr_provider_SAPHanaSR]

provider = SAPHanaSR

path = /usr/share/SAPHanaSR

execution_order = 1

[trace]

ha_dr_saphanasr = info

7.集群节点/etc/sudoers 文件增加条目,sid 替换为实际环境中的值,且为小写,以允许sidadm 账号执行集群的一些命令

# SAPHanaSR-ScaleUp entries for writing srHook cluster attribute and SAPHanaSR-hookHelper

sidadm ALL=(ALL) NOPASSWD: /usr/sbin/crm_attribute -n hana_sid_site_srHook_*

sidadm ALL=(ALL) NOPASSWD: /usr/sbin/SAPHanaSR-hookHelper *

8.查看集群状态

crm status --查看集群资源状态

SAPHanaSR-monitor --sid=HDB   --查看集群、SR 健康状态

SAPHanaSR-showAttr --sid=HDB  --查看SR 同步状态

也可登录HAWK Web,查看集群状态

2

8