共用方式為


SUSE Linux Enterprise Server for SAP 應用程式上 SAP NetWeaver on Azure VM 的高可用性多重 ID 指南

本文說明如何使用 SUSE Linux Enterprise Server for SAP 應用程式,在 Azure VM 上的雙節點叢集中部署多個 SAP NetWeaver 或 S4HANA 高可用性系統 (亦即多重 SID)。

在設定、安裝命令等範例中,有三個 SAP NetWeaver 7.50 系統部署於單一的雙節點高可用性叢集。 SAP 系統 SID 如下:

  • NW1:ASCS 執行個體號碼 00 和虛擬主機名稱 msnw1ascs;ERS 執行個體號碼 02 和虛擬主機名稱 msnw1ers
  • NW2:ASCS 執行個體號碼 10 和虛擬主機名稱 msnw2ascs;ERS 執行個體號碼 12 和虛擬主機名稱 msnw2ers
  • NW3:ASCS 執行個體號碼 20 和虛擬主機名稱 msnw3ascs;ERS 執行個體號碼 22 和虛擬主機名稱 msnw3ers

本文未涵蓋資料庫層和 SAP NFS 共用的部署。 在本文中的範例中,我們會針對 NW2 NFS 共用使用虛擬名稱 nw2-nfs,而 NW3 NFS 共用則使用 nw3-nfs,假設已部署 NFS 叢集。

開始之前,請先參閱下列 SAP 附註和文件:

概觀

參與叢集的虛擬機器必須夠大,能夠在容錯移轉發生時執行所有資源。 在多重 SID 高可用性叢集,每個 SAP SID 都可以彼此獨立容錯移轉。 如果使用 SBD 隔離,則多個叢集之間可以共用 SBD 裝置。

為了實現高可用性,SAP NetWeaver 需要高可用性 NFS 共用。 在此範例中,我們假設 SAP NFS 共用裝載於高可用性 NFS 檔案伺服器,可供多個 SAP 系統使用。 或者,共用部署於 Azure NetApp Files NFS 磁碟區

Pacemaker 叢集會顯示兩個多重 SID 叢集、msidcl1 和 msidcl2 的詳細資訊。

重要

對於 Azure VM 中以 SUSE Linux 為客體作業系統的 SAP ASCS/ERS,多重 SID 叢集支援相同叢集上最多五個 SAP SID。 每增加一個 SID 就越複雜。 不支援在相同叢集中混用 SAP 加入佇列複寫伺服器 1 和加入佇列複寫伺服器 2。 多重 SID 叢集是指在一個 Pacemaker 叢集上安裝多個 SAP ASCS/ERS 執行個體,各有不同的 SID。 目前只有 ASCS/ERS 支援多重 SID 叢集。

提示

SAP ASCS/ERS 的多重 SID 叢集是很複雜的解決方案。 實作時比較複雜。 執行維護活動時 (例如 OS 修補),在管理上也很費力。 實際開始實作之前,請花時間仔細規劃部署及所有相關元件,例如 VM、NFS 掛接、VIP、負載平衡器設定等。

NFS 伺服器、SAP NetWeaver ASCS、SAP NetWeaver SCS、SAP NetWeaver ERS 和 SAP HANA 資料庫會使用虛擬主機名稱和虛擬 IP 位址。 在 Azure 上必須有負載平衡器才能使用虛擬 IP 位址。 我們建議使用 tandard Load Balancer

針對這具有三個 SAP 系統的多重 SID 叢集範例,呈現的設定指出負載平衡器具有:

  • ASCS 的前端 IP 位址:10.3.1.14 (NW1)、10.3.1.16 (NW2) 和 10.3.1.13 (NW3)
  • ERS 的前端 IP 位址:10.3.1.15 (NW1)、10.3.1.17 (NW2) 和 10.3.1.19 (NW3)
  • NW1 ASCS 的探查連接埠 62000、NW2 ASCS 的 62010 和 NW3 ASCS 的 62020
  • NW1 ASCS 的探查連接埠 62102、NW2 ASCS 的 62112 和 NW3 ASCS 的 62122

注意

當不具公用 IP 位址的 VM 放在內部 (沒有公用 IP 位址) Standard Azure Load Balancer 的後端集區時,除非另外設定來允許路由傳送至公用端點,否則不會有輸出網際網路連線能力。 如需如何實現輸出連線能力的詳細資料,請參閱在 SAP 高可用性案例中使用 Azure Standard Load Balancer 實現虛擬機器的公用端點連線能力

重要

  • 請勿在位於 Azure Load Balancer 後方的 Azure VM 上啟用 TCP 時間戳記。 啟用 TCP 時間戳記會導致健康狀態探查失敗。 將 net.ipv4.tcp_timestamps 參數設定為 0。 如需詳細資料,請參閱 Load Balancer 健康狀態探查
  • 若要防止 saptune 將手動設定 net.ipv4.tcp_timestamps 值從 0 變更回 1,您應該將 saptune 版本更新為 3.1.1 或更高版本。 如需詳細資訊,請參閱 saptune 3.1.1 - 我需要更新嗎?

SAP NFS 共用

SAP NetWeaver 在傳輸、設定檔目錄等方面需要共用儲存體。 高可用性 SAP 系統必須擁有高可用性 NFS 共用。 您還必須決定 SAP NFS 共用的架構。 可選擇建立 SUSE Linux Enterprise Server 的 Azure VM 上的高可用性 NFS 叢集,供多個 SAP 系統共用。

也可選擇在 Azure NetApp Files NFS 磁碟區部署共用。 使用 Azure NetApp Files,您將取得 SAP NFS 共用的內建高可用性。

在叢集部署第一個 SAP 系統

根據 SAP NFS 共用的架構,在對應的文件之後,在叢集中部署第一個 SAP 系統。

上述文件將逐步引導您準備必要的基礎結構、建立叢集、準備 OS,以執行 SAP 應用程式。

提示

部署第一個系統之後,在將額外的 SAP SID 新增至叢集之前,一定要測試叢集的容錯移轉功能。 這樣先知道叢集功能正常,才可能再為叢集增添更多 SAP 系統的複雜性。

在叢集部署其他 SAP 系統

在此範例中,我們假設系統 NW1 已部署於叢集。 我們將示範如何將 SAP 系統 NW2NW3 部署於叢集。

下列項目會加上下列其中一個前置詞:[A] - 適用於所有節點、[1] - 僅適用於節點 1 或 [2] - 僅適用於節點 2。

必要條件

重要

因為有些步驟只在部署第一個系統期間需要執行,請遵循指示先將第一個 SAP 系統部署於叢集,再遵循指示將其他 SAP 系統部署於叢集。

此文件假設:

  • Pacemaker 叢集已設定且在執行中。
  • 至少一個 SAP 系統 (ASCS/ERS 執行個體) 已部署於叢集且正在執行中。
  • 叢集容錯移轉功能已經過測試。
  • 已部署所有 SAP 系統的 NFS 共用。

