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 = ACTIVEoverall_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