news 2026/5/2 8:13:41

【生产环境亲测】HANA2.0高可用切换实战指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【生产环境亲测】HANA2.0高可用切换实战指南

SLES 15 SP3 + HANA 2.0 SPS06 生产级 HA 手工切换全流程 | 维护模式规范 | 零数据丢失 | Pacemaker 集群运维

文章标签

SAP HANASLES 15 SP3高可用切换PacemakerSAP Basis运维实战数据库维护


一、前言

SLES 15 SP3 + SAP HANA 2.0 SPS06 + Pacemaker/Corosync高可用集群架构中,计划性主备手工切换是日常运维、版本升级、硬件维护、故障演练的核心操作。

本文基于生产环境标准运维流程,聚焦必须进入维护模式再执行切换的核心安全原则,提供从前置检查、维护模式开启、手工接管、备机注册、故障清理到退出维护的全流程可直接复制执行的命令与校验步骤,彻底规避双主、脑裂、数据不一致等高危问题,适合 SAP Basis、数据库运维工程师直接落地使用。


二、环境适配说明

本文所有命令与流程严格适配以下生产环境:

  • 操作系统:SUSE Linux Enterprise Server for SAP 15 SP3
  • 集群组件:Pacemaker + Corosync + SAPHanaSR
  • 数据库版本:SAP HANA 2.0 SPS06(多租户默认架构)
  • 集群资源:多状态资源msl_SAPHana_S00_HDB00
  • 系统信息:SID=S00,实例号 = 00
  • 节点角色:原主节点node01、原备节点node02
  • 复制模式:sync同步复制
  • 运行模式:logreplay日志重放

三、切换前置必备校验

执行任何手工切换操作前,必须完成以下 4 项校验,任意一项不通过禁止操作:

1. 集群资源状态检查

crm status # 或 crm_mon -r

✅ 预期结果:

  • 所有资源状态为Started
  • Master 资源与虚拟 IP (VIP) 在同一节点
  • 无失败资源、无故障计数

2. HANA 主备角色检查

一、前言

SLES 15 SP3 + SAP HANA 2.0 SPS06 + Pacemaker/Corosync高可用集群架构中,计划性主备手工切换是日常运维、版本升级、硬件维护、故障演练的核心操作。

本文基于生产环境标准运维流程,聚焦必须进入维护模式再执行切换的核心安全原则,提供从前置检查、维护模式开启、手工接管、备机注册、故障清理到退出维护的全流程可直接复制执行的命令与校验步骤,彻底规避双主、脑裂、数据不一致等高危问题,适合 SAP Basis、数据库运维工程师直接落地使用。


二、环境适配说明

本文所有命令与流程严格适配以下生产环境:

  • 操作系统:SUSE Linux Enterprise Server for SAP 15 SP3
  • 集群组件:Pacemaker + Corosync + SAPHanaSR
  • 数据库版本:SAP HANA 2.0 SPS06(多租户默认架构)
  • 集群资源:多状态资源msl_SAPHana_S00_HDB00
  • 系统信息:SID=S00,实例号 = 00
  • 节点角色:原主节点node01、原备节点node02
  • 复制模式:sync同步复制
  • 运行模式:logreplay日志重放

三、切换前置必备校验

执行任何手工切换操作前,必须完成以下 4 项校验,任意一项不通过禁止操作:

1. 集群资源状态检查

crm status # 或 crm_mon -r

✅ 预期结果:

  • 所有资源状态为Started
  • Master 资源与虚拟 IP (VIP) 在同一节点
  • 无失败资源、无故障计数

2. HANA 主备角色检查

su - s00adm hdbnsutil -sr_state

✅ 预期结果:

  • 主节点:mode: primary
  • 备节点:mode: sync

3. 系统复制同步状态检查

su - s00adm cdpy python systemReplicationStatus.py

✅ 预期结果:

  • site replication status = ACTIVE
  • overall_replication_status = ACTIVE

4. 集群空闲状态检查

cs_wait_for_idle -s 5

✅ 预期结果:Cluster state: S_IDLE


四、2.2 双机 HA 常见维护操作

2.2.1 如何查看资源状态

通过命令行查看 HA 资源状态