準備 SAP NetWeaver 安裝

  1. 依照 透過 Azure 入口網站手動設定 Azure Load Balancer 的指示,將新部署系統的組態新增至現有 Azure Load Balancer (即 NW2NW3)。 調整設定的 IP 位址、健全狀態探查連接埠、負載平衡規則。

  2. [A] 設定其他 SAP 系統的名稱解析。 您可以使用 DNS 伺服器,或修改所有節點上的 /etc/hosts。 此範例說明如何使用 /etc/hosts 檔案。 將 IP 位址和主機名稱調整為適合您的環境。

    sudo vi /etc/hosts
    
    # IP address of the load balancer frontend configuration for NW2 ASCS
    10.3.1.16 msnw2ascs
    # IP address of the load balancer frontend configuration for NW3 ASCS
    10.3.1.13 msnw3ascs
    # IP address of the load balancer frontend configuration for NW2 ERS
    10.3.1.17 msnw2ers
    # IP address of the load balancer frontend configuration for NW3 ERS
    10.3.1.19 msnw3ers
    # IP address for virtual host name for the NFS server for NW2
    10.3.1.31 nw2-nfs
    # IP address for virtual host name for the NFS server for NW3
    10.3.1.32 nw3-nfs
    
  3. [A] 針對您要額外部署至叢集的 NW2NW3 SAP 系統,建立共用目錄。

    sudo mkdir -p /sapmnt/NW2
    sudo mkdir -p /usr/sap/NW2/SYS
    sudo mkdir -p /usr/sap/NW2/ASCS10
    sudo mkdir -p /usr/sap/NW2/ERS12
    sudo mkdir -p /sapmnt/NW3
    sudo mkdir -p /usr/sap/NW3/SYS
    sudo mkdir -p /usr/sap/NW3/ASCS20
    sudo mkdir -p /usr/sap/NW3/ERS22
    
    sudo chattr +i /sapmnt/NW2
    sudo chattr +i /usr/sap/NW2/SYS
    sudo chattr +i /usr/sap/NW2/ASCS10
    sudo chattr +i /usr/sap/NW2/ERS12
    sudo chattr +i /sapmnt/NW3
    sudo chattr +i /usr/sap/NW3/SYS
    sudo chattr +i /usr/sap/NW3/ASCS20
    sudo chattr +i /usr/sap/NW3/ERS22
    
  4. [A] 針對您要部署至叢集的其他 SAP 系統,設定 autofs 以裝載 /sapmnt/SID 和 /usr/sap/SID/SYS 檔案系統。 在此範例中為 NW2NW3

    使用您要部署至叢集的其他 SAP 系統的檔案系統,來更新檔案 /etc/auto.direct

    您必須重新啟動 autofs 服務,才能裝載新增的共用。

