天天看點

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複制模式。(線上的把一台資料庫的日志資料複制到另一台中,來避免單點故障) 

SAP HANA資料庫HA雙機架構概念及運維

二、華為提供的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 常見維護操作

SAP HANA資料庫HA雙機架構概念及運維

● 對于RHEL OS,執行“pcs resource cleanup rsc_SAPHana_S00_HDB00”,其中S00是本例SID,請用實際SID代替。

步驟6 注冊完成之後,HAE資源會檢測備節點已經注冊成功,HAE資源自動把備節點資料庫啟動。

四、記我的第一次HANA主備切換操作(2020.5.14) :

1、檢視狀态

SAP HANA資料庫HA雙機架構概念及運維

使用HA腳本檢視資料複制狀态,確定備節點“sync_state”是“SOK”,同時主備節點score都是正數:

SAPHanaSR-showAttr,2号機主庫,1号機備庫同步OK。

SAP HANA資料庫HA雙機架構概念及運維

使用HANA資料庫腳本檢視資料複制狀态,確定所有HANA程序Replication Status都是“ACTIVE”:

# su - <sid>adm

> cdpy

> python systemReplicationStatus.py

SAP HANA資料庫HA雙機架構概念及運維

2、模拟故障,主庫切換

SAP HANA資料庫HA雙機架構概念及運維

在2号機主庫上停掉資料庫, HDB stop

SAP HANA資料庫HA雙機架構概念及運維

指令執行後,主庫跑到1号機上。

3、恢複備庫,清除警告

SAP HANA資料庫HA雙機架構概念及運維

在需要救活的2号機上,執行注冊指令,把備庫注冊到主庫中。指令中第一個主機名是對端,第二個主機名是自己。

hdbnsutil -sr_register --remoteHost=hanaprd01 --remoteInstance=00 --replicationMode=sync --name=hanaprd02 --operationMode=logreplay
           

在suse Hawk管理軟體中去做一下警告清理:

SAP HANA資料庫HA雙機架構概念及運維

4、最後主備正常,因為發生了切換,但所在主機同之前不同。

HANA雙機是完全獨立的2台硬體伺服器,并沒有固定主庫一定要在某一台上。

SAP HANA資料庫HA雙機架構概念及運維

最後切換完成的狀态:

SAP HANA資料庫HA雙機架構概念及運維

五、修改system使用者的密碼

SAP HANA資料庫HA雙機架構概念及運維

如果知道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号機自動恢複了同步。