当前位置: 首页 > news >正文

SAP HANA数据库HA双机架构概念及运维

SAP HANA数据库HA双机架构概念及运维

本文主要参考《华为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复制模式。(在线的把一台数据库的日志数据复制到另一台中,来避免单点故障) 

https://i-blog.csdnimg.cn/blog_migrate/1c593a2c10150620fb1ad71e2fd20647.png

二、华为提供的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 常见维护操作

https://i-blog.csdnimg.cn/blog_migrate/b3a7bc0ca90036d300d2068bcca0833d.png
● 对于RHEL OS,执行“pcs resource cleanup rsc_SAPHana_S00_HDB00”,其中S00是本例SID,请用实际SID代替。
步骤6 注册完成之后,HAE资源会检测备节点已经注册成功,HAE资源自动把备节点数据库启动。

四、记我的第一次HANA主备切换操作(2020.5.14) :

1、查看状态

https://i-blog.csdnimg.cn/blog_migrate/71031694b648d52cb1c4ccba2f095b13.png

使用HA脚本查看数据复制状态,确保备节点“sync_state”是“SOK”,同时主备节点score都是正数:
SAPHanaSR-showAttr,2号机主库,1号机备库同步OK。

https://i-blog.csdnimg.cn/blog_migrate/9bc61e2db51cc51335e685b290fb1706.png

使用HANA数据库脚本查看数据复制状态,确保所有HANA进程Replication Status都是“ACTIVE”:

# su - <sid>adm
> cdpy
> python systemReplicationStatus.py

https://i-blog.csdnimg.cn/blog_migrate/20282c5cb3a6f22753e4a28e5d2b2c07.png

2、模拟故障,主库切换

https://i-blog.csdnimg.cn/blog_migrate/9f4c5fc5e22c57b18561b775594801ce.png

在2号机主库上停掉数据库, HDB stop

https://i-blog.csdnimg.cn/blog_migrate/4ea20134ac7fe37ff1b6a9bba018674d.png

命令执行后,主库跑到1号机上。

3、恢复备库,清除警告

https://i-blog.csdnimg.cn/blog_migrate/01880c4ab4c87fbe4b737a90ec502756.png

在需要救活的2号机上,执行注册命令,把备库注册到主库中。命令中第一个主机名是对端,第二个主机名是自己。

在suse Hawk管理软件中去做一下警告清理:

https://i-blog.csdnimg.cn/blog_migrate/57e19c9b2391fe4c9de4e1e532da2224.png

4、最后主备正常,因为发生了切换,但所在主机同之前不同。

HANA双机是完全独立的2台硬件服务器,并没有固定主库一定要在某一台上。

https://i-blog.csdnimg.cn/blog_migrate/436b9e813cf45c237b5f0b2f29622ac7.png

最后切换完成的状态:

https://i-blog.csdnimg.cn/blog_migrate/afe28fed36bdc961f9274baa28c52a3b.png

五、修改system用户的密码

https://i-blog.csdnimg.cn/blog_migrate/dbd413accc2fc4c6f92e6357ad72d58d.png

如果知道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号机自动恢复了同步。

转载至https://blog.csdn.net/ot512csdn/article/details/106124249

http://www.dtcms.com/a/545491.html

相关文章:

  • Blender 4K渲染背后的技术挑战
  • 镇江建设集团网站扁平化wordpress
  • 测试开发话题05---用例篇(2)
  • 做个网站多少费用asp学习网站
  • 基于电鱼 ARM 工控机的井下设备运行状态监测方案——实时采集电机、电泵、皮带机等关键设备运行数据
  • 【代码审计】Doufox v0.1.1 任意文件读取 分析
  • 做php网站的环境微信网站小游戏
  • 做网站基本要求wordpress哪些文件需要给777
  • 不练不熟,不写就忘 之 compose 之 动画之 animateFloatAsState动画练习
  • 做物流网站的图片素材沈阳公司网站
  • 动态增减输入框并做校验
  • Matlab 开启并行池
  • 仓颉内存分配优化:从分配器到无分配编程的演进
  • MATLAB的KL展开随机场生成实现
  • MATLAB基于IOWA算子的投影法加权几何平均组合预测模型
  • Jupyter Notebook 使用指南:从入门到进阶
  • 基于MATLAB的禁忌搜索算法解决物流网络枢纽选址问题
  • 基于MATLAB的三维结构拓扑优化实现方案
  • 汕尾网站网站建设桐乡网站二次开发
  • qData数据中台开源版快速部署教程(Docker Compose方式|官方教学视频)
  • S11e Protocol:点燃共创之火 · 重构RWA品牌未来
  • [技术前沿] 2025电商格局重构:当流量红利消失,AI与数据如何成为增长的新基石?
  • 描述网站的含义郑州正规网站制作公司
  • 做网站做手机站还是自适应站河南省住房和城乡建设部网站
  • 执行shell脚本的各种方法
  • Rust 深度解析:控制流 —— 安全的“逻辑轨道”
  • 坪山建设网站自己怎么设置网站
  • 廊坊建设部网站怎么进网站后台管理系统
  • Rust 中 LinkedList 的双向链表结构深度解析
  • 从零开始学 Maven:Java 项目管理的高效解决方案