本文說明如何部署虛擬機器、設定虛擬機器、安裝叢集架構,以及安裝高可用性的 SAP NetWeaver 或 SAP ABAP 平台型系統。 在範例設定內容中,會使用 ASCS 執行個體號碼 00、ERS 執行個體號碼 02 和 SAP 系統識別碼 NW1。
針對適用於 SAP 應用程式的 SLES 15 新實作,建議在簡單掛接設定中為 SAP ASCS/ERS 部署高可用性。 本文中所述以 SAP 中心服務目錄之叢集控制檔案系統為依據的傳統 Pacemaker 設定,仍然受到支援。
請先閱讀下列 SAP 注意事項和文件
- SAP Note 1928533,其中包含:
- 支援部署 SAP 軟體的 Azure VM 大小列表
- Azure VM 大小的重要容量資訊
- 支援的 SAP 軟體,以及作業系統 (OS) 與資料庫組合
- Microsoft Azure 上 Windows 與 Linux 必須的 SAP 核心版本
- SAP Note 2015553 列出了 SAP 支援下在 Azure 上部署 SAP 軟體的先決條件。
- SAP 說明 2205917 建議 SUSE Linux Enterprise Server for SAP Applications 的作業系統相關設定。
- SAP Note 1944799 包含針對 SUSE Linux Enterprise Server for SAP 應用程式的 SAP HANA 指南
- SAP Note 2178632 包含了所有在 Azure 上報告的 SAP 監視度量的詳細資訊。
- SAP Note 2191498 Azure 已支援 Linux 所需的 SAP Host Agent 版本。
- SAP Note 2243692 有關於在 Azure 上的 Linux 中 SAP 授權的資訊。
- SAP Note 1984787 包含 SUSE LINUX Enterprise Server 12 的一般資訊。
- SAP Note
1999351 包含了 Azure 增強監控擴充套件(Enhanced Monitoring Extension for SAP)的其他故障排除資訊。 - SAP Community WIKI 包含 Linux 所需的所有 SAP Note。
- Azure Virtual Machines Linux 上的 SAP 規劃與實施
- Azure Virtual Machines Linux 上的 SAP 部署
- Azure Virtual Machines Linux 上的 SAP DBMS 部署
- SUSE SAP HA 最佳實務指南 這些指南包含所有設定 Netweaver HA 及SAP HANA系統複製所需的資訊。 請使用這些指南作為一般基準。 它們提供更詳細的資訊。
- SUSE 高可用性延伸模組 12 SP3 版本資訊
概觀
為了實現高可用性,SAP NetWeaver 需要使用 NFS 伺服器。 NFS 伺服器配置在獨立叢集中,且多個 SAP 系統可共用。
NFS 伺服器、SAP NetWeaver ASCS、SAP NetWeaver SCS、SAP NetWeaver ERS 以及 SAP HANA 資料庫皆使用虛擬主機名稱與虛擬 IP 位址。 在 Azure 上必須有負載平衡器才能使用虛擬 IP 位址。 我們建議使用 標準負載平衡器。 顯示的設定包含以下配置的負載均衡器:
- 適用於 ASCS 的前端 IP 位址 10.0.0.7
- 適用於 ERS 的前端 IP 位址 10.0.0.8
- 適用於 ASCS 的探測連接埠 62000
- ERS 的探查連接埠 62101
設定高可用性的 NFS 伺服器
備註
我們建議部署Azure第一方 NFS 服務之一:NFS on Azure Files 或 NFS ANF volumes,以在高度可用的 SAP 系統中儲存共享資料。 請注意,我們正在淡化 SAP 參考架構,採用 NFS 叢集。
SAP NW 高可用性 SAP 系統與原生 NFS 服務的 SAP 設定指南如下:
SAP NetWeaver 需要傳輸和設定檔目錄的共用儲存體。 閱讀 在 SUSE Linux Enterprise Server 上 Azure 虛擬機器的 NFS 高可用性,了解如何為 SAP NetWeaver 設置 NFS 伺服器。
準備基礎結構
SAP 執行個體的資源代理程式隨附於 SUSE Linux Enterprise Server for SAP Applications 中。 SUSE Linux Enterprise Server for SAP Applications 12 或 15 的映像檔可在 Azure Marketplace 取得。 您可以使用此映像來部署新的 VM。
透過 Azure 入口網站手動部署 Linux 虛擬機
本文件假設已部署資源群組、Azure Virtual Network 及子網。
使用 SLES for SAP Applications 映像部署虛擬機器。 選擇 SAP 系統支援的適當 SLES 映像版本。 您可以在任一可用性選項中部署 VM:虛擬機器擴展集、可用性區域或可用性設定組。
設定 Azure 負載平衡器
在 VM 設定期間,您可以在網路區段建立新的或選擇現有的負載平衡器。 請依照上述步驟配置標準負載平衡器,以進行 SAP ASCS 與 SAP ERS 的高可用性設定。
請依照 create load Balancer 指南,使用 Azure 入口網站設定一個標準負載平衡器,用於高可用性 SAP 系統。 在設定負載平衡器期間,請考慮下列幾點。
- 前端 IP 設定:建立兩個前端 IP,一個用於 ASCS,另一個用於 ERS。 選取與您的 ASCS/ERS 虛擬機器相同的虛擬網路和子網路。
- 後端集區:建立後端集區,並新增 ASCS 和 ERS VM。
-
輸入規則:建立兩個負載平衡規則,一個用於 ASCS,另一個用於 ERS。 對於這兩個負載平衡規則,請遵循相同的步驟。
- 前端 IP 位址:選取前端 IP
- 後端集區:選取後端集區
- 勾選 [高可用性連接埠]
- 通訊協定:TCP
- 健全狀態探查:使用下列詳細資料建立健全狀態探查 (適用於 ASCS 或 ERS)
- 通訊協定:TCP
- 連接埠:[例如:620<Instance-no.> 適用於 ASCS,621<Instance-no.> 適用於 ERS]
- 間隔:5
- 探查閾值:2
- 閒置逾時 (分鐘):30
- 勾選 [啟用浮動 IP]
備註
健全狀態探查組態屬性 numberOfProbes (在入口網站中稱為「不健全閾值」) 不會生效。 因此,若要控制連續探查成功或失敗的數目,請將屬性 "probeThreshold" 設定為 2。 目前無法透過 Azure portal 設定此屬性,因此請使用 Azure CLI 或 PowerShell 指令。
備註
當沒有公共 IP 位址的虛擬機被放入內部(無公共 IP 位址)標準 Azure 負載平衡器的後端池時,它們就缺乏外接網路連線。 還需要進一步設定以啟用路由至公共端點。 關於如何實現出站連接的詳細資訊,請參閱 在 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 – 我需要更新嗎?
設定 (A)SCS
下一步是準備並安裝 SAP ASCS 與 ERS 實例。
建立 Pacemaker 叢集
要建立 SAP ASCS 的基本 Pacemaker 叢集,請依照 在 Azure 的 SUSE Linux Enterprise Server 上設定 Pacemaker 的步驟。
安裝
下列項目會加上下列其中一個前置詞:[A] - 適用於所有節點、[1] - 僅適用於節點 1 或 [2] - 僅適用於節點 2。
[A] 安裝 SUSE 連接器
sudo zypper install sap-suse-cluster-connector備註
在主機名稱中使用虛線的已知問題,已經在 sap-suse-cluster-connector 套件的版本 3.1.1 中修正。 如果使用主機名稱中包含 Dash 的叢集節點,請確保你使用的是至少版本 3.1.1 的 sap-suse-cluster-connector 套件。 否則你的叢集啟動可能會失敗。
請確定您已安裝新版的 SAP SUSE 叢集連接器。 舊版連接器稱為 sap_suse_cluster_connector,新版連接器稱為 sap-suse-cluster-connector。
sudo zypper info sap-suse-cluster-connector Information for package sap-suse-cluster-connector: --------------------------------------------------- Repository : SLE-12-SP3-SAP-Updates Name : sap-suse-cluster-connector <b>Version : 3.0.0-2.2</b> Arch : noarch Vendor : SUSE LLC <https://www.suse.com/> Support Level : Level 3 Installed Size : 41.6 KiB <b>Installed : Yes</b> Status : up-to-date Source package : sap-suse-cluster-connector-3.0.0-2.2.src Summary : SUSE High Availability Setup for SAP Products[A] 更新 SAP 資源代理程式
資源代理程式套件必須有修補程式才能使用新的組態,本文會有該修補程式的說明。 您可以查看您是否已使用下列命令安裝了修補程式
sudo grep 'parameter name="IS_ERS"' /usr/lib/ocf/resource.d/heartbeat/SAPInstance輸出應該會類似
<parameter name="IS_ERS" unique="0" required="0">如果 grep 命令找不到 IS_ERS 參數,您必須安裝 SUSE 下載頁面所列出的修補程式。
# example for patch for SLES 12 SP1 sudo zypper in -t patch SUSE-SLE-HA-12-SP1-2017-885=1 # example for patch for SLES 12 SP2 sudo zypper in -t patch SUSE-SLE-HA-12-SP2-2017-886=1[A] 設定主機名稱解析
您可以使用 DNS 伺服器,或修改所有節點上的 /etc/hosts。 這個範例示範如何使用 /etc/hosts 檔案。 請取代下列命令中的 IP 位址和主機名稱。
sudo vi /etc/hosts # Insert the following lines to /etc/hosts. Change the IP address and hostname to match your environment # IP address of the load balancer frontend configuration for NFS 10.0.0.4 nw1-nfs # IP address of the load balancer frontend configuration for SAP NetWeaver ASCS 10.0.0.7 nw1-ascs # IP address of the load balancer frontend configuration for SAP NetWeaver ASCS ERS 10.0.0.8 nw1-aers # IP address of the load balancer frontend configuration for database 10.0.0.13 nw1-db
準備進行 SAP NetWeaver 安裝
[A] 建立共用目錄
sudo mkdir -p /sapmnt/NW1 sudo mkdir -p /usr/sap/trans sudo mkdir -p /usr/sap/NW1/SYS sudo mkdir -p /usr/sap/NW1/ASCS00 sudo mkdir -p /usr/sap/NW1/ERS02 sudo chattr +i /sapmnt/NW1 sudo chattr +i /usr/sap/trans sudo chattr +i /usr/sap/NW1/SYS sudo chattr +i /usr/sap/NW1/ASCS00 sudo chattr +i /usr/sap/NW1/ERS02[A] 設定 autofs
sudo vi /etc/auto.master # Add the following line to the file, save and exit +auto.master /- /etc/auto.direct使用下列命令建立檔案
sudo vi /etc/auto.direct # Add the following lines to the file, save and exit /sapmnt/NW1 -nfsvers=4,nosymlink,sync nw1-nfs:/NW1/sapmntsid /usr/sap/trans -nfsvers=4,nosymlink,sync nw1-nfs:/NW1/trans /usr/sap/NW1/SYS -nfsvers=4,nosymlink,sync nw1-nfs:/NW1/sidsys重新啟動 autofs 以掛載新的共用
sudo systemctl enable autofs sudo service autofs restart[A] 設定交換檔案
依照為 Azure Linux VM 建立 SWAP 檔案中的說明建立交換檔。
#!/bin/sh # Percent of space on the ephemeral disk to dedicate to swap. Here 30% is being used. Modify as appropriate. PCT=0.3 # Location of swap file. Modify as appropriate based on location of ephemeral disk. LOCATION=/mnt if [ ! -f ${LOCATION}/swapfile ] then # Get size of the ephemeral disk and multiply it by the percent of space to allocate size=$(/bin/df -m --output=target,avail | /usr/bin/awk -v percent="$PCT" -v pattern=${LOCATION} '$0 ~ pattern {SIZE=int($2*percent);print SIZE}') echo "$size MB of space allocated to swap file" # Create an empty file first and set correct permissions /bin/dd if=/dev/zero of=${LOCATION}/swapfile bs=1M count=$size /bin/chmod 0600 ${LOCATION}/swapfile # Make the file available to use as swap /sbin/mkswap ${LOCATION}/swapfile fi # Enable swap /sbin/swapon ${LOCATION}/swapfile /sbin/swapon -a # Display current swap status /sbin/swapon -s讓該檔案成為可執行檔。
chmod +x /var/lib/cloud/scripts/per-boot/swap.sh停止並啟動 VM。 只有在您首次建立 SWAP 檔案之後,才需要停止和啟動 VM。
安裝 SAP NetWeaver ASCS/ERS
[1] 為 ASCS 執行個體建立虛擬 IP 資源和健康探測
重要
近期測試顯示,netcat 因積壓請求及僅能處理單一連線的限制而停止回應請求的情況。 Netcat 資源停止監聽 Azure 負載平衡器的請求,浮動 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 資源 Agent。sudo crm node standby nw1-cl-1 sudo crm configure primitive fs_NW1_ASCS Filesystem device='nw1-nfs:/NW1/ASCS' directory='/usr/sap/NW1/ASCS00' 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_NW1_ASCS IPaddr2 \ params ip=10.0.0.7 \ op monitor interval=10 timeout=20 sudo crm configure primitive nc_NW1_ASCS azure-lb port=62000 \ op monitor timeout=20s interval=10 sudo crm configure group g-NW1_ASCS fs_NW1_ASCS nc_NW1_ASCS vip_NW1_ASCS \ meta resource-stickiness=3000請確定叢集狀態正常,且所有資源皆已啟動。 資源在哪個節點上執行並不重要。
sudo crm_mon -r # Node nw1-cl-1: standby # Online: [ nw1-cl-0 ] # # Full list of resources: # # stonith-sbd (stonith:external/sbd): Started nw1-cl-0 # Resource Group: g-NW1_ASCS # fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started nw1-cl-0 # nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started nw1-cl-0 # vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started nw1-cl-0[1] 安裝 SAP NetWeaver ASCS
以 root 身分使用虛擬主機名稱 (對應至 ASCS 負載平衡器前端組態的 IP 位址,例如 nw1-ascs、10.0.0.7) 和您用於負載平衡器探查的執行個體號碼 (例如 00),在第一個節點上安裝 SAP NetWeaver ASCS。
您可以使用 sapinst 參數 SAPINST_REMOTE_ACCESS_USER 來允許非 root 使用者連線到 sapinst。
sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin SAPINST_USE_HOSTNAME=virtual_hostname如果安裝作業無法在 /usr/sap/NW1/ASCS00 中建立子資料夾,請嘗試設定 ASCS00 資料夾的擁有者和群組,然後重試。
chown nw1adm /usr/sap/NW1/ASCS00 chgrp sapsys /usr/sap/NW1/ASCS00[1] 為 ERS 執行個體建立虛擬 IP 資源和健全狀態探查。
sudo crm node online nw1-cl-1 sudo crm node standby nw1-cl-0 sudo crm configure primitive fs_NW1_ERS Filesystem device='nw1-nfs:/NW1/ASCSERS' directory='/usr/sap/NW1/ERS02' 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_NW1_ERS IPaddr2 \ params ip=10.0.0.8 \ op monitor interval=10 timeout=20 sudo crm configure primitive nc_NW1_ERS azure-lb port=62102 \ op monitor timeout=20s interval=10 sudo crm configure group g-NW1_ERS fs_NW1_ERS nc_NW1_ERS vip_NW1_ERS請確定叢集狀態正常,且所有資源皆已啟動。 資源在哪個節點上執行並不重要。
sudo crm_mon -r # Node nw1-cl-0: standby # Online: [ nw1-cl-1 ] # # Full list of resources: # # stonith-sbd (stonith:external/sbd): Started nw1-cl-1 # Resource Group: g-NW1_ASCS # fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started nw1-cl-1 # nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started nw1-cl-1 # vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started nw1-cl-1 # Resource Group: g-NW1_ERS # fs_NW1_ERS (ocf::heartbeat:Filesystem): Started nw1-cl-1 # nc_NW1_ERS (ocf::heartbeat:azure-lb): Started nw1-cl-1 # vip_NW1_ERS (ocf::heartbeat:IPaddr2): Started nw1-cl-1[2] 安裝 SAP NetWeaver ERS
以 root 身分使用虛擬主機名稱 (對應至 ERS 負載平衡器前端組態的 IP 位址,例如 nw1-aers、10.0.0.8) 和您用於負載平衡器探查的執行個體號碼 (例如 02),在第二個節點上安裝 SAP NetWeaver ERS。
您可以使用 sapinst 參數 SAPINST_REMOTE_ACCESS_USER 來允許非 root 使用者連線到 sapinst。
sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin SAPINST_USE_HOSTNAME=virtual_hostname備註
請使用 SWPM SP 20 PL 05 或更高版本。 較低版本會錯誤地設定權限,導致安裝失敗。
如果安裝作業無法在 /usr/sap/NW1/ERS02 中建立子資料夾,請嘗試設定 ERS02 資料夾的擁有者和群組,然後重試。
chown nw1adm /usr/sap/NW1/ERS02 chgrp sapsys /usr/sap/NW1/ERS02[1] 調整 ASCS/SCS 和 ERS 執行個體設定檔
ASCS/SCS 設定檔
sudo vi /sapmnt/NW1/profile/NW1_ASCS00_nw1-ascs # 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_EXECUTABLE)/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 = TRUEERS 設定檔
sudo vi /sapmnt/NW1/profile/NW1_ERS02_nw1-aers # 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_EXECUTABLE)/saphascriptco.so service/halib_cluster_connector = /usr/bin/sap_suse_cluster_connector # remove Autostart from ERS profile # Autostart = 1
[A] 設定保持運作
SAP NetWeaver 應用程式伺服器和 ASCS/SCS 之間的通訊是透過軟體負載平衡器來路由傳送。 在逾時時間 (可設定) 過後,負載平衡器就會將非作用中的連線中斷。 為了避免這種斷線,你需要在 SAP NetWeaver ASCS/SCS 設定檔中設定參數(如果使用 ENSA1),並且在所有 SAP 伺服器上更改 Linux 系統
keepalive對 ENSA1/ENSA2 的設定。 如需詳細資訊,請閱讀 SAP Note 1410736。# Change the Linux system configuration sudo sysctl net.ipv4.tcp_keepalive_time=300[A] 在安裝過後設定 SAP 使用者
# Add sidadm to the haclient group sudo usermod -aG haclient nw1adm[1] 在 sapservice 檔案中新增 ASCS 和 ERS SAP 服務
在第二個節點中新增 ASCS 服務項目,並將 ERS 服務項目複製到第一個節點。
cat /usr/sap/sapservices | grep ASCS00 | sudo ssh nw1-cl-1 "cat >>/usr/sap/sapservices" sudo ssh nw1-cl-1 "cat /usr/sap/sapservices" | grep ERS02 | sudo tee -a /usr/sap/sapservices[A] 停用 ASCS 和 ERS SAP 執行個體的
systemd服務。 此步驟僅在 systemd 管理 SAP 啟動框架時,依照 SAP Note 3115048 才適用備註
當你使用 SLES 叢集配置管理像 SAP ASCS 和 SAP ERS 這類 SAP 實例時,還需要做其他修改,將叢集與原生基於 systemd 的 SAP start 框架整合,以確保維護程序不會影響叢集穩定性。 根據 SAP 備註 3115048,安裝或將 SAP 啟動框架切換至支援 systemd 的設置後,您應停用 ASCS 和 ERS SAP 執行個體的
systemd服務。# Stop ASCS and ERS instances using <sid>adm sapcontrol -nr 00 -function Stop sapcontrol -nr 00 -function StopService sapcontrol -nr 01 -function Stop sapcontrol -nr 01 -function StopService # Execute below command on VM where you have performed ASCS instance installation (e.g. nw1-cl-0) sudo systemctl disable SAPNW1_00 # Execute below command on VM where you have performed ERS instance installation (e.g. nw1-cl-1) sudo systemctl disable SAPNW1_01[1] 建立 SAP 叢集資源
根據您執行的是 ENSA1 還是 ENSA2 系統,選取各自的索引標籤以定義資源。 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_NW1_ASCS00 SAPInstance \ operations \$id=rsc_sap_NW1_ASCS00-operations \ op monitor interval=11 timeout=60 on-fail=restart \ params InstanceName=NW1_ASCS00_nw1-ascs START_PROFILE="/sapmnt/NW1/profile/NW1_ASCS00_nw1-ascs" \ AUTOMATIC_RECOVER=false \ meta resource-stickiness=5000 failure-timeout=60 migration-threshold=1 priority=10 sudo crm configure primitive rsc_sap_NW1_ERS02 SAPInstance \ operations \$id=rsc_sap_NW1_ERS02-operations \ op monitor interval=11 timeout=60 on-fail=restart \ params InstanceName=NW1_ERS02_nw1-aers START_PROFILE="/sapmnt/NW1/profile/NW1_ERS02_nw1-aers" AUTOMATIC_RECOVER=false IS_ERS=true \ meta priority=1000 sudo crm configure modgroup g-NW1_ASCS add rsc_sap_NW1_ASCS00 sudo crm configure modgroup g-NW1_ERS add rsc_sap_NW1_ERS02 sudo crm configure colocation col_sap_NW1_no_both -5000: g-NW1_ERS g-NW1_ASCS sudo crm configure location loc_sap_NW1_failover_to_ers rsc_sap_NW1_ASCS00 rule 2000: runs_ers_NW1 eq 1 sudo crm configure order ord_sap_NW1_first_start_ascs Optional: rsc_sap_NW1_ASCS00:start rsc_sap_NW1_ERS02:stop symmetrical=false sudo crm_attribute --delete --name priority-fencing-delay sudo crm node online nw1-cl-0 sudo crm configure property maintenance-mode="false"
若正在從舊版本升級並切換到佇列伺服器 2,請參閱 SAP 附註 2641019。
請確定叢集狀態正常,且所有資源皆已啟動。 資源在哪個節點上執行並不重要。
sudo crm_mon -r
# Online: [ nw1-cl-0 nw1-cl-1 ]
#
# Full list of resources:
#
# stonith-sbd (stonith:external/sbd): Started nw1-cl-1
# Resource Group: g-NW1_ASCS
# fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started nw1-cl-1
# nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started nw1-cl-1
# vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started nw1-cl-1
# rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started nw1-cl-1
# Resource Group: g-NW1_ERS
# fs_NW1_ERS (ocf::heartbeat:Filesystem): Started nw1-cl-0
# nc_NW1_ERS (ocf::heartbeat:azure-lb): Started nw1-cl-0
# vip_NW1_ERS (ocf::heartbeat:IPaddr2): Started nw1-cl-0
# rsc_sap_NW1_ERS02 (ocf::heartbeat:SAPInstance): Started nw1-cl-0
備註
SAP ASCS/ERS 叢集可從 2 節點擴展至 3 節點叢集,第三節點作為備用節點,用於 ASCS 或 ERS 服務的故障轉移。
- 三節點設置僅適用於使用 SAP Enqueue Replication Server 2(ENSA2)的 SAP 系統。
- 叢集特性
priority-fencing-delay不應用於三節點叢集。
SAP NetWeaver 應用程式伺服器準備
某些資料庫需要在應用程式伺服器上執行資料庫執行個體安裝。 準備應用伺服器虛擬機,以便執行資料庫安裝。
以下常見步驟假設你安裝的應用程式伺服器與 ASCS 和 HANA 伺服器不同。
設定作業系統
縮減已變更的快取大小。 如需詳細資訊,請參閱使用大量 RAM 的 SLES 11/12 伺服器出現低寫入效能 (英文)。
sudo vi /etc/sysctl.conf # Change/set the following settings vm.dirty_bytes = 629145600 vm.dirty_background_bytes = 314572800設定主機名稱解析
您可以使用 DNS 伺服器,或修改所有節點上的 /etc/hosts。 這個範例示範如何使用 /etc/hosts 檔案。 取代下列命令中的 IP 位址和主機名稱
sudo vi /etc/hosts將下列幾行插入至 /etc/hosts。 變更 IP 位址和主機名稱以符合您的環境
# IP address of the load balancer frontend configuration for NFS 10.0.0.4 nw1-nfs # IP address of the load balancer frontend configuration for SAP NetWeaver ASCS/SCS 10.0.0.7 nw1-ascs # IP address of the load balancer frontend configuration for SAP NetWeaver ERS 10.0.0.8 nw1-aers # IP address of the load balancer frontend configuration for database 10.0.0.13 nw1-db # IP address of all application servers 10.0.0.20 nw1-di-0 10.0.0.21 nw1-di-1建立 sapmnt 目錄
sudo mkdir -p /sapmnt/NW1 sudo mkdir -p /usr/sap/trans sudo chattr +i /sapmnt/NW1 sudo chattr +i /usr/sap/trans設定 autofs
sudo vi /etc/auto.master # Add the following line to the file, save and exit +auto.master /- /etc/auto.direct使用下列命令建立新檔案
sudo vi /etc/auto.direct # Add the following lines to the file, save and exit /sapmnt/NW1 -nfsvers=4,nosymlink,sync nw1-nfs:/NW1/sapmntsid /usr/sap/trans -nfsvers=4,nosymlink,sync nw1-nfs:/NW1/trans重新啟動 autofs 以掛載新的共用
sudo systemctl enable autofs sudo service autofs restart設定 SWAP 檔案
sudo vi /etc/waagent.conf # Set the property ResourceDisk.EnableSwap to y # Create and use swapfile on resource disk. ResourceDisk.EnableSwap=y # Set the size of the SWAP file with property ResourceDisk.SwapSizeMB # The free space of resource disk varies by virtual machine size. Make sure that you do not set a value that is too big. You can check the SWAP space with command swapon # Size of the swapfile. ResourceDisk.SwapSizeMB=2000要啟動變更,請重新啟動代理。
sudo service waagent restart
安裝資料庫
在此範例中,SAP NetWeaver 安裝於 SAP HANA 上。 您可以針對此安裝使用每個支援的資料庫。 如需了解如何在 Azure 上安裝 SAP HANA 的更多資訊,請參見 Azure 虛擬機上的 SAP HANA 高可用性 。 如需所支援資料庫的清單,請參閱 SAP Note 1928533。
執行 SAP 資料庫實例安裝
以 root 身分使用虛擬主機名稱 (對應至資料庫負載平衡器前端組態的 IP 位址,例如 nw1-db 和 10.0.0.13) 來安裝 SAP NetWeaver 資料庫執行個體。
您可以使用 sapinst 參數 SAPINST_REMOTE_ACCESS_USER 來允許非 root 使用者連線到 sapinst。
sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin SAPINST_USE_HOSTNAME=virtual_hostname
SAP NetWeaver 應用程式伺服器安裝
請遵循下列步驟來安裝 SAP 應用程式伺服器。
準備應用程式伺服器
請遵循 SAP NetWeaver 應用程式伺服器準備中的步驟。
安裝 SAP NetWeaver 應用程式伺服器
安裝主要或其他的 SAP NetWeaver 應用程式伺服器。
您可以使用 sapinst 參數 SAPINST_REMOTE_ACCESS_USER 來允許非 root 使用者連線到 sapinst。
sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin SAPINST_USE_HOSTNAME=virtual_hostname更新 SAP HANA 安全儲存
更新 SAP Hana 安全存放區,使其指向 SAP Hana 系統複寫設定的虛擬名稱。
要列出這些條目,請執行以下指令:
hdbuserstore List此命令應該會列出所有項目,且看起來應該類似此範例。
DATA FILE : /home/nw1adm/.hdb/nw1-di-0/SSFS_HDB.DAT KEY FILE : /home/nw1adm/.hdb/nw1-di-0/SSFS_HDB.KEY KEY DEFAULT ENV : 10.0.0.14:30313 USER: SAPABAP1 DATABASE: HN1在此範例中,預設進入點的 IP 位址會指向 VM,而不是負載平衡器。 變更進入點以指向負載平衡器的虛擬機器主機名稱。 請務必使用相同的連接埠和資料庫名稱。 例如,範例輸出中的
30313和HN1。su - nw1adm hdbuserstore SET DEFAULT nw1-db:30313@HN1 SAPABAP1 <password of ABAP schema>
測試叢集設定
下列測試是 SUSE 最佳做法指南中的測試案例複本。 為方便起見,我們將案例複製過來。 也一定要閱讀最佳實務指南,並完成所有可能新增的額外測試。
測試 HAGetFailoverConfig、HACheckConfig 和 HACheckFailoverConfig
在目前執行 ASCS 執行個體的節點上,以 <sapsid>adm 身分執行下列命令。 若命令失敗並顯示 FAIL: Insufficient memory,可能是因為主機名稱中包含破折號。 這個錯誤是已知的問題,SUSE 會透過 sap-suse-cluster-connector 套件來修正。
nw1-cl-0:nw1adm 54> sapcontrol -nr 00 -function HAGetFailoverConfig # 15.08.2018 13:50:36 # HAGetFailoverConfig # OK # HAActive: TRUE # HAProductVersion: Toolchain Module # HASAPInterfaceVersion: Toolchain Module (sap_suse_cluster_connector 3.0.1) # HADocumentation: https://www.suse.com/products/sles-for-sap/resource-library/sap-best-practices/ # HAActiveNode: # HANodes: nw1-cl-0, nw1-cl-1 nw1-cl-0:nw1adm 55> sapcontrol -nr 00 -function HACheckConfig # 15.08.2018 14:00:04 # HACheckConfig # OK # state, category, description, comment # SUCCESS, SAP CONFIGURATION, Redundant ABAP instance configuration, 2 ABAP instances detected # SUCCESS, SAP CONFIGURATION, Redundant Java instance configuration, 0 Java instances detected # SUCCESS, SAP CONFIGURATION, Enqueue separation, All Enqueue server separated from application server # SUCCESS, SAP CONFIGURATION, MessageServer separation, All MessageServer separated from application server # SUCCESS, SAP CONFIGURATION, ABAP instances on multiple hosts, ABAP instances on multiple hosts detected # SUCCESS, SAP CONFIGURATION, Redundant ABAP SPOOL service configuration, 2 ABAP instances with SPOOL service detected # SUCCESS, SAP STATE, Redundant ABAP SPOOL service state, 2 ABAP instances with active SPOOL service detected # SUCCESS, SAP STATE, ABAP instances with ABAP SPOOL service on multiple hosts, ABAP instances with active ABAP SPOOL service on multiple hosts detected # SUCCESS, SAP CONFIGURATION, Redundant ABAP BATCH service configuration, 2 ABAP instances with BATCH service detected # SUCCESS, SAP STATE, Redundant ABAP BATCH service state, 2 ABAP instances with active BATCH service detected # SUCCESS, SAP STATE, ABAP instances with ABAP BATCH service on multiple hosts, ABAP instances with active ABAP BATCH service on multiple hosts detected # SUCCESS, SAP CONFIGURATION, Redundant ABAP DIALOG service configuration, 2 ABAP instances with DIALOG service detected # SUCCESS, SAP STATE, Redundant ABAP DIALOG service state, 2 ABAP instances with active DIALOG service detected # SUCCESS, SAP STATE, ABAP instances with ABAP DIALOG service on multiple hosts, ABAP instances with active ABAP DIALOG service on multiple hosts detected # SUCCESS, SAP CONFIGURATION, Redundant ABAP UPDATE service configuration, 2 ABAP instances with UPDATE service detected # SUCCESS, SAP STATE, Redundant ABAP UPDATE service state, 2 ABAP instances with active UPDATE service detected # SUCCESS, SAP STATE, ABAP instances with ABAP UPDATE service on multiple hosts, ABAP instances with active ABAP UPDATE service on multiple hosts detected # SUCCESS, SAP STATE, SCS instance running, SCS instance status ok # SUCCESS, SAP CONFIGURATION, SAPInstance RA sufficient version (nw1-ascs_NW1_00), SAPInstance includes is-ers patch # SUCCESS, SAP CONFIGURATION, Enqueue replication (nw1-ascs_NW1_00), Enqueue replication enabled # SUCCESS, SAP STATE, Enqueue replication state (nw1-ascs_NW1_00), Enqueue replication active nw1-cl-0:nw1adm 56> sapcontrol -nr 00 -function HACheckFailoverConfig # 15.08.2018 14:04:08 # HACheckFailoverConfig # OK # state, category, description, comment # SUCCESS, SAP CONFIGURATION, SAPInstance RA sufficient version, SAPInstance includes is-ers patch手動移轉 ASCS 執行個體
開始測試之前的資源狀態:
stonith-sbd (stonith:external/sbd): Started nw1-cl-0 Resource Group: g-NW1_ASCS fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started nw1-cl-0 nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started nw1-cl-0 vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started nw1-cl-0 rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started nw1-cl-0 Resource Group: g-NW1_ERS fs_NW1_ERS (ocf::heartbeat:Filesystem): Started nw1-cl-1 nc_NW1_ERS (ocf::heartbeat:azure-lb): Started nw1-cl-1 vip_NW1_ERS (ocf::heartbeat:IPaddr2): Started nw1-cl-1 rsc_sap_NW1_ERS02 (ocf::heartbeat:SAPInstance): Started nw1-cl-1以 root 身份執行下列命令,來遷移 ASCS 執行個體。
nw1-cl-0:~ # crm resource migrate rsc_sap_NW1_ASCS00 force # INFO: Move constraint created for rsc_sap_NW1_ASCS00 nw1-cl-0:~ # crm resource unmigrate rsc_sap_NW1_ASCS00 # INFO: Removed migration constraints for rsc_sap_NW1_ASCS00 # Remove failed actions for the ERS that occurred as part of the migration nw1-cl-0:~ # crm resource cleanup rsc_sap_NW1_ERS02測試完成之後的資源狀態:
stonith-sbd (stonith:external/sbd): Started nw1-cl-0 Resource Group: g-NW1_ASCS fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started nw1-cl-1 nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started nw1-cl-1 vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started nw1-cl-1 rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started nw1-cl-1 Resource Group: g-NW1_ERS fs_NW1_ERS (ocf::heartbeat:Filesystem): Started nw1-cl-0 nc_NW1_ERS (ocf::heartbeat:azure-lb): Started nw1-cl-0 vip_NW1_ERS (ocf::heartbeat:IPaddr2): Started nw1-cl-0 rsc_sap_NW1_ERS02 (ocf::heartbeat:SAPInstance): Started nw1-cl-0測試 HAFailoverToNode
開始測試之前的資源狀態:
stonith-sbd (stonith:external/sbd): Started nw1-cl-0 Resource Group: g-NW1_ASCS fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started nw1-cl-1 nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started nw1-cl-1 vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started nw1-cl-1 rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started nw1-cl-1 Resource Group: g-NW1_ERS fs_NW1_ERS (ocf::heartbeat:Filesystem): Started nw1-cl-0 nc_NW1_ERS (ocf::heartbeat:azure-lb): Started nw1-cl-0 vip_NW1_ERS (ocf::heartbeat:IPaddr2): Started nw1-cl-0 rsc_sap_NW1_ERS02 (ocf::heartbeat:SAPInstance): Started nw1-cl-0要遷移 ASCS 實例,請以 <sapsid>adm 的身份執行以下指令。
nw1-cl-0:nw1adm 55> sapcontrol -nr 00 -host nw1-ascs -user nw1adm <password> -function HAFailoverToNode "" # run as root # Remove failed actions for the ERS that occurred as part of the migration nw1-cl-0:~ # crm resource cleanup rsc_sap_NW1_ERS02 # Remove migration constraints nw1-cl-0:~ # crm resource clear rsc_sap_NW1_ASCS00 #INFO: Removed migration constraints for rsc_sap_NW1_ASCS00測試完成之後的資源狀態:
stonith-sbd (stonith:external/sbd): Started nw1-cl-0 Resource Group: g-NW1_ASCS fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started nw1-cl-0 nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started nw1-cl-0 vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started nw1-cl-0 rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started nw1-cl-0 Resource Group: g-NW1_ERS fs_NW1_ERS (ocf::heartbeat:Filesystem): Started nw1-cl-1 nc_NW1_ERS (ocf::heartbeat:azure-lb): Started nw1-cl-1 vip_NW1_ERS (ocf::heartbeat:IPaddr2): Started nw1-cl-1 rsc_sap_NW1_ERS02 (ocf::heartbeat:SAPInstance): Started nw1-cl-1模擬節點損毀
開始測試之前的資源狀態:
stonith-sbd (stonith:external/sbd): Started nw1-cl-0 Resource Group: g-NW1_ASCS fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started nw1-cl-0 nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started nw1-cl-0 vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started nw1-cl-0 rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started nw1-cl-0 Resource Group: g-NW1_ERS fs_NW1_ERS (ocf::heartbeat:Filesystem): Started nw1-cl-1 nc_NW1_ERS (ocf::heartbeat:azure-lb): Started nw1-cl-1 vip_NW1_ERS (ocf::heartbeat:IPaddr2): Started nw1-cl-1 rsc_sap_NW1_ERS02 (ocf::heartbeat:SAPInstance): Started nw1-cl-1以 root 身份在執行 ASCS 執行個體的節點上執行下列命令
nw1-cl-0:~ # echo b > /proc/sysrq-trigger若您使用 SBD,Pacemaker 不應在遭終止的節點上自動啟動。 節點在重新啟動後的狀態應該會像下面這樣。
Online: [ nw1-cl-1 ] OFFLINE: [ nw1-cl-0 ] Full list of resources: stonith-sbd (stonith:external/sbd): Started nw1-cl-1 Resource Group: g-NW1_ASCS fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started nw1-cl-1 nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started nw1-cl-1 vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started nw1-cl-1 rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started nw1-cl-1 Resource Group: g-NW1_ERS fs_NW1_ERS (ocf::heartbeat:Filesystem): Started nw1-cl-1 nc_NW1_ERS (ocf::heartbeat:azure-lb): Started nw1-cl-1 vip_NW1_ERS (ocf::heartbeat:IPaddr2): Started nw1-cl-1 rsc_sap_NW1_ERS02 (ocf::heartbeat:SAPInstance): Started nw1-cl-1 Failed Actions: * rsc_sap_NW1_ERS02_monitor_11000 on nw1-cl-1 'not running' (7): call=219, status=complete, exitreason='none', last-rc-change='Wed Aug 15 14:38:38 2018', queued=0ms, exec=0ms使用下列命令在已清除的節點上啟動 Pacemaker,並清除 SBD 訊息及失敗的資源。
# run as root # list the SBD device(s) nw1-cl-0:~ # cat /etc/sysconfig/sbd | grep SBD_DEVICE= # SBD_DEVICE="/dev/disk/by-id/scsi-36001405772fe8401e6240c985857e116;/dev/disk/by-id/scsi-36001405034a84428af24ddd8c3a3e9e1;/dev/disk/by-id/scsi-36001405cdd5ac8d40e548449318510c3" nw1-cl-0:~ # sbd -d /dev/disk/by-id/scsi-36001405772fe8401e6240c985857e116 -d /dev/disk/by-id/scsi-36001405034a84428af24ddd8c3a3e9e1 -d /dev/disk/by-id/scsi-36001405cdd5ac8d40e548449318510c3 message nw1-cl-0 clear nw1-cl-0:~ # systemctl start pacemaker nw1-cl-0:~ # crm resource cleanup rsc_sap_NW1_ASCS00 nw1-cl-0:~ # crm resource cleanup rsc_sap_NW1_ERS02測試完成之後的資源狀態:
stonith-sbd (stonith:external/sbd): Started nw1-cl-1 Resource Group: g-NW1_ASCS fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started nw1-cl-1 nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started nw1-cl-1 vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started nw1-cl-1 rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started nw1-cl-1 Resource Group: g-NW1_ERS fs_NW1_ERS (ocf::heartbeat:Filesystem): Started nw1-cl-0 nc_NW1_ERS (ocf::heartbeat:azure-lb): Started nw1-cl-0 vip_NW1_ERS (ocf::heartbeat:IPaddr2): Started nw1-cl-0 rsc_sap_NW1_ERS02 (ocf::heartbeat:SAPInstance): Started nw1-cl-0封鎖網路通訊
開始測試之前的資源狀態:
stonith-sbd (stonith:external/sbd): Started nw1-cl-1 Resource Group: g-NW1_ASCS fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started nw1-cl-1 nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started nw1-cl-1 vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started nw1-cl-1 rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started nw1-cl-1 Resource Group: g-NW1_ERS fs_NW1_ERS (ocf::heartbeat:Filesystem): Started nw1-cl-0 nc_NW1_ERS (ocf::heartbeat:azure-lb): Started nw1-cl-0 vip_NW1_ERS (ocf::heartbeat:IPaddr2): Started nw1-cl-0 rsc_sap_NW1_ERS02 (ocf::heartbeat:SAPInstance): Started nw1-cl-0執行防火牆規則以封鎖其中一個節點上的通訊。
# Execute iptable rule on nw1-cl-0 (10.0.0.5) to block the incoming and outgoing traffic to nw1-cl-1 (10.0.0.6) iptables -A INPUT -s 10.0.0.6 -j DROP; iptables -A OUTPUT -d 10.0.0.6 -j DROP當叢集節點無法相互通訊時,就會有發生核心分裂情況的風險。 在這種情況下,叢集節點會嘗試同時隔離對方,導致隔離競賽。
在配置圍欄裝置時,建議先設定
pcmk_delay_max屬性。 因此,在發生pcmk_delay_max情境時,叢集會在每個節點的隔離動作上引入最多達該值的隨機延遲。 延遲最短的節點將被選中進行隔離。此外,在 ENSA 2 設定中,為了在分裂大腦情境中優先讓承載 ASCS 資源的節點優先於其他節點,建議在叢集中配置
priority-fencing-delay屬性。 啟用「優先權圍欄延遲」屬性,可讓叢集在執行圍欄操作時,對承載 ASCS 資源的節點引入額外延遲,使該節點能夠贏得圍欄競賽。備註
此
priority-fencing-delay特性僅適用於使用 ENSA2 運行的雙節點叢集配置。執行以下指令刪除防火牆規則。
# If the iptables rule set on the server gets reset after a reboot, the rules will be cleared out. In case they have not been reset, please proceed to remove the iptables rule using the following command. iptables -D INPUT -s 10.0.0.6 -j DROP; iptables -D OUTPUT -d 10.0.0.6 -j DROP測試以手動方式重新啟動 ASCS 執行個體
開始測試之前的資源狀態:
stonith-sbd (stonith:external/sbd): Started nw1-cl-1 Resource Group: g-NW1_ASCS fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started nw1-cl-1 nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started nw1-cl-1 vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started nw1-cl-1 rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started nw1-cl-1 Resource Group: g-NW1_ERS fs_NW1_ERS (ocf::heartbeat:Filesystem): Started nw1-cl-0 nc_NW1_ERS (ocf::heartbeat:azure-lb): Started nw1-cl-0 vip_NW1_ERS (ocf::heartbeat:IPaddr2): Started nw1-cl-0 rsc_sap_NW1_ERS02 (ocf::heartbeat:SAPInstance): Started nw1-cl-0例如,在交易碼 su01 中編輯使用者,以建立一個 enqueue 鎖定。 以 <sapsid>adm 身分在執行 ASCS 執行個體的節點上執行下列命令。 指令會停止 ASCS 實例並重新啟動。 在此測試中,若使用排入佇列伺服器 1 架構,則預期會遺失排入佇列鎖。 若使用加入佇列伺服器 2 架構,則將會保留加入佇列。
nw1-cl-1:nw1adm 54> sapcontrol -nr 00 -function StopWait 600 2ASCS 執行個體應會立即在 Pacemaker 中停用
rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Stopped (disabled)在相同節點上再次啟動 ASCS 執行個體。
nw1-cl-1:nw1adm 54> sapcontrol -nr 00 -function StartWait 600 2交易 su01 的佇列鎖定應該會遺失,而且後端應已重設。 測試完成之後的資源狀態:
stonith-sbd (stonith:external/sbd): Started nw1-cl-1 Resource Group: g-NW1_ASCS fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started nw1-cl-1 nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started nw1-cl-1 vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started nw1-cl-1 rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started nw1-cl-1 Resource Group: g-NW1_ERS fs_NW1_ERS (ocf::heartbeat:Filesystem): Started nw1-cl-0 nc_NW1_ERS (ocf::heartbeat:azure-lb): Started nw1-cl-0 vip_NW1_ERS (ocf::heartbeat:IPaddr2): Started nw1-cl-0 rsc_sap_NW1_ERS02 (ocf::heartbeat:SAPInstance): Started nw1-cl-0終止訊息伺服器處理程序
開始測試之前的資源狀態:
stonith-sbd (stonith:external/sbd): Started nw1-cl-1 Resource Group: g-NW1_ASCS fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started nw1-cl-1 nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started nw1-cl-1 vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started nw1-cl-1 rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started nw1-cl-1 Resource Group: g-NW1_ERS fs_NW1_ERS (ocf::heartbeat:Filesystem): Started nw1-cl-0 nc_NW1_ERS (ocf::heartbeat:azure-lb): Started nw1-cl-0 vip_NW1_ERS (ocf::heartbeat:IPaddr2): Started nw1-cl-0 rsc_sap_NW1_ERS02 (ocf::heartbeat:SAPInstance): Started nw1-cl-0以 root 身份執行下列命令,找出訊息伺服器的處理程序,並將其終止。
nw1-cl-1:~ # pgrep -f ms.sapNW1 | xargs kill -9如果您只終止訊息伺服器一次,sapstart 會將伺服器重新啟動。 如果您頻繁終止它,Pacemaker 最終會將 ASCS 執行個體移到另一個節點 (適用於 ENSA1)。 以 root 身份執行下列命令,以在測試之後清除 ASCS 和 ERS 執行個體的資源狀態。
nw1-cl-0:~ # crm resource cleanup rsc_sap_NW1_ASCS00 nw1-cl-0:~ # crm resource cleanup rsc_sap_NW1_ERS02測試完成之後的資源狀態:
stonith-sbd (stonith:external/sbd): Started nw1-cl-1 Resource Group: g-NW1_ASCS fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started nw1-cl-0 nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started nw1-cl-0 vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started nw1-cl-0 rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started nw1-cl-0 Resource Group: g-NW1_ERS fs_NW1_ERS (ocf::heartbeat:Filesystem): Started nw1-cl-1 nc_NW1_ERS (ocf::heartbeat:azure-lb): Started nw1-cl-1 vip_NW1_ERS (ocf::heartbeat:IPaddr2): Started nw1-cl-1 rsc_sap_NW1_ERS02 (ocf::heartbeat:SAPInstance): Started nw1-cl-1終止佇列伺服器處理程序
開始測試之前的資源狀態:
stonith-sbd (stonith:external/sbd): Started nw1-cl-1 Resource Group: g-NW1_ASCS fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started nw1-cl-0 nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started nw1-cl-0 vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started nw1-cl-0 rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started nw1-cl-0 Resource Group: g-NW1_ERS fs_NW1_ERS (ocf::heartbeat:Filesystem): Started nw1-cl-1 nc_NW1_ERS (ocf::heartbeat:azure-lb): Started nw1-cl-1 vip_NW1_ERS (ocf::heartbeat:IPaddr2): Started nw1-cl-1 rsc_sap_NW1_ERS02 (ocf::heartbeat:SAPInstance): Started nw1-cl-1以 root 身份在執行 ASCS 執行個體的節點上執行下列命令,以終止佇列伺服器。
nw1-cl-0:~ # #If using ENSA1 pgrep -f en.sapNW1 | xargs kill -9 #If using ENSA2 pgrep -f enq.sapNW1 | xargs kill -9ASCS 實例應立即切換到另一個節點(適用於 ENSA1)。 在 ASCS 執行個體啟動之後,ERS 執行個體也應該進行故障轉移。 以 root 身份執行下列命令,以在測試之後清除 ASCS 和 ERS 執行個體的資源狀態。
nw1-cl-0:~ # crm resource cleanup rsc_sap_NW1_ASCS00 nw1-cl-0:~ # crm resource cleanup rsc_sap_NW1_ERS02測試完成之後的資源狀態:
stonith-sbd (stonith:external/sbd): Started nw1-cl-1 Resource Group: g-NW1_ASCS fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started nw1-cl-1 nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started nw1-cl-1 vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started nw1-cl-1 rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started nw1-cl-1 Resource Group: g-NW1_ERS fs_NW1_ERS (ocf::heartbeat:Filesystem): Started nw1-cl-0 nc_NW1_ERS (ocf::heartbeat:azure-lb): Started nw1-cl-0 vip_NW1_ERS (ocf::heartbeat:IPaddr2): Started nw1-cl-0 rsc_sap_NW1_ERS02 (ocf::heartbeat:SAPInstance): Started nw1-cl-0終止佇列複寫伺服器處理程序
開始測試之前的資源狀態:
stonith-sbd (stonith:external/sbd): Started nw1-cl-1 Resource Group: g-NW1_ASCS fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started nw1-cl-1 nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started nw1-cl-1 vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started nw1-cl-1 rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started nw1-cl-1 Resource Group: g-NW1_ERS fs_NW1_ERS (ocf::heartbeat:Filesystem): Started nw1-cl-0 nc_NW1_ERS (ocf::heartbeat:azure-lb): Started nw1-cl-0 vip_NW1_ERS (ocf::heartbeat:IPaddr2): Started nw1-cl-0 rsc_sap_NW1_ERS02 (ocf::heartbeat:SAPInstance): Started nw1-cl-0以 root 身份在執行 ERS 執行個體的節點上執行下列命令,以終止佇列複寫伺服器處理程序。
nw1-cl-0:~ # pgrep -f er.sapNW1 | xargs kill -9如果您只執行此命令一次,sapstart 會重新啟動處理程序。 如果您執行命令的次數足夠,則 sapstart 將不會重新啟動處理程序,而資源會處於停止狀態。 以 root 身份執行下列命令,以在測試之後清除 ERS 執行個體的資源狀態。
nw1-cl-0:~ # crm resource cleanup rsc_sap_NW1_ERS02測試完成之後的資源狀態:
stonith-sbd (stonith:external/sbd): Started nw1-cl-1 Resource Group: g-NW1_ASCS fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started nw1-cl-1 nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started nw1-cl-1 vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started nw1-cl-1 rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started nw1-cl-1 Resource Group: g-NW1_ERS fs_NW1_ERS (ocf::heartbeat:Filesystem): Started nw1-cl-0 nc_NW1_ERS (ocf::heartbeat:azure-lb): Started nw1-cl-0 vip_NW1_ERS (ocf::heartbeat:IPaddr2): Started nw1-cl-0 rsc_sap_NW1_ERS02 (ocf::heartbeat:SAPInstance): Started nw1-cl-0終止佇列 sapstartsrv 程序
開始測試之前的資源狀態:
stonith-sbd (stonith:external/sbd): Started nw1-cl-1 Resource Group: g-NW1_ASCS fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started nw1-cl-1 nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started nw1-cl-1 vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started nw1-cl-1 rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started nw1-cl-1 Resource Group: g-NW1_ERS fs_NW1_ERS (ocf::heartbeat:Filesystem): Started nw1-cl-0 nc_NW1_ERS (ocf::heartbeat:azure-lb): Started nw1-cl-0 vip_NW1_ERS (ocf::heartbeat:IPaddr2): Started nw1-cl-0 rsc_sap_NW1_ERS02 (ocf::heartbeat:SAPInstance): Started nw1-cl-0以 root 身份在執行 ASCS 的節點上執行下列命令。
nw1-cl-1:~ # pgrep -fl ASCS00.*sapstartsrv # 59545 sapstartsrv nw1-cl-1:~ # kill -9 59545應一律由 Pacemaker 資源代理程式來重新啟動 sapstartsrv 處理程序。 測試完成之後的資源狀態:
stonith-sbd (stonith:external/sbd): Started nw1-cl-1 Resource Group: g-NW1_ASCS fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started nw1-cl-1 nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started nw1-cl-1 vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started nw1-cl-1 rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started nw1-cl-1 Resource Group: g-NW1_ERS fs_NW1_ERS (ocf::heartbeat:Filesystem): Started nw1-cl-0 nc_NW1_ERS (ocf::heartbeat:azure-lb): Started nw1-cl-0 vip_NW1_ERS (ocf::heartbeat:IPaddr2): Started nw1-cl-0 rsc_sap_NW1_ERS02 (ocf::heartbeat:SAPInstance): Started nw1-cl-0
下一步
- 適用於具備多個 SID SAP 應用程式 SLES 上 Azure VM 中 SAP NW HA 的指南
SAP 在 Azure 虛擬機器上的規劃與實施 - 部署 Azure 虛擬機以用於 SAP
- Azure 虛擬機器用於 SAP 的資料庫管理系統部署
- 欲了解如何在Azure虛擬機上建立SAP HANA的高可用性並規劃災難復原,請參閱SAP HANA在Azure虛擬機器上的高可用性