步骤 1 以 root 用户登录主节点服务器。步骤 2 执行 crm status 或 crm_mon -r 命令查看 HA 资源状态。若返回结果显示所有资源都为 Started,并且 Masters 资源所在节点与虚拟 IP 地址所在节点一致,表示 HA 资源正常。

node01:~ # crm status Cluster Summary: * Stack: corosync * Current DC: node02 (version 2.0.3+20200511.2b248d828-1.10-2.0.3+20200511.2b248d828) - partition with quorum * Last updated: Tue Apr 13 11:07:14 2021 * Last change: Tue Apr 13 11:06:18 2021 by root via crm_attribute on node01 * 2 nodes configured * 8 resource instances configured Node List: * Online: [ node01 node02 ] Full List of Resources: * rsc_hana01_stonith (stonith:external/ipmi): Started node02 * rsc_hana02_stonith (stonith:external/ipmi): Started node01 * rsc_ip_S00_HDB00 (ocf::heartbeat:IPaddr2): Started node01 * Clone Set: msl_SAPHana_S00_HDB00 [rsc_SAPHana_S00_HDB00] (promotable): * Masters: [ node01 ] * Slaves: [ node02 ] * Clone Set: cln_SAPHanaTopology_S00_HDB00 [rsc_SAPHanaTopology_S00_HDB00]: * Started: [ node01 node02 ] node01:~ #
通过 Hawk 图形化界面查看 HA 资源状态(仅限于 SUSE OS)

步骤 1 在浏览器中输入https://IP_ADDRESS:7630/,打开 Hawk 管理登录界面,输入登录用户名和密码(默认用户名为 hacluster,默认密码为 linux)。IP_ADDRESS 为任意节点的业务 IP 地址,请根据实际情况修改。

步骤 2 单击左侧导航栏里的MONITORING > Status,查看 HA 资源状态。显示绿色符号,未出现红色 failcount 打印,表示所有 HA 资源正常运行。


2.2.2 如何进入和退出维护模式

  • HA 进入维护模式之后,所有资源会变成 unmanager 状态,HAE 不再对数据库进行管理,自动切换功能不生效,这时可以对服务器进行维护操作。
  • 如果 HA 进入或退出维护模式,服务器重启之后,会保留重启前的维护模式不变。

以 root 用户登录服务器,执行以下命令,进入或退出维护模式:

SUSE OS

# 进入维护模式 crm configure property maintenance-mode=true
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/12 2:19:19

FPGA架构解析:LUT与MUX在数字电路设计中的核心作用

1. FPGA架构中的LUT:数字电路的万能积木 第一次接触FPGA时,我被LUT(查找表)这个概念搞得很头疼——明明是个硬件芯片,怎么搞得像在编程一样要查表?后来在实际项目中摸爬滚打多年才明白,这简直是…

作者头像 李华
网站建设 2026/4/12 9:09:05

用MATLAB手把手教你画LFM信号的时频图(附完整代码与频谱分析)

用MATLAB实战解析LFM信号的时频特性:从代码实现到原理验证 在雷达信号处理和通信系统设计中,线性调频信号(LFM)因其优异的脉冲压缩特性而广泛应用。但对于刚接触这个领域的学生和工程师来说,如何将教科书上的数学公式转…

作者头像 李华
网站建设 2026/4/10 21:04:50

Impala时间函数实战:从日期计算到时区转换的5个高频场景解析

Impala时间函数实战:从日期计算到时区转换的5个高频场景解析 在处理海量时间序列数据时,如何高效利用Impala的时间函数是每个数据工程师的必修课。不同于简单的函数罗列,我们将通过真实业务场景,深入剖析5个最具挑战性的时间处理难…

作者头像 李华
网站建设 2026/4/12 2:57:56

写段代码教会你什么是HOOK技术?HOOK技术能干什么?褂

为 HagiCode 添加 GitHub Pages 自动部署支持 本项目早期代号为 PCode,现已正式更名为 HagiCode。本文记录了如何为项目引入自动化静态站点部署能力,让内容发布像喝水一样简单。 背景/引言 在 HagiCode 的开发过程中,我们遇到了一个很现实的问…

作者头像 李华