SAP HANA数据库HA双机架构概念及运维
本文主要参考《华为HANA一体机安装指南》,硬件相关功能也与华为HANA一体机紧密相连。关于Scale UP 和 HANA Replication 向上扩展的架构The first set of scenarios include the architecture and development of scale-up solutions. For thisscenarios SUSE devel
本文主要参考《华为HANA一体机安装指南》,硬件相关功能也与华为HANA一体机紧密相连。
一、关于Scale UP 向上扩展、 HANA Replication复制的架构
The first set of scenarios include the architecture and development of scale-up solutions. For this
scenarios SUSE developed the scale-up resource agent package SAPHanaSR .
System replication will help to replicate the database data from one computer to another computer in order to compensate for database failures (single-box replication).
scale-up 架构是第一主流的(对于scale-out, scale-up是硬件在单一主机上向上扩容),为这个架构,suse 开发了专门的工具包 SAPHanaSR,对应于HANA数据库系统的Replication复制模式。(在线的把一台数据库的日志数据复制到另一台中,来避免单点故障)
二、华为提供的HANA双机HA最终解决方案
1、HANA双机是完全独立的2台硬件服务器,并没有固定主库一定要在某一台上。
2、借助SUSE的HAWK集群软件,实现2台服务器中数据库实例的切换。
3、HA标准安装有以下资源包,stonith资源包中同硬件绑定紧密,需要设置。
关于stonith(shoot the other node in the head),为防止心跳全部断裂,2台服务器都启动主库的脑裂情况发生,需要彻底重启或关掉一台服务器的电源,所以stonith资源包是从硬件管理口彻底关闭对端服务器的电源。
rsc_hana01_stonith: 从BMC检查并修复node1
rsc_hana02_stonith: 从BMC检查并修复node2
rsc_ip_S00_HDB00: 监控及切换VIP
msl_SAPHana_S00_HDB00: 切换HANA数据库
cln_SAPHanaTopology_S00: 数据库资源检查
三、HANA双机运维场景:
1、备节点异常后,如何恢复:
HA集群的服务器,如果备节点服务器异常重启,不会影响主节点数据库状态;备节点服务器重启之后,集群检测到备节点在重启之前已经注册到主节点,集群会自动把备节点数据库启动,无须人工启动数据库。
2、主节点故障后,HA的正确的切换流程是:
1、主节点数据库关闭或服务器重启->
2、备节点自动takeover->
3、OS层HA软件获取数据库主备状态变化->
4、OS层HA软件Master&Slave资源发生切换->
5、VIP漂移到切换后的节点。
3、发生主备切换后,如何恢复:
注意:
HA集群备节点node2数据库takeover接管之后,备节点node2会变为primary模式,主节点node1依然保持为primary模式。在主节点node1故障排除后,如果将原主节点作为备节点加入到HA集群,需要在切换前的主节点执行注册命令,注册到发生切换后的主节点。对于HANA数据库,本机作为备机注册到主节点后,本机的原数据会丢失,将会同步主节点的数据。所以在执行注册之前需确保当前主节点的数据是完整的。
操作:
步骤1 root用户登录到切换前的原主节点服务器node1。
步骤2 在node1执行su - <sid>adm切换到数据库账户。
步骤3 停止node1数据库,或确保当前HDB数据库停止。
步骤4 在node1执行注册命令,注册到node2。
步骤5 清理资源failcount ,SLES和RHEL系统清理资源failcount方法不一样。
● 对于SLES OS,登录Hawk界面,在SAPHana资源“openrations”中选择 “cleanup”清理该资源的故障计数。
华为 SAP HANA 一体机及HA 维护指南5 SAP HANA 双机HA 常见维护操作
● 对于RHEL OS,执行“pcs resource cleanup rsc_SAPHana_S00_HDB00”,其中S00是本例SID,请用实际SID代替。
步骤6 注册完成之后,HAE资源会检测备节点已经注册成功,HAE资源自动把备节点数据库启动。
四、记我的第一次HANA主备切换操作(2020.5.14) :
1、查看状态
使用HA脚本查看数据复制状态,确保备节点“sync_state”是“SOK”,同时主备节点score都是正数:
SAPHanaSR-showAttr,2号机主库,1号机备库同步OK。
使用HANA数据库脚本查看数据复制状态,确保所有HANA进程Replication Status都是“ACTIVE”:
# su - <sid>adm
> cdpy
> python systemReplicationStatus.py
2、模拟故障,主库切换
在2号机主库上停掉数据库, HDB stop
命令执行后,主库跑到1号机上。
3、恢复备库,清除警告
在需要救活的2号机上,执行注册命令,把备库注册到主库中。命令中第一个主机名是对端,第二个主机名是自己。
hdbnsutil -sr_register --remoteHost=hanaprd01 --remoteInstance=00 --replicationMode=sync --name=hanaprd02 --operationMode=logreplay
在suse Hawk管理软件中去做一下警告清理:
4、最后主备正常,因为发生了切换,但所在主机同之前不同。
HANA双机是完全独立的2台硬件服务器,并没有固定主库一定要在某一台上。
最后切换完成的状态:
五、修改system用户的密码
如果知道system用户的密码,用hana studio连上去,用一条命令就可以改变密码:
ALTER USER SYSTEM PASSWORD MYNEWPASSWORD
---------------2021.3.30-------------------
2021.3.30 15:00 数据库发生一次OOM(内存驻留满故障),同时该OOM故障造成了2号机slave模式异常,无法接管切换。
2021.3.30 16:08 SAP HanaTopology 资源检查失败,触发了ha fence的屏蔽,屏蔽产生了强制重启1号机命令。
2021.3.30 16:30 1号机重启后,数据库恢复正常,用户使用SAP应用正常。
2021.3.30 17:30 2号机没有恢复到slave同步状态,同刘恒博一起试了同步命令,还是不行;最后reboot重启了2号机,5分钟后在HAWK中查看,2号机自动恢复了同步。
更多推荐
所有评论(0)