安裝 ASCS/ERS

  1. 針對您要部署至叢集的額外 SAP 系統的 ASCS 執行個體,建立虛擬 IP 和健全狀態探查叢集資源。 此處顯示的範例適用於使用高可用性 NFS 伺服器的 NW2NW3 ASCS。

    重要

    最近測試顯示 netcat 會因待處理項目及其僅處理單一連線的限制,而停止回應要求的狀況。 Netcat 資源會停止接聽 Azure Load Balancer 要求,使浮動 IP 無法使用。
    針對現有的 Pacemaker 叢集,我們在過去建議將 netcat 取代成 socat。 目前建議使用 azure-lb 資源代理程式,其為 resource-agents 套件的一部分,並包含下列套件版本需求:

    • 針對 SLES 12 SP4/SP5,版本必須至少為 resource-agents-4.3.018.a7fb5035-3.30.1。
    • 針對 SLES 15/15 SP1,版本必須至少為 resource-agents-4.3.0184.6ee15eb2-4.13.1。

    請注意,變更將會需要短暫的停機。
    針對現有的 Pacemaker 叢集,若設定已按照 Azure Load Balancer 偵測強化中的描述變更為使用 socat,則沒有立即切換至 azure-lb 資源代理程式的需求。

    sudo crm configure primitive fs_NW2_ASCS Filesystem device='nw2-nfs:/NW2/ASCS' directory='/usr/sap/NW2/ASCS10' fstype='nfs4' \
       op start timeout=60s interval=0 \
       op stop timeout=60s interval=0 \
       op monitor interval=20s timeout=40s
    
    sudo crm configure primitive vip_NW2_ASCS IPaddr2 \
        params ip=10.3.1.16 \
        op monitor interval=10 timeout=20
    
    sudo crm configure primitive nc_NW2_ASCS azure-lb port=62010 \
        op monitor timeout=20s interval=10
    
    sudo crm configure group g-NW2_ASCS fs_NW2_ASCS nc_NW2_ASCS vip_NW2_ASCS \
         meta resource-stickiness=3000
    
    sudo crm configure primitive fs_NW3_ASCS Filesystem device='nw3-nfs:/NW3/ASCS' directory='/usr/sap/NW3/ASCS20' fstype='nfs4' \
        op start timeout=60s interval=0 \
        op stop timeout=60s interval=0 \
        op monitor interval=20s timeout=40s
    
    sudo crm configure primitive vip_NW3_ASCS IPaddr2 \
       params ip=10.3.1.13 \
       op monitor interval=10 timeout=20
    
    sudo crm configure primitive nc_NW3_ASCS azure-lb port=62020 \
       op monitor timeout=20s interval=10
    
    sudo crm configure group g-NW3_ASCS fs_NW3_ASCS nc_NW3_ASCS vip_NW3_ASCS \
        meta resource-stickiness=3000
    

    建立資源時,可將資源指派給不同的叢集資源。 分組時,資源會移轉至其中一個叢集節點。 請確定叢集狀態正常,且所有資源都已啟動。 資源在哪個節點上執行並不重要。

  2. [1] 安裝 SAP NetWeaver ASCS

    以 root 身分安裝 SAP NetWeaver ASCS,並使用虛擬主機名稱對應至 ASCS 的負載平衡器前端設定的 IP 位址。 以系統 NW2 為例,虛擬主機名稱是 msnw2ascs10.3.1.16,以及您用於負載平衡器探查的執行個體號碼,例如 10。 以系統 NW3 為例,虛擬主機名稱是 msnw3ascs10.3.1.13,以及您用於負載平衡器探查的執行個體號碼,例如 20

    您可以使用 sapinst 參數 SAPINST_REMOTE_ACCESS_USER 來允許非 root 使用者連線到 sapinst。 您可以使用 SAPINST_USE_HOSTNAME 參數,以虛擬主機名稱來安裝 SAP。

    sudo swpm/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin SAPINST_USE_HOSTNAME=virtual_hostname
    

    如果安裝無法在 /usr/sap/SID/ASCSInstance# 中建立子資料夾,請嘗試將 ASCSInstance# 的擁有者設定為 sidadm,並將群組設定為 sapsys,然後重試。

  3. [1] 針對您要部署至叢集的額外 SAP 系統的 ERS 執行個體,建立虛擬 IP 和健全狀態探查叢集資源。 此處顯示的範例適用於使用高可用性 NFS 伺服器的 NW2NW3 ERS。

     sudo crm configure primitive fs_NW2_ERS Filesystem device='nw2-nfs:/NW2/ASCSERS' directory='/usr/sap/NW2/ERS12' fstype='nfs4' \
       op start timeout=60s interval=0 \
       op stop timeout=60s interval=0 \
       op monitor interval=20s timeout=40s
    
     sudo crm configure primitive vip_NW2_ERS IPaddr2 \
       params ip=10.3.1.17 \
       op monitor interval=10 timeout=20
    
     sudo crm configure primitive nc_NW2_ERS azure-lb port=62112 \
       op monitor timeout=20s interval=10
    
     sudo crm configure group g-NW2_ERS fs_NW2_ERS nc_NW2_ERS vip_NW2_ERS
    
     sudo crm configure primitive fs_NW3_ERS Filesystem device='nw3-nfs:/NW3/ASCSERS' directory='/usr/sap/NW3/ERS22' fstype='nfs4' \
       op start timeout=60s interval=0 \
       op stop timeout=60s interval=0 \
       op monitor interval=20s timeout=40s
    
     sudo crm configure primitive vip_NW3_ERS IPaddr2 \
       params ip=10.3.1.19 \
       op monitor interval=10 timeout=20
    
     sudo crm configure primitive nc_NW3_ERS azure-lb port=62122 \
       op monitor timeout=20s interval=10
    
     sudo crm configure group g-NW3_ERS fs_NW3_ERS nc_NW3_ERS vip_NW3_ERS
    

    建立資源時,可將資源指派給不同的叢集節點。 分組時,資源會移轉至其中一個叢集節點。 請確定叢集狀態正常,且所有資源都已啟動。

    接下來,請確定叢集節點上執行新建立的 ERS 群組的資源,但此叢集節點並未安裝相同 SAP 系統的 ASCS 執行個體。 例如,如果 NW2 ASCS 安裝在 slesmsscl1,請確定 NW2 ERS 群組在 slesmsscl2 上執行。 您可以執行下列命令,將 NW2 ERS 群組遷移至 slesmsscl2

    crm resource migrate g-NW2_ERS slesmsscl2 force
    
  4. [2] 安裝 SAP NetWeaver ERS

    以 root 身分將 SAP NetWeaver ERS 安裝在另一個節點,並使用虛擬主機名稱對應至 ERS 的負載平衡器前端設定的 IP 位址。 以系統 NW2 為例,虛擬主機名稱是 msnw2ers10.3.1.17,以及您用於負載平衡器探查的執行個體號碼,例如 12。 以系統 NW3 為例,虛擬主機名稱是 msnw3ers10.3.1.19,以及您用於負載平衡器探查的執行個體號碼,例如 22

    您可以使用 sapinst 參數 SAPINST_REMOTE_ACCESS_USER 來允許非 root 使用者連線到 sapinst。 您可以使用 SAPINST_USE_HOSTNAME 參數,以虛擬主機名稱來安裝 SAP。

    sudo swpm/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin SAPINST_USE_HOSTNAME=virtual_hostname
    

    注意

    請使用 SWPM SP 20 PL 05 或更高版本。 較低版本無法正確設定權限,因而會讓安裝失敗。

    如果安裝無法在 /usr/sap/NW2/ERSInstance# 中建立子資料夾,請嘗試將 ERSInstance# 資料夾的擁有者設定為 sidadm,並將群組設定為 sapsys,然後重試。

    如果您需要將新部署的 SAP 系統的 ERS 群組移轉至不同的叢集節點,別忘了移除 ERS 群組的位置條件約束。 您可以執行下列命令來移除條件約束 (以 SAP 系統 NW2NW3 為例)。

    crm resource unmigrate g-NW2_ERS
    crm resource unmigrate g-NW3_ERS
    
  5. [1] 針對新安裝的 SAP 系統,調整 ASCS/SCS 和 ERS 執行個體設定檔。 以下顯示的範例以 NW2 為例。 針對新增至叢集的所有 SAP 執行個體,您會需要調整 ASCS/SCS 和 ERS 設定檔。

    • ASCS/SCS 設定檔
    sudo vi /sapmnt/NW2/profile/NW2_ASCS10_msnw2ascs
    
    # Change the restart command to a start command
    #Restart_Program_01 = local $(_EN) pf=$(_PF)
    Start_Program_01 = local $(_EN) pf=$(_PF)
    
    # Add the following lines
    service/halib = $(DIR_CT_RUN)/saphascriptco.so
    service/halib_cluster_connector = /usr/bin/sap_suse_cluster_connector
    
    # Add the keep alive parameter, if using ENSA1
    enque/encni/set_so_keepalive = TRUE
    

    針對 ENSA1 和 ENSA2,請確定已如 SAP 附註 1410736 中所述設定 keepalive OS 參數。

    • ERS 設定檔
    sudo vi /sapmnt/NW2/profile/NW2_ERS12_msnw2ers
    
    # Change the restart command to a start command
    #Restart_Program_00 = local $(_ER) pf=$(_PFL) NR=$(SCSID)
    Start_Program_00 = local $(_ER) pf=$(_PFL) NR=$(SCSID)
    
    # Add the following lines
    service/halib = $(DIR_CT_RUN)/saphascriptco.so
    service/halib_cluster_connector = /usr/bin/sap_suse_cluster_connector
    
    # remove Autostart from ERS profile
    # Autostart = 1
    
  6. [A] 為新部署的 SAP 系統 (此範例中為 NW2NW3) 設定 SAP 使用者。

    # Add sidadm to the haclient group
    sudo usermod -aG haclient nw2adm
    sudo usermod -aG haclient nw3adm
    
  7. 針對新安裝的 SAP 系統,將 ASCS 和 ERS SAP 服務新增至 sapservice 檔案。 以下顯示的範例以 SAP 系統 NW2NW3 為例。

    在第二個節點中新增 ASCS 服務項目,並將 ERS 服務項目複製到第一個節點。 在已安裝 SAP 系統 ASCS 執行個體的節點上,針對每個 SAP 系統執行命令。

    # Execute the following commands on slesmsscl1,assuming the NW2 ASCS instance was installed on slesmsscl1
    cat /usr/sap/sapservices | grep ASCS10 | sudo ssh slesmsscl2 "cat >>/usr/sap/sapservices"
    sudo ssh slesmsscl2 "cat /usr/sap/sapservices" | grep ERS12 | sudo tee -a /usr/sap/sapservices
    # Execute the following commands on slesmsscl2, assuming the NW3 ASCS instance was installed on slesmsscl2
    cat /usr/sap/sapservices | grep ASCS20 | sudo ssh slesmsscl1 "cat >>/usr/sap/sapservices"
    sudo ssh slesmsscl1 "cat /usr/sap/sapservices" | grep ERS22 | sudo tee -a /usr/sap/sapservices
    
  8. [A] 停用 systemd ASCS 和 ERS SAP 執行個體的服務。 只有當 SAP 啟動架構由 systemd 根據 SAP 備註 3115048 管理時,此步驟才適用

    注意

    使用 SLES 叢集設定管理 SAP ASCS 和 SAP ERS 之類的 SAP 執行個體時,您必須進行其他修改,以將叢集與以 systemd 為基礎的原生 SAP 啟動架構進行整合。 這可確保維護程序不會危害叢集穩定性。 根據 SAP 備註 3115048,安裝或將 SAP 啟動架構切換至已啟用 systemd 的安裝之後,您應該停用 ASCS 和 ERS SAP 執行個體的 systemd 服務。

    # Stop all ASCS and ERS instances using <sid>adm
    sapcontrol -nr 10 -function Stop
    sapcontrol -nr 10 -function StopService
    
    sapcontrol -nr 12 -function Stop
    sapcontrol -nr 12 -function StopService
    
    # Execute below command on VM where you have performed ASCS instance installation for each SAP system (e.g. slesmsscl1)
    sudo systemctl disable SAPNW2_10
    sudo systemctl disable SAPNW3_20
    # Execute below command on VM where you have performed ERS instance installation for each SAP system (e.g. slesmsscl2)
    sudo systemctl disable SAPNW2_12
    sudo systemctl disable SAPNW2_22
    
  9. [1] 為新安裝的 SAP 系統建立 SAP 叢集資源。

    視您是執行 ENSA1 或 ENSA2 系統而定,選取個別索引標籤來定義 NW2NW3 系統的資源。 SAP 在 SAP NetWeaver 7.52 中引進了 ENSA2 的支援,包括複寫。 從 ABAP 平台 1809 開始,預設會安裝 ENSA2。 如需 ENSA2 支援,請參閱 SAP 附註 2630416

    sudo crm configure property maintenance-mode="true"
    
    sudo crm configure primitive rsc_sap_NW2_ASCS10 SAPInstance \
      operations \$id=rsc_sap_NW2_ASCS10-operations \
      op monitor interval=11 timeout=60 on-fail=restart \
      params InstanceName=NW2_ASCS10_msnw2ascs START_PROFILE="/sapmnt/NW2/profile/NW2_ASCS10_msnw2ascs" \
      AUTOMATIC_RECOVER=false \
      meta resource-stickiness=5000 failure-timeout=60 migration-threshold=1 priority=10
    
    sudo crm configure primitive rsc_sap_NW2_ERS12 SAPInstance \
      operations \$id=rsc_sap_NW2_ERS12-operations \
      op monitor interval=11 timeout=60 on-fail=restart \
      params InstanceName=NW2_ERS12_msnw2ers START_PROFILE="/sapmnt/NW2/profile/NW2_ERS12_msnw2ers" AUTOMATIC_RECOVER=false IS_ERS=true \
      meta priority=1000
    
    sudo crm configure modgroup g-NW2_ASCS add rsc_sap_NW2_ASCS10
    sudo crm configure modgroup g-NW2_ERS add rsc_sap_NW2_ERS12
    
    sudo crm configure colocation col_sap_NW2_no_both -5000: g-NW2_ERS g-NW2_ASCS
    sudo crm configure location loc_sap_NW2_failover_to_ers rsc_sap_NW2_ASCS10 rule 2000: runs_ers_NW2 eq 1
    sudo crm configure order ord_sap_NW2_first_start_ascs Optional: rsc_sap_NW2_ASCS10:start rsc_sap_NW2_ERS12:stop symmetrical=false
    
    sudo crm configure primitive rsc_sap_NW3_ASCS20 SAPInstance \
      operations \$id=rsc_sap_NW3_ASCS20-operations \
      op monitor interval=11 timeout=60 on-fail=restart \
      params InstanceName=NW3_ASCS10_msnw3ascs START_PROFILE="/sapmnt/NW3/profile/NW3_ASCS20_msnw3ascs" \
      AUTOMATIC_RECOVER=false \
      meta resource-stickiness=5000 failure-timeout=60 migration-threshold=1 priority=10
    
    sudo crm configure primitive rsc_sap_NW3_ERS22 SAPInstance \
      operations \$id=rsc_sap_NW3_ERS22-operations \
      op monitor interval=11 timeout=60 on-fail=restart \
      params InstanceName=NW3_ERS22_msnw3ers START_PROFILE="/sapmnt/NW3/profile/NW3_ERS22_msnw2ers" AUTOMATIC_RECOVER=false IS_ERS=true \
      meta priority=1000
    
    sudo crm configure modgroup g-NW3_ASCS add rsc_sap_NW3_ASCS20
    sudo crm configure modgroup g-NW3_ERS add rsc_sap_NW3_ERS22
    
    sudo crm configure colocation col_sap_NW3_no_both -5000: g-NW3_ERS g-NW3_ASCS
    sudo crm configure location loc_sap_NW3_failover_to_ers rsc_sap_NW3_ASCS10 rule 2000: runs_ers_NW3 eq 1
    sudo crm configure order ord_sap_NW3_first_start_ascs Optional: rsc_sap_NW3_ASCS20:start rsc_sap_NW3_ERS22:stop symmetrical=false
    sudo crm configure property maintenance-mode="false"
    

