本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
將 SAP 和平器叢集從 ENSA1 升級至 ENSA2
由 Gergely Cserdi (AWS) 和 Balazs Sandor Skublics (AWS) 建立
環境:生產 | 來源:ENSA1以 為基礎的 Pacemaker 叢集 | 目標:ENSA2以 為基礎的 Pacemaker 叢集 |
R 類型:重新架構 | 工作負載: SAP | 技術:基礎設施;現代化 |
AWS 服務:Amazon EC2 |
Summary
此模式說明將基於獨立 Enqueue Server (ENSA1) 的 SAP Pacemaker 叢集升級至 的步驟和考量事項ENSA2。此模式中的資訊同時適用於 SUSE Linux Enterprise Server (SLES) 和 Red Hat Enterprise Linux (RHEL) 作業系統。
SAP NetWeaver 7.52 或 S/4HANA 1709 及舊版上的心律調節器叢集會在 ENSA1 架構上執行,並特別針對 設定。 ENSA1如果您在 Amazon Web Services (AWS) 上執行SAP工作負載,而且有興趣移至 ENSA2,您可能會發現 SAP、 SUSE和 RHEL 文件不提供完整資訊。此模式描述重新設定SAP參數和 Pacemaker 叢集以從 升級ENSA1到 所需的技術步驟ENSA2。它提供SUSE系統範例,但RHEL叢集的概念相同。
注意: ENSA1和 ENSA2是僅與SAP應用程式相關的概念,因此此模式中的資訊不適用於 SAPHANA或其他類型的叢集。 從技術上來說, ENSA2 可以搭配或不搭配 Enqueue Replicator 2 使用。不過,高可用性 (HA) 和容錯移轉自動化 (透過叢集解決方案) 需要 Enqueue Replicator 2。此模式使用術語ENSA2叢集來參考具有獨立 Enqueue Server 2 和 Enqueue Replicator 2 的叢集。 |
先決條件和限制
先決條件
限制
產品版本
SAP NetWeaver 7.52 版或更新版本
從 S/4HANA 2020 開始,僅支援ENSA2叢集
支援 ENSA2和 Enqueue Replicator 2 的核心 7.53 或更新版本
SLES 適用於SAP應用程式 12 版或更新版本
RHEL 適用於 SAP 搭配高可用性 (HA) 7.9 版或更新版本
架構
來源技術堆疊
目標技術堆疊
目標架構
下圖顯示基於ENSA2叢集的 ASCS/SCS 和 ERS執行個體的 HA 組態。
ENSA1和 ENSA2叢集的比較
SAP ENSA2作為 的後續版本引入 ENSA1。ENSA1型叢集支援雙節點架構,當發生錯誤ERS時, ASCS/SCS 執行個體會容錯移轉至 。此限制源自 ASCS/SCS 執行個體在容錯移轉後如何從ERS節點的共用記憶體中重新取得鎖定資料表資訊。ENSA2具有 Enqueue Replicator 2 的 型叢集可消除此限制,因為 ASCS/SCS 執行個體可以透過網路從ERS執行個體收集鎖定資訊。ENSA2型叢集可以有兩個以上的節點,因為 ASCS/SCS 執行個體不再需要容錯移轉到ERS節點。(但在雙節點ENSA2叢集環境中, ASCS/SCS 執行個體仍會容錯移轉至ERS節點,因為叢集中沒有其他節點可容錯移轉至 。) ENSA2 從 SAP Kernel 7.50 開始支援,但有一些限制。對於支援 Enqueue Replicator 2 的 HA 設定,最低要求為 NetWeaver 7.52 (請參閱SAPOSS備註 2630416)。S/4HANA 1809 隨附預設建議的ENSA2架構,而 S/4HANA 僅支援從 2020 版ENSA2開始的架構。
自動化和擴展
目標架構中的 HA 叢集會自動ASCS容錯移轉至其他節點。
移至 ENSA2型叢集的案例
升級至 ENSA2型叢集有兩種主要案例:
Epics 區段涵蓋這兩個案例的步驟。第一個案例需要您在變更 的叢集組態之前手動設定 SAP相關參數ENSA2。在第二個案例中, 會部署二進位和 SAP相關參數SUM,而您唯一的剩餘任務是更新 HA 的叢集組態。仍建議您在使用 後驗證SAP參數SUM。在大多數情況下,S/4HANA 轉換是叢集升級的主要原因。
對於作業系統套件管理員,我們建議使用 Zypper (適用於 SLES) 或 YUM(適用於 RHEL) 工具。
對於叢集管理,我們建議使用 crm (適用於 SLES) 或 pcs (適用於 RHEL) Shell。
SAP 執行個體管理工具,例如 SAPControl。
S/4HANA 轉換升級的 (選用) SUM工具。
最佳實務
如需在 上使用SAP工作負載的最佳實務AWS,請參閱適用於 AWS Well-Architected Framework 的 SAP Lens。
考慮ENSA2多節點架構中叢集節點的數量 (過時或甚至)。
將ENSA2叢集設定為 SLES 15,以符合 SAP S/4-HA-CLU 1.0 認證標準。
升級至 之前,請務必儲存或備份現有的叢集和應用程式狀態ENSA2。
史詩
任務 | 描述 | 所需的技能 |
---|
在預設設定檔中設定參數。 | 如果您想要在保持相同SAP版本ENSA2的同時升級至 ,或目標版本預設為 ENSA1,請將預設設定檔 (DEFAULT.PFL 檔案) 中的參數設定為下列值。 enq/enable=TRUE
enq/serverhost=sapascsvirt
enq/serverinst=10 (instance number of ASCS/SCS instance)
enque/process_location=REMOTESA
enq/replicatorhost=sapersvirt
enq/replicatorinst=11 (instance number of ERS instance)
其中 sapascsvirt 是ASCS執行個體的虛擬主機名稱,而 sapersvirt 是ERS執行個體的虛擬主機名稱。您可以變更這些項目以符合您的目標環境。 注意:若要使用此升級選項,您的SAP版本和核心版本必須支援 ENSA2和 Enqueue Replicator 2。 | SAP |
設定 ASCS/SCS 執行個體設定檔。 | 如果您想要在保持相同SAP版本ENSA2時升級至 ,或目標版本預設為 ENSA1,請在 ASCS/SCS 執行個體設定檔中設定下列參數。 ENSA1 定義 的設定檔區段看起來類似以下內容。 #--------------------------------------------------------------
Start SAP enqueue server
#--------------------------------------------------------------
_EN = en.sap$(SAPSYSTEMNAME)$(INSTANCE_NAME)
Execute_04 = local rm -f $(_EN)
Execute_05 = local ln -s -f $(DIR_EXECUTABLE)/enserver$(FT_EXE) $(_EN)
Start_Program_01 = local $(_EN) pf=$(_PF)
若要為 重新設定本節ENSA2: _ENQ 根據來自 的最新資訊,將_EN 程式字首變更為 SAP(OSS備註 2501860;需要 SAP ONE Support Launchpad 使用者帳戶 )。
將佇列伺服器的二進位檔案從 enserver 變更為 enq_server 。 將新參數enq/server/replication/enable 設定為 TRUE 。 確定 Autostart = 0 。
變更後,此設定檔區段看起來會如下所示。 #--------------------------------------------------------------
Start SAP enqueue server
#--------------------------------------------------------------
_ENQ = enq.sap$(SAPSYSTEMNAME)$(INSTANCE_NAME)
Execute_04 = local rm -f $(_ENQ)
Execute_05 = local ln -s -f $(DIR_EXECUTABLE)/enq_server$(FT_EXE) $(_ENQ)
Start_Program_01 = local $(_ENQ) pf=$(_PF)
...
enq/server/replication/enable = TRUE
Autostart = 0
重要: _ENQ 不得啟用重新啟動選項。如果 RestartProgram_01 設定為 _ENQ ,請將其變更為 StartProgram_01 。這SAP可防止重新啟動服務或干擾叢集管理的資源。 | SAP |
設定ERS設定檔。 | 如果您想要在保持相同SAP版本ENSA2時升級至 ,或目標版本預設為 ENSA1,請在ERS執行個體設定檔中設定下列參數。 尋找定義佇列複寫器的區段。它類似於以下內容。 #------------------------------------------------------
Start enqueue replication server
#------------------------------------------------------
_ER = er.sap$(SAPSYSTEMNAME)$(INSTANCE_NAME)
Execute_03 = local rm -f $(_ER)
Execute_04 = local ln -s -f $(DIR_EXECUTABLE)/enrepserver$(FT_EXE) $(_ER)
Start_Program_00 = local $(_ER) pf=$(_PF) NR=$(SCSID)
若要為 Enqueue Replicator 2 重新設定本節: 變更後,此設定檔區段看起來應該如下所示。 #------------------------------------------------------
Start enqueue replication server
#------------------------------------------------------
_ENQR = enqr.sap$(SAPSYSTEMNAME)$(INSTANCE_NAME)
Execute_01 = local rm -f $(_ENQR)
Execute_02 = local ln -s -f $(DIR_EXECUTABLE)/enq_replicator$(FT_EXE) $(_ENQR)
Start_Program_00 = local $(_ENQR) pf=$(_PF) NR=$(SCSID)
…
Autostart = 0
重要 : _ENQR 不得啟用重新啟動選項。如果 RestartProgram_01 設定為 _ENQR ,請將其變更為 StartProgram_01 。這SAP可防止重新啟動服務或干擾叢集管理的服務。 | SAP |
重新啟動 SAP Start Services。 | 變更本史詩中先前描述的設定檔後,請為 ASCS/SCS 和 重新啟動SAP啟動服務ERS。 sapcontrol -nr 10 -function RestartService SCT
sapcontrol -nr 11 -function RestartService SCT
SCT 是指SAP系統 ID,並假設 10 和 11 分別是 ASCS/SCS 和 執行個體的ERS執行個體編號。
| SAP |
任務 | 描述 | 所需的技能 |
---|
驗證SAP資源代理程式中的版本號碼。 | 當您使用 SUMSAP升級至 S/4HANA 1809 或更新版本時, 會SUM處理SAP設定檔中的參數變更。只有叢集需要手動調整。不過,我們建議您先驗證參數設定,再對叢集進行任何變更。 注意:此史詩中的範例假設您正在使用SUSE作業系統。如果您使用的是 RHEL,則需要使用 YUM和 pcs Shell 等工具,而不是 Zypper 和 crm 。 檢查架構中的兩個節點,以確認resource-agents 套件符合 建議的最低版本SAP。對於 SLES,請檢查SAPOSS備註 2641019。對於 RHEL,請檢查SAPOSS備註 2641322。(SAP備註需要 SAP ONE Support Launchpad 使用者帳戶。) sapers:sctadm 23> zypper search -s -i resource-agents
Loading repository data...
Reading installed packages...
S | Name | Type | Version | Arch | Repository
--+-----------------+---------+------------------------------------+--------+-----------------------------
i | resource-agents | package | 4.8.0+git30.d0077df0-150300.8.28.1 | x86_64 | SLE-Product-HA15-SP3-Updates
視需要更新resource-agents 版本。 | AWS 系統管理員 |
備份叢集組態。 | 備份CRM叢集組態,如下所示。 crm configure show > /tmp/cluster_config_backup.txt
| AWS 系統管理員 |
設定維護模式。 | 將叢集設定為維護模式。 crm configure property maintenance-mode="true"
| AWS 系統管理員 |
檢查叢集組態。 | 檢查目前的叢集組態。 crm configure show
以下是完整輸出的摘錄: node 1: sapascs
node 2: sapers
...
primitive rsc_sap_SCT_ASCS10 SAPInstance \
operations $id=rsc_sap_SCT_ASCS10-operations \
op monitor interval=120 timeout=60 on-fail=restart \
params InstanceName=SCT_ASCS10_sapascsvirt START_PROFILE="/sapmnt/SCT/profile/SCT_ASCS10_sapascsvirt" \
AUTOMATIC_RECOVER=false \
meta resource-stickiness=5000 failure-timeout=60 migration-threshold=1 priority=10
primitive rsc_sap_SCT_ERS11 SAPInstance \
operations $id=rsc_sap_SCT_ERS11-operations \
op monitor interval=120 timeout=60 on-fail=restart \
params InstanceName=SCT_ERS11_sapersvirt START_PROFILE="/sapmnt/SCT/profile/SCT_ERS11_sapersvirt" \
AUTOMATIC_RECOVER=false IS_ERS=true \
meta priority=1000
...
colocation col_sap_SCT_no_both -5000: grp_SCT_ERS11 grp_SCT_ASCS10
location loc_sap_SCT_failover_to_ers rsc_sap_SCT_ASCS10 \
rule 2000: runs_ers_SCT eq 1
order ord_sap_SCT_first_start_ascs Optional: rsc_sap_SCT_ASCS10:start rsc_sap_SCT_ERS11:stop symmetrical=false
...
其中 sapascsvirt 表示ASCS執行個體的虛擬主機名稱, sapersvirt 表示ERS執行個體的虛擬主機名稱, SCT 則表示SAP系統 ID。 | AWS 系統管理員 |
移除容錯移轉託管限制條件。 | 在先前的範例中,位置限制loc_sap_SCT_failover_to_ers 規定 ENSA1的功能ASCS在容錯移轉時應一律遵循ERS執行個體。使用 時ENSA2, ASCS應該能夠自由容錯移轉至任何參與節點,因此您可以移除此限制條件。 crm configure delete loc_sap_SCT_failover_to_ers
| AWS 系統管理員 |
調整原始詞。 | 您也需要對 ERS SAPInstance ASCS和 原始詞進行次要變更。 以下是為 ASCS SAPInstance 設定的原始程式碼範例ENSA1。 primitive rsc_sap_SCT_ASCS10 SAPInstance \
operations $id=rsc_sap_SCT_ASCS10-operations \
op monitor interval=120 timeout=60 on-fail=restart \
params InstanceName=SCT_ASCS10_sapascsvirt START_PROFILE="/sapmnt/SCT/profile/SCT_ASCS10_sapascsvirt" \
AUTOMATIC_RECOVER=false \
meta resource-stickiness=5000 failure-timeout=60 migration-threshold=1 priority=10
若要升級至 ENSA2,請將此組態變更為以下內容。 primitive rsc_sap_SCT_ASCS10 SAPInstance \
operations $id=rsc_sap_SCT_ASCS10-operations \
op monitor interval=120 timeout=60 on-fail=restart \
params InstanceName=SCT_ASCS10_sapascsvirt START_PROFILE="/sapmnt/SCT/profile/SCT_ASCS10_sapascsvirt" \
AUTOMATIC_RECOVER=false \
meta resource-stickiness=3000
這是為 ERS SAPInstance 設定的原始程式碼範例ENSA1。 primitive rsc_sap_SCT_ERS11 SAPInstance \
operations $id=rsc_sap_SCT_ERS11-operations \
op monitor interval=120 timeout=60 on-fail=restart \
params InstanceName=SCT_ERS11_sapersvirt START_PROFILE="/sapmnt/SCT/profile/SCT_ERS11_sapersvirt" \
AUTOMATIC_RECOVER=false IS_ERS=true \
meta priority=1000
若要升級至 ENSA2,請將此組態變更為以下內容。 primitive rsc_sap_SCT_ERS11 SAPInstance \
operations $id=rsc_sap_SCT_ERS11-operations \
op monitor interval=120 timeout=60 on-fail=restart \
params InstanceName=SCT_ERS11_sapersvirt START_PROFILE="/sapmnt/SCT/profile/SCT_ERS11_sapersvirt" \
AUTOMATIC_RECOVER=false IS_ERS=true
您可以透過各種方式變更原始資料。例如,您可以在 vi 等編輯器中進行修改,如下列範例所示。 crm configure edit rsc_sap_SCT_ERS11
| AWS 系統管理員 |
停用維護模式。 | 在叢集上停用維護模式。 crm configure property maintenance-mode="false"
當叢集停止維護模式時,它會嘗試使用新ENSA2設定讓 ASCS和 ERS執行個體上線。 | AWS 系統管理員 |
任務 | 描述 | 所需的技能 |
---|
檢閱最佳實務。 | 在新增更多節點之前,請務必了解最佳實務,例如使用奇數或甚至數量的節點。 | AWS 系統管理員 |
新增節點。 | 新增更多節點涉及一系列任務,例如更新作業系統、安裝符合現有節點的軟體套件,以及提供掛載。您可以使用 SAP Software Provisioning Manager (SWPM) 中的準備其他主機選項來建立主機的 SAP特定基準。如需詳細資訊,請參閱下一節列出的SAP指南。 | AWS 系統管理員 |
相關資源
SAP 和 SUSE 參考
若要存取SAP備註,您必須擁有 SAP ONE Support Launchpad 使用者帳戶。如需詳細資訊,請參閱 SAP 支援網站 。
AWS 參考