若正在從舊版本升級並切換到加入佇列伺服器 2,請參閱 SAP 附註 2641019

請確定叢集狀態正常,且所有資源皆已啟動。 資源在哪個節點上執行並不重要。

下列範例顯示 SAP 系統 NW2NW3 新增至叢集之後的叢集資源狀態。

sudo crm_mon -r
  
# Online: [ slesmsscl1 slesmsscl2 ]
 
#Full list of resources:
   
#stonith-sbd     (stonith:external/sbd): Started slesmsscl1
# Resource Group: g-NW1_ASCS
#     fs_NW1_ASCS        (ocf::heartbeat:Filesystem):    Started slesmsscl2
#     nc_NW1_ASCS        (ocf::heartbeat:azure-lb):      Started slesmsscl2
#     vip_NW1_ASCS       (ocf::heartbeat:IPaddr2):       Started slesmsscl2
#     rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance):   Started slesmsscl2
# Resource Group: g-NW1_ERS
#     fs_NW1_ERS (ocf::heartbeat:Filesystem):    Started slesmsscl1
#     nc_NW1_ERS (ocf::heartbeat:azure-lb):      Started slesmsscl1
#     vip_NW1_ERS        (ocf::heartbeat:IPaddr2):       Started slesmsscl1
#     rsc_sap_NW1_ERS02  (ocf::heartbeat:SAPInstance):   Started slesmsscl1
# Resource Group: g-NW2_ASCS
#     fs_NW2_ASCS        (ocf::heartbeat:Filesystem):    Started slesmsscl1
#     nc_NW2_ASCS        (ocf::heartbeat:azure-lb):      Started slesmsscl1
#     vip_NW2_ASCS       (ocf::heartbeat:IPaddr2):       Started slesmsscl1
#     rsc_sap_NW2_ASCS10 (ocf::heartbeat:SAPInstance):   Started slesmsscl1
# Resource Group: g-NW2_ERS
#     fs_NW2_ERS (ocf::heartbeat:Filesystem):    Started slesmsscl2
#     nc_NW2_ERS (ocf::heartbeat:azure-lb):      Started slesmsscl2
#     vip_NW2_ERS        (ocf::heartbeat:IPaddr2):       Started slesmsscl2
#     rsc_sap_NW2_ERS12  (ocf::heartbeat:SAPInstance):   Started slesmsscl2
# Resource Group: g-NW3_ASCS
#     fs_NW3_ASCS        (ocf::heartbeat:Filesystem):    Started slesmsscl1
#     nc_NW3_ASCS        (ocf::heartbeat:azure-lb):      Started slesmsscl1
#     vip_NW3_ASCS       (ocf::heartbeat:IPaddr2):       Started slesmsscl1
#     rsc_sap_NW3_ASCS20 (ocf::heartbeat:SAPInstance):   Started slesmsscl1
# Resource Group: g-NW3_ERS
#     fs_NW3_ERS (ocf::heartbeat:Filesystem):    Started slesmsscl2
#     nc_NW3_ERS (ocf::heartbeat:azure-lb):      Started slesmsscl2
#     vip_NW3_ERS        (ocf::heartbeat:IPaddr2):       Started slesmsscl2
#     rsc_sap_NW3_ERS22  (ocf::heartbeat:SAPInstance):   Started slesmsscl2

下圖展開 SAP 系統 NW2 的資源,顯示資源在 HA Web Konsole (Hawk) 中的模樣。

SAP NetWeaver 高可用性概觀

繼續進行 SAP 安裝

完成 SAP 安裝:

測試多重 SID 叢集設定

下列測試是 SUSE 最佳做法指南中的測試案例子集。 收錄在此方便您使用。 如需叢集測試的完整清單,請參閱下列文件:

務必閱讀 SUSE 最佳做法指南,並執行其他所有可能新增的測試。
提供的測試是在已安裝三個 SAP 系統的雙節點、多重 SID 叢集上。

  1. 測試 HAGetFailoverConfig 和 HACheckFailoverConfig

    在目前執行 ASCS 執行個體的節點上,以 <sapsid>adm 身分執行下列命令。 如果命令失敗,並且出現「失敗:記憶體不足」,則可能是因為您的主機名稱中有短破折號。 這是已知問題,SUSE 會透過 sap-suse-cluster-connector 套件提供修正程式。

     slesmsscl1:nw1adm 57> sapcontrol -nr 00 -function HAGetFailoverConfig
    
    # 10.12.2019 21:33:08
    # HAGetFailoverConfig
    # OK
    # HAActive: TRUE
    # HAProductVersion: SUSE Linux Enterprise Server for SAP Applications 12 SP4
    # HASAPInterfaceVersion: SUSE Linux Enterprise Server for SAP Applications 12 SP4 (sap_suse_cluster_connector 3.1.0)
    # HADocumentation: https://www.suse.com/products/sles-for-sap/resource-library/sap-best-practices/
    # HAActiveNode: slesmsscl1
    # HANodes: slesmsscl1, slesmsscl2
    
     slesmsscl1:nw1adm 53> sapcontrol -nr 00 -function HACheckFailoverConfig
    
     # 19.12.2019 21:19:58
     # HACheckFailoverConfig
     # OK
     # state, category, description, comment
     # SUCCESS, SAP CONFIGURATION, SAPInstance RA sufficient version, SAPInstance includes is-ers patch
    
     slesmsscl2:nw2adm 35> sapcontrol -nr 10 -function HAGetFailoverConfig
    
    # 10.12.2019 21:37:09
    # HAGetFailoverConfig
    # OK
    # HAActive: TRUE
    # HAProductVersion: SUSE Linux Enterprise Server for SAP Applications 12 SP4
    # HASAPInterfaceVersion: SUSE Linux Enterprise Server for SAP Applications 12 SP4 (sap_suse_cluster_connector 3.1.0)
    # HADocumentation: https://www.suse.com/products/sles-for-sap/resource-library/sap-best-practices/
    # HAActiveNode: slesmsscl2
    # HANodes: slesmsscl2, slesmsscl1
    
     slesmsscl2:nw2adm 52> sapcontrol -nr 10 -function HACheckFailoverConfig
    
     # 19.12.2019 21:17:39
     # HACheckFailoverConfig
     # OK
     # state, category, description, comment
     # SUCCESS, SAP CONFIGURATION, SAPInstance RA sufficient version, SAPInstance includes is-ers patch
    
     slesmsscl1:nw3adm 49> sapcontrol -nr 20 -function HAGetFailoverConfig
    
    # 10.12.2019 23:35:36
    # HAGetFailoverConfig
    # OK
    # HAActive: TRUE
    # HAProductVersion: SUSE Linux Enterprise Server for SAP Applications 12 SP4
    # HASAPInterfaceVersion: SUSE Linux Enterprise Server for SAP Applications 12 SP4 (sap_suse_cluster_connector 3.1.0)
    # HADocumentation: https://www.suse.com/products/sles-for-sap/resource-library/sap-best-practices/
    # HAActiveNode: slesmsscl1
    # HANodes: slesmsscl1, slesmsscl2
    
     slesmsscl1:nw3adm 52> sapcontrol -nr 20 -function HACheckFailoverConfig
    
     # 19.12.2019 21:10:42
     # HACheckFailoverConfig
     # OK
     # state, category, description, comment
     # SUCCESS, SAP CONFIGURATION, SAPInstance RA sufficient version, SAPInstance includes is-ers patch
    
  2. 手動遷移 ASCS 執行個體。 範例顯示遷移 SAP 系統 NW2 的 ASCS 執行個體。

    開始測試之前的資源狀態:

     Full list of resources:
     stonith-sbd     (stonith:external/sbd): Started slesmsscl1
      Resource Group: g-NW1_ASCS
          fs_NW1_ASCS        (ocf::heartbeat:Filesystem):    Started slesmsscl1
          nc_NW1_ASCS        (ocf::heartbeat:azure-lb):      Started slesmsscl1
          vip_NW1_ASCS       (ocf::heartbeat:IPaddr2):       Started slesmsscl1
          rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance):   Started slesmsscl1
      Resource Group: g-NW1_ERS
          fs_NW1_ERS (ocf::heartbeat:Filesystem):    Started slesmsscl2
          nc_NW1_ERS (ocf::heartbeat:azure-lb):      Started slesmsscl2
          vip_NW1_ERS        (ocf::heartbeat:IPaddr2):       Started slesmsscl2
          rsc_sap_NW1_ERS02  (ocf::heartbeat:SAPInstance):   Started slesmsscl2
      Resource Group: g-NW2_ASCS
          fs_NW2_ASCS        (ocf::heartbeat:Filesystem):    Started slesmsscl1
          nc_NW2_ASCS        (ocf::heartbeat:azure-lb):      Started slesmsscl1
          vip_NW2_ASCS       (ocf::heartbeat:IPaddr2):       Started slesmsscl1
          rsc_sap_NW2_ASCS10 (ocf::heartbeat:SAPInstance):   Started slesmsscl1
      Resource Group: g-NW2_ERS
          fs_NW2_ERS (ocf::heartbeat:Filesystem):    Started slesmsscl2
          nc_NW2_ERS (ocf::heartbeat:azure-lb):      Started slesmsscl2
          vip_NW2_ERS        (ocf::heartbeat:IPaddr2):       Started slesmsscl2
          rsc_sap_NW2_ERS12  (ocf::heartbeat:SAPInstance):   Started slesmsscl2
      Resource Group: g-NW3_ASCS
          fs_NW3_ASCS        (ocf::heartbeat:Filesystem):    Started slesmsscl2
          nc_NW3_ASCS        (ocf::heartbeat:azure-lb):      Started slesmsscl2
          vip_NW3_ASCS       (ocf::heartbeat:IPaddr2):       Started slesmsscl2
          rsc_sap_NW3_ASCS20 (ocf::heartbeat:SAPInstance):   Started slesmsscl2
      Resource Group: g-NW3_ERS
          fs_NW3_ERS (ocf::heartbeat:Filesystem):    Started slesmsscl1
          nc_NW3_ERS (ocf::heartbeat:azure-lb):      Started slesmsscl1
          vip_NW3_ERS        (ocf::heartbeat:IPaddr2):       Started slesmsscl1
          rsc_sap_NW3_ERS22  (ocf::heartbeat:SAPInstance):   Started slesmsscl1
    

    以 root 身分執行下列命令來遷移 NW2 ASCS 執行個體。

     crm resource migrate rsc_sap_NW2_ASCS10 force
     # INFO: Move constraint created for rsc_sap_NW2_ASCS10
    
     crm resource unmigrate rsc_sap_NW2_ASCS10
     # INFO: Removed migration constraints for rsc_sap_NW2_ASCS10
    
     # Remove failed actions for the ERS that occurred as part of the migration
     crm resource cleanup rsc_sap_NW2_ERS12
    

    測試完成之後的資源狀態:

     Full list of resources:
     stonith-sbd     (stonith:external/sbd): Started slesmsscl1
      Resource Group: g-NW1_ASCS
          fs_NW1_ASCS        (ocf::heartbeat:Filesystem):    Started slesmsscl1
          nc_NW1_ASCS        (ocf::heartbeat:azure-lb):      Started slesmsscl1
          vip_NW1_ASCS       (ocf::heartbeat:IPaddr2):       Started slesmsscl1
          rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance):   Started slesmsscl1
      Resource Group: g-NW1_ERS
          fs_NW1_ERS (ocf::heartbeat:Filesystem):    Started slesmsscl2
          nc_NW1_ERS (ocf::heartbeat:azure-lb):      Started slesmsscl2
          vip_NW1_ERS        (ocf::heartbeat:IPaddr2):       Started slesmsscl2
          rsc_sap_NW1_ERS02  (ocf::heartbeat:SAPInstance):   Started slesmsscl2
      Resource Group: g-NW2_ASCS
          fs_NW2_ASCS        (ocf::heartbeat:Filesystem):    Started slesmsscl2
          nc_NW2_ASCS        (ocf::heartbeat:azure-lb):      Started slesmsscl2
          vip_NW2_ASCS       (ocf::heartbeat:IPaddr2):       Started slesmsscl2
          rsc_sap_NW2_ASCS10 (ocf::heartbeat:SAPInstance):   Started slesmsscl2
      Resource Group: g-NW2_ERS
          fs_NW2_ERS (ocf::heartbeat:Filesystem):    Started slesmsscl1
          nc_NW2_ERS (ocf::heartbeat:azure-lb):      Started slesmsscl1
          vip_NW2_ERS        (ocf::heartbeat:IPaddr2):       Started slesmsscl1
          rsc_sap_NW2_ERS12  (ocf::heartbeat:SAPInstance):   Started slesmsscl1
      Resource Group: g-NW3_ASCS
          fs_NW3_ASCS        (ocf::heartbeat:Filesystem):    Started slesmsscl2
          nc_NW3_ASCS        (ocf::heartbeat:azure-lb):      Started slesmsscl2
          vip_NW3_ASCS       (ocf::heartbeat:IPaddr2):       Started slesmsscl2
          rsc_sap_NW3_ASCS20 (ocf::heartbeat:SAPInstance):   Started slesmsscl2
      Resource Group: g-NW3_ERS
          fs_NW3_ERS (ocf::heartbeat:Filesystem):    Started slesmsscl1
          nc_NW3_ERS (ocf::heartbeat:azure-lb):      Started slesmsscl1
          vip_NW3_ERS        (ocf::heartbeat:IPaddr2):       Started slesmsscl1
          rsc_sap_NW3_ERS22  (ocf::heartbeat:SAPInstance):   Started slesmsscl1
    
  3. 測試 HAFailoverToNode。 這裡提供的測試顯示遷移 SAP 系統 NW2 的 ASCS 執行個體。

    開始測試之前的資源狀態:

     Full list of resources:
     stonith-sbd     (stonith:external/sbd): Started slesmsscl1
      Resource Group: g-NW1_ASCS
          fs_NW1_ASCS        (ocf::heartbeat:Filesystem):    Started slesmsscl1
          nc_NW1_ASCS        (ocf::heartbeat:azure-lb):      Started slesmsscl1
          vip_NW1_ASCS       (ocf::heartbeat:IPaddr2):       Started slesmsscl1
          rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance):   Started slesmsscl1
      Resource Group: g-NW1_ERS
          fs_NW1_ERS (ocf::heartbeat:Filesystem):    Started slesmsscl2
          nc_NW1_ERS (ocf::heartbeat:azure-lb):      Started slesmsscl2
          vip_NW1_ERS        (ocf::heartbeat:IPaddr2):       Started slesmsscl2
          rsc_sap_NW1_ERS02  (ocf::heartbeat:SAPInstance):   Started slesmsscl2
      Resource Group: g-NW2_ASCS
          fs_NW2_ASCS        (ocf::heartbeat:Filesystem):    Started slesmsscl2
          nc_NW2_ASCS        (ocf::heartbeat:azure-lb):      Started slesmsscl2
          vip_NW2_ASCS       (ocf::heartbeat:IPaddr2):       Started slesmsscl2
          rsc_sap_NW2_ASCS10 (ocf::heartbeat:SAPInstance):   Started slesmsscl2
      Resource Group: g-NW2_ERS
          fs_NW2_ERS (ocf::heartbeat:Filesystem):    Started slesmsscl1
          nc_NW2_ERS (ocf::heartbeat:azure-lb):      Started slesmsscl1
          vip_NW2_ERS        (ocf::heartbeat:IPaddr2):       Started slesmsscl1
          rsc_sap_NW2_ERS12  (ocf::heartbeat:SAPInstance):   Started slesmsscl1
      Resource Group: g-NW3_ASCS
          fs_NW3_ASCS        (ocf::heartbeat:Filesystem):    Started slesmsscl2
          nc_NW3_ASCS        (ocf::heartbeat:azure-lb):      Started slesmsscl2
          vip_NW3_ASCS       (ocf::heartbeat:IPaddr2):       Started slesmsscl2
          rsc_sap_NW3_ASCS20 (ocf::heartbeat:SAPInstance):   Started slesmsscl2
      Resource Group: g-NW3_ERS
          fs_NW3_ERS (ocf::heartbeat:Filesystem):    Started slesmsscl1
          nc_NW3_ERS (ocf::heartbeat:azure-lb):      Started slesmsscl1
          vip_NW3_ERS        (ocf::heartbeat:IPaddr2):       Started slesmsscl1
          rsc_sap_NW3_ERS22  (ocf::heartbeat:SAPInstance):   Started slesmsscl1
    

    nw2adm 身分執行下列命令來遷移 NW2 ASCS 執行個體。

     slesmsscl2:nw2adm 53> sapcontrol -nr 10 -host msnw2ascs -user nw2adm password -function HAFailoverToNode ""
    
    # run as root
    # Remove failed actions for the ERS that occurred as part of the migration
    crm resource cleanup rsc_sap_NW2_ERS12
    # Remove migration constraints
    crm resource clear rsc_sap_NW2_ASCS10
    #INFO: Removed migration constraints for rsc_sap_NW2_ASCS10
    

    測試完成之後的資源狀態:

     Full list of resources:
     stonith-sbd     (stonith:external/sbd): Started slesmsscl1
      Resource Group: g-NW1_ASCS
          fs_NW1_ASCS        (ocf::heartbeat:Filesystem):    Started slesmsscl1
          nc_NW1_ASCS        (ocf::heartbeat:azure-lb):      Started slesmsscl1
          vip_NW1_ASCS       (ocf::heartbeat:IPaddr2):       Started slesmsscl1
          rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance):   Started slesmsscl1
      Resource Group: g-NW1_ERS
          fs_NW1_ERS (ocf::heartbeat:Filesystem):    Started slesmsscl2
          nc_NW1_ERS (ocf::heartbeat:azure-lb):      Started slesmsscl2
          vip_NW1_ERS        (ocf::heartbeat:IPaddr2):       Started slesmsscl2
          rsc_sap_NW1_ERS02  (ocf::heartbeat:SAPInstance):   Started slesmsscl2
      Resource Group: g-NW2_ASCS
          fs_NW2_ASCS        (ocf::heartbeat:Filesystem):    Started slesmsscl1
          nc_NW2_ASCS        (ocf::heartbeat:azure-lb):      Started slesmsscl1
          vip_NW2_ASCS       (ocf::heartbeat:IPaddr2):       Started slesmsscl1
          rsc_sap_NW2_ASCS10 (ocf::heartbeat:SAPInstance):   Started slesmsscl1
      Resource Group: g-NW2_ERS
          fs_NW2_ERS (ocf::heartbeat:Filesystem):    Started slesmsscl2
          nc_NW2_ERS (ocf::heartbeat:azure-lb):      Started slesmsscl2
          vip_NW2_ERS        (ocf::heartbeat:IPaddr2):       Started slesmsscl2
          rsc_sap_NW2_ERS12  (ocf::heartbeat:SAPInstance):   Started slesmsscl2
      Resource Group: g-NW3_ASCS
          fs_NW3_ASCS        (ocf::heartbeat:Filesystem):    Started slesmsscl2
          nc_NW3_ASCS        (ocf::heartbeat:azure-lb):      Started slesmsscl2
          vip_NW3_ASCS       (ocf::heartbeat:IPaddr2):       Started slesmsscl2
          rsc_sap_NW3_ASCS20 (ocf::heartbeat:SAPInstance):   Started slesmsscl2
      Resource Group: g-NW3_ERS
          fs_NW3_ERS (ocf::heartbeat:Filesystem):    Started slesmsscl1
          nc_NW3_ERS (ocf::heartbeat:azure-lb):      Started slesmsscl1
          vip_NW3_ERS        (ocf::heartbeat:IPaddr2):       Started slesmsscl1
          rsc_sap_NW3_ERS22  (ocf::heartbeat:SAPInstance):   Started slesmsscl1
    
  4. 模擬節點損毀

    開始測試之前的資源狀態:

     Full list of resources:
     stonith-sbd     (stonith:external/sbd): Started slesmsscl1
      Resource Group: g-NW1_ASCS
          fs_NW1_ASCS        (ocf::heartbeat:Filesystem):    Started slesmsscl2
          nc_NW1_ASCS        (ocf::heartbeat:azure-lb):      Started slesmsscl2
          vip_NW1_ASCS       (ocf::heartbeat:IPaddr2):       Started slesmsscl2
          rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance):   Started slesmsscl2
      Resource Group: g-NW1_ERS
          fs_NW1_ERS (ocf::heartbeat:Filesystem):    Started slesmsscl1
          nc_NW1_ERS (ocf::heartbeat:azure-lb):      Started slesmsscl1
          vip_NW1_ERS        (ocf::heartbeat:IPaddr2):       Started slesmsscl1
          rsc_sap_NW1_ERS02  (ocf::heartbeat:SAPInstance):   Started slesmsscl1
      Resource Group: g-NW2_ASCS
          fs_NW2_ASCS        (ocf::heartbeat:Filesystem):    Started slesmsscl2
          nc_NW2_ASCS        (ocf::heartbeat:azure-lb):      Started slesmsscl2
          vip_NW2_ASCS       (ocf::heartbeat:IPaddr2):       Started slesmsscl2
          rsc_sap_NW2_ASCS10 (ocf::heartbeat:SAPInstance):   Started slesmsscl2
      Resource Group: g-NW2_ERS
          fs_NW2_ERS (ocf::heartbeat:Filesystem):    Started slesmsscl1
          nc_NW2_ERS (ocf::heartbeat:azure-lb):      Started slesmsscl1
          vip_NW2_ERS        (ocf::heartbeat:IPaddr2):       Started slesmsscl1
          rsc_sap_NW2_ERS12  (ocf::heartbeat:SAPInstance):   Started slesmsscl1
      Resource Group: g-NW3_ASCS
          fs_NW3_ASCS        (ocf::heartbeat:Filesystem):    Started slesmsscl2
          nc_NW3_ASCS        (ocf::heartbeat:azure-lb):      Started slesmsscl2
          vip_NW3_ASCS       (ocf::heartbeat:IPaddr2):       Started slesmsscl2
          rsc_sap_NW3_ASCS20 (ocf::heartbeat:SAPInstance):   Started slesmsscl2
      Resource Group: g-NW3_ERS
          fs_NW3_ERS (ocf::heartbeat:Filesystem):    Started slesmsscl1
          nc_NW3_ERS (ocf::heartbeat:azure-lb):      Started slesmsscl1
          vip_NW3_ERS        (ocf::heartbeat:IPaddr2):       Started slesmsscl1
          rsc_sap_NW3_ERS22  (ocf::heartbeat:SAPInstance):   Started slesmsscl1
    

    在至少執行一個 ASCS 執行個體的節點上,以 root 身分執行下列命令。 在此範例中,我們在 slesmsscl2 (執行 NW1 和 NW3 的 ASCS 執行個體) 上執行命令。

     slesmsscl2:~ # echo b > /proc/sysrq-trigger
    

    如果您使用 SBD,Pacemaker 應不會在已終止的節點上自動啟動。 節點在重新啟動後的狀態應該會像下面這樣。

     Online: [ slesmsscl1 ]
     OFFLINE: [ slesmsscl2 ]
     Full list of resources:
    
     stonith-sbd     (stonith:external/sbd): Started slesmsscl1
      Resource Group: g-NW1_ASCS
          fs_NW1_ASCS        (ocf::heartbeat:Filesystem):    Started slesmsscl1
          nc_NW1_ASCS        (ocf::heartbeat:azure-lb):      Started slesmsscl1
          vip_NW1_ASCS       (ocf::heartbeat:IPaddr2):       Started slesmsscl1
          rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance):   Started slesmsscl1
      Resource Group: g-NW1_ERS
          fs_NW1_ERS (ocf::heartbeat:Filesystem):    Started slesmsscl1
          nc_NW1_ERS (ocf::heartbeat:azure-lb):      Started slesmsscl1
          vip_NW1_ERS        (ocf::heartbeat:IPaddr2):       Started slesmsscl1
          rsc_sap_NW1_ERS02  (ocf::heartbeat:SAPInstance):   Started slesmsscl1
      Resource Group: g-NW2_ASCS
          fs_NW2_ASCS        (ocf::heartbeat:Filesystem):    Started slesmsscl1
          nc_NW2_ASCS        (ocf::heartbeat:azure-lb):      Started slesmsscl1
          vip_NW2_ASCS       (ocf::heartbeat:IPaddr2):       Started slesmsscl1
          rsc_sap_NW2_ASCS10 (ocf::heartbeat:SAPInstance):   Started slesmsscl1
      Resource Group: g-NW2_ERS
          fs_NW2_ERS (ocf::heartbeat:Filesystem):    Started slesmsscl1
          nc_NW2_ERS (ocf::heartbeat:azure-lb):      Started slesmsscl1
          vip_NW2_ERS        (ocf::heartbeat:IPaddr2):       Started slesmsscl1
          rsc_sap_NW2_ERS12  (ocf::heartbeat:SAPInstance):   Started slesmsscl1
      Resource Group: g-NW3_ASCS
          fs_NW3_ASCS        (ocf::heartbeat:Filesystem):    Started slesmsscl1
          nc_NW3_ASCS        (ocf::heartbeat:azure-lb):      Started slesmsscl1
          vip_NW3_ASCS       (ocf::heartbeat:IPaddr2):       Started slesmsscl1
          rsc_sap_NW3_ASCS20 (ocf::heartbeat:SAPInstance):   Started slesmsscl1
      Resource Group: g-NW3_ERS
          fs_NW3_ERS (ocf::heartbeat:Filesystem):    Started slesmsscl1
          nc_NW3_ERS (ocf::heartbeat:azure-lb):      Started slesmsscl1
          vip_NW3_ERS        (ocf::heartbeat:IPaddr2):       Started slesmsscl1
          rsc_sap_NW3_ERS22  (ocf::heartbeat:SAPInstance):   Started slesmsscl1
    
     Failed Resource Actions:
     * rsc_sap_NW1_ERS02_monitor_11000 on slesmsscl1 'not running' (7): call=125, status=complete, exitreason='',
         last-rc-change='Fri Dec 13 19:32:10 2019', queued=0ms, exec=0ms
     * rsc_sap_NW2_ERS12_monitor_11000 on slesmsscl1 'not running' (7): call=126, status=complete, exitreason='',
         last-rc-change='Fri Dec 13 19:32:10 2019', queued=0ms, exec=0ms
     * rsc_sap_NW3_ERS22_monitor_11000 on slesmsscl1 'not running' (7): call=127, status=complete, exitreason='',
         last-rc-change='Fri Dec 13 19:32:10 2019', queued=0ms, exec=0ms
    

    使用下列命令在已清除的節點上啟動 Pacemaker,並清除 SBD 訊息及失敗的資源。

    # run as root
    # list the SBD device(s)
    cat /etc/sysconfig/sbd | grep SBD_DEVICE=
    
    # output is like:
    # SBD_DEVICE="/dev/disk/by-id/scsi-36001405772fe8401e6240c985857e116;/dev/disk/by-id/scsi-36001405034a84428af24ddd8c3a3e9e1;/dev/disk/by-id/scsi-36001405cdd5ac8d40e548449318510c3"
    
    sbd -d /dev/disk/by-id/scsi-36001405772fe8401e6240c985857e116 -d /dev/disk/by-id/scsi-36001405034a84428af24ddd8c3a3e9e1 -d /dev/disk/by-id/scsi-36001405cdd5ac8d40e548449318510c3 message slesmsscl2 clear
    
    systemctl start pacemaker
    crm resource cleanup rsc_sap_NW1_ERS02
    crm resource cleanup rsc_sap_NW2_ERS12
    crm resource cleanup rsc_sap_NW3_ERS22
    

    測試完成之後的資源狀態:

     Full list of resources:
     stonith-sbd     (stonith:external/sbd): Started slesmsscl1
      Resource Group: g-NW1_ASCS
          fs_NW1_ASCS        (ocf::heartbeat:Filesystem):    Started slesmsscl1
          nc_NW1_ASCS        (ocf::heartbeat:azure-lb):      Started slesmsscl1
          vip_NW1_ASCS       (ocf::heartbeat:IPaddr2):       Started slesmsscl1
          rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance):   Started slesmsscl1
      Resource Group: g-NW1_ERS
          fs_NW1_ERS (ocf::heartbeat:Filesystem):    Started slesmsscl2
          nc_NW1_ERS (ocf::heartbeat:azure-lb):      Started slesmsscl2
          vip_NW1_ERS        (ocf::heartbeat:IPaddr2):       Started slesmsscl2
          rsc_sap_NW1_ERS02  (ocf::heartbeat:SAPInstance):   Started slesmsscl2
      Resource Group: g-NW2_ASCS
          fs_NW2_ASCS        (ocf::heartbeat:Filesystem):    Started slesmsscl1
          nc_NW2_ASCS        (ocf::heartbeat:azure-lb):      Started slesmsscl1
          vip_NW2_ASCS       (ocf::heartbeat:IPaddr2):       Started slesmsscl1
          rsc_sap_NW2_ASCS10 (ocf::heartbeat:SAPInstance):   Started slesmsscl1
      Resource Group: g-NW2_ERS
          fs_NW2_ERS (ocf::heartbeat:Filesystem):    Started slesmsscl2
          nc_NW2_ERS (ocf::heartbeat:azure-lb):      Started slesmsscl2
          vip_NW2_ERS        (ocf::heartbeat:IPaddr2):       Started slesmsscl2
          rsc_sap_NW2_ERS12  (ocf::heartbeat:SAPInstance):   Started slesmsscl2
      Resource Group: g-NW3_ASCS
          fs_NW3_ASCS        (ocf::heartbeat:Filesystem):    Started slesmsscl1
          nc_NW3_ASCS        (ocf::heartbeat:azure-lb):      Started slesmsscl1
          vip_NW3_ASCS       (ocf::heartbeat:IPaddr2):       Started slesmsscl1
          rsc_sap_NW3_ASCS20 (ocf::heartbeat:SAPInstance):   Started slesmsscl1
      Resource Group: g-NW3_ERS
          fs_NW3_ERS (ocf::heartbeat:Filesystem):    Started slesmsscl2
          nc_NW3_ERS (ocf::heartbeat:azure-lb):      Started slesmsscl2
          vip_NW3_ERS        (ocf::heartbeat:IPaddr2):       Started slesmsscl2
          rsc_sap_NW3_ERS22  (ocf::heartbeat:SAPInstance):   Started slesmsscl2
    

下一步