在 RHEL VM 上使用 Azure 檔案儲存體 NFS 的 SAP NetWeaver 高可用性
本文說明如何使用 Azure 檔案儲存體上的 NFS 來部署和設定虛擬機器 (VM)、安裝叢集架構,以及安裝高可用性 (HA) SAP NetWeaver 系統。 範例組態會使用在 Red Hat Enterprise Linux (RHEL) 上執行的 VM。
必要條件
- Azure 檔案儲存體文件
- SAP Note 1928533,其中包含:
- SAP 軟體部署支援的 Azure VM 大小清單。
- Azure VM 大小的重要容量資訊。
- 支援的 SAP 軟體,以及作業系統 (OS) 與資料庫組合。
- Microsoft Azure 上 Windows 和 Linux 所需的 SAP 核心版本。
- SAP Note 2015553 列出 Azure 中 SAP 支援的 SAP 軟體部署先決條件。
- SAP 附註 2002167 建議適用於 Red Hat Enterprise Linux 7.x 的作業系統設定。
- SAP 附註 2772999 建議適用於 Red Hat Enterprise Linux 8.x 的作業系統設定。
- SAP 附註 2009879 提供適用於 Red Hat Enterprise Linux 的 SAP HANA 方針。
- SAP Note 2178632 包含在 Azure 中針對 SAP 回報的所有監視計量詳細資訊。
- SAP Note 2191498 包含 Azure 中 Linux 所需的 SAP Host Agent 版本。
- SAP Note 2243692 包含 Azure 中 Linux 上的 SAP 授權相關資訊。
- SAP 附註 1999351 包含適用於 SAP 的 Azure 增強型監視延伸模組的其他疑難排解資訊。
- SAP Community WIKI 包含 Linux 所需的所有 SAP Note。
- 適用於 SAP on Linux 的 Azure 虛擬機器規劃和實作
- 在 Linux 上為 SAP 進行 Azure 虛擬機器部署
- 適用於 SAP on Linux 的 Azure 虛擬機器 DBMS 部署
- Pacemaker 叢集中的 SAP Netweaver (英文)
- 一般 RHEL 文件:
- Azure 專用 RHEL 文件:
概觀
若要部署 SAP NetWeaver 應用程式層,您在環境中必須要有共用目錄,例如 /sapmnt/SID
和 /usr/sap/trans
。 此外,部署 HA SAP 系統時,您必須保護諸如 /sapmnt/SID
和 /usr/sap/SID/ASCS
的檔案系統,並且使其達到高可用性。
現在,您可以將這些檔案系統放在 Azure 檔案儲存體上的 NFS。 Azure 檔案儲存體上的 NFS 是 HA 儲存體解決方案。 此解決方案提供同步區域備援儲存體 (ZRS),適用於跨可用性區域部署的 SAP ASCS/ERS 執行個體。 您仍然需要 Pacemaker 叢集來保護單一失敗點元件,例如 SAP NetWeaver 中央服務 (ASCS/SCS)。
範例設定和安裝命令會使用下列執行個體號碼:
執行個體名稱 | 執行個體號碼 |
---|---|
ABAP SAP 中央服務 (ASCS) | 00 |
ERS | 01 |
ABAP SAP 中央服務 (ASCS) | 02 |
其他應用程式伺服器 (AAS) | 03 |
SAP 系統識別碼 | NW1 |
此圖表顯示典型的 SAP NetWeaver HA 結構。 "sapmnt" 和 "saptrans" 檔案系統部署於 Azure 檔案儲存體上的 NFS 共用。 SAP 中央服務受到 Pacemaker 叢集的保護。 叢集 VM 位於 Azure Load Balancer 後方。 NFS 共用會透過私人端點掛接。
準備基礎結構
Azure Marketplace 包含具有高可用性附加元件的 SAP 適用的映像,可讓您使用各種版本的 Red Hat 部署新的 VM。
透過 Azure 入口網站手動部署 Linux VM
此文件假設您已部署 Azure 虛擬網路、子網路和資源群組。
為 SAP ASCS、ERS 和應用程式伺服器部署 VM。 選擇適用於 SAP 系統的 RHEL 映像。 您可以在任一可用性選項中部署 VM:虛擬機器擴展集、可用性區域或可用性設定組。
設定 Azure Load Balancer
在 VM 設定期間,您可以選擇在網路區段中建立或選取現有的負載平衡器。 請遵循下列步驟來設定標準負載平衡器,以進行 SAP ASCS 和 SAP ERS 的高可用性設定。
請遵循建立負載平衡器指南,使用 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 入口網站來設定此屬性,因此請使用 Azure CLI 或 PowerShell 命令。
注意
當不具公用 IP 位址的 VM 放在內部 (沒有公用 IP 位址) 標準 Load Balancer 執行個體的後端集區時,除非執行更多設定來允許路由傳送至公用端點,否則不會有輸出網際網路連線能力。 如需如何實現輸出連線能力的詳細資訊,請參閱在 SAP 高可用性案例中使用 Azure Standard Load Balancer 實現虛擬機器的公用端點連線能力。
重要
請勿在位於 Load Balancer 後方的 Azure VM 上啟用 TCP 時間戳記。 啟用 TCP 時間戳記會導致健全狀態探查失敗。 將 net.ipv4.tcp_timestamps
參數設定為 0
。 如需詳細資訊,請參閱負載平衡器健全狀態探查。
部署 Azure 檔案儲存體帳戶和 NFS 共用
Azure 檔案儲存體上的 NFS 會在 Azure 檔案儲存體進階儲存體上執行。 在您設定 Azure 檔案儲存體上的 NFS 之前,請參閱如何建立 NFS 共用。
Azure 區域內的備援有兩個選項:
- 本地備援儲存體 (LRS),可提供本機的區域內同步資料複寫。
- 區域備援儲存體 (ZRS),可在區域中的三個可用性區域之間同步複寫您的資料。
檢查您選取的 Azure 區域是否在具有適當備援的 Azure 檔案儲存體上提供 NFS 4.1。 檢閱 [進階檔案儲存體] 底下的依 Azure 區域的 Azure 檔案儲存體可用性。 如果您的案例受益於 ZRS,請驗證 Azure 區域中是否支援與 ZRS 的進階檔案共用。
建議您透過 Azure 私人端點存取您的 Azure 儲存體帳戶。 請務必在相同的 Azure 虛擬網路或在對等互連的 Azure 虛擬網路中,部署 Azure 檔案儲存體儲存體帳戶端點和 VM (您需要在其中掛接 NFS 共用)。
部署名為
sapafsnfs
的 Azure 檔案儲存體儲存體帳戶。 在此範例中,我們使用 ZRS。 如果您不熟悉此程序,請參閱 Azure 入口網站的建立儲存體帳戶。在 [基本] 索引標籤上,使用這些設定:
- 針對 [儲存體帳戶名稱],輸入
sapafsnfs
。 - 針對 [效能],選取 [進階]。
- 針對 [進階帳戶類型],選取 [檔案儲存體]。
- 針對 [複寫],選取 [區域備援 (ZRS)]。
- 針對 [儲存體帳戶名稱],輸入
選取 [下一步]。
在 [進階] 索引標籤上,清除 [REST API 作業需要安全傳輸]。 如果您未清除此選項,就無法將 NFS 共用掛接至 VM。 掛接作業將會逾時。
選取 [下一步]。
在 [網路] 區段中,設定下列設定:
- 在 [網路連線能力] 底下,針對 [連線方法] 選取 [私人端點]。
- 在 [私人端點] 底下,選取 [新增私人端點]。
在 [建立私人端點] 窗格上,選取您的 [訂用帳戶]、[資源群組] 和 [位置]。 對於名稱,輸入
sapafsnfs_pe
。 針對 [儲存體子資源],選取 [檔案]。 在 [網路] 底下,針對 [虛擬網路] 選取要使用的虛擬網路和子網路。 您可以再次使用 SAP VM 所在的虛擬網路或對等互連的虛擬網路。 在 [私人 DNS 整合] 底下,針對 [與私人 DNS 區域整合] 接受預設選項 [是]。 請務必選取您的私人 DNS 區域。 選取 [確定]。再次在 [網路] 索引標籤上,選取 [下一步]。
在 [資料保護] 索引標籤上,保留所有預設設定。
選取 [檢閱 + 建立] 以驗證您的設定。
等待驗證完成。 在繼續之前先修正任何問題。
在 [檢閱 + 建立] 索引標籤中,選取 [建立]。
接下來,在您所建立的儲存體帳戶中部署 NFS 共用。 在此範例中,有兩個 NFS 共用:sapnw1
和 saptrans
。
- 登入 Azure 入口網站。
- 選取或搜尋儲存體帳戶。
- 在 [儲存體帳戶] 頁面上,選取 [sapafsnfs]。
- 在 [sapafsnfs] 的資源功能表上,選取 [資料儲存體] 底下的 [檔案共用]。
- 在 [檔案共用] 頁面上,選取 [檔案共用]。
- 針對 [名稱] 輸入
sapnw1
、saptrans
。 - 選取適當的共用大小。 例如,128 GB。 請考量儲存在共用上的資料大小、IOPS 和輸送量需求。 如需詳細資訊,請參閱 Azure 檔案共用目標。
- 選取 [NFS] 作為通訊協定。
- 選取 [沒有根壓縮]。 否則,當您在 VM 上掛接共用時,將看不到檔案擁有者或群組。
- 針對 [名稱] 輸入
重要
上述共用大小只是範例。 請務必適當調整共用的大小。 請根據儲存在共用上的資料大小,以及 IOPS 和輸送量的需求來調整大小。 如需詳細資訊,請參閱 Azure 檔案共用目標。
不需要透過 NFS 掛接的 SAP 檔案系統也可以部署在 Azure 磁碟儲存體上。 在此範例中,您可以在 Azure 磁碟儲存體上部署 /usr/sap/NW1/D02
和 /usr/sap/NW1/D03
。
Azure 檔案儲存體共用上 NFS 的重要考量
當您規劃使用 Azure 檔案儲存體上的 NFS 進行部署時,請考量下列重點:
- 共用大小的下限為 100 GiB。 您只需支付已佈建共用的容量費用。
- 根據容量需求以及 IOPS 和輸送量需求來調整 NFS 共用大小。 如需詳細資訊,請參閱 Azure 檔案共用目標。
- 測試工作負載以驗證您的調整大小,並確保其符合您的效能目標。 若要了解如何對 Azure 檔案儲存體上的 NFS 效能問題進行疑難排解,請參閱針對 Azure 檔案共用效能進行疑難排解。
- 針對 SAP J2EE 系統,不支援在 Azure 檔案儲存體上的 NFS 放置
/usr/sap/<SID>/J<nr>
。 - 如果您的 SAP 系統有大量批次作業負載,您可能會有數百萬個作業記錄。 如果 SAP 批次作業記錄儲存在檔案系統中,請特別注意
sapmnt
共用的大小調整。 從 SAP_BASIS 7.52 開始,批次作業記錄的預設行為是儲存在資料庫中。 如需詳細資訊,請參閱資料庫中的作業記錄。 - 為每個 SAP 系統部署個別的
sapmnt
共用。 - 請勿將
sapmnt
共用用於任何其他活動,例如介面或saptrans
。 - 請勿將
saptrans
共用用於任何其他活動,例如介面或sapmnt
。 - 避免在單一儲存體帳戶中合併太多 SAP 系統的共用。 也有儲存體帳戶效能調整目標。 也請小心不要超過儲存體帳戶的限制。
- 一般而言,請勿在單一儲存體帳戶中合併超過五個 SAP 系統的共用。 此指導方針有助於避免超過儲存體帳戶限制,並簡化效能分析。
- 一般而言,請避免在相同的儲存體帳戶中混合共用,例如非生產與生產 SAP 系統的
sapmnt
。 - 建議您在 RHEL 8.4 或更高版本上部署,以從 NFS 用戶端改善中獲益。
- 使用私人端點。 萬一發生區域性失敗時,您的 NFS 工作階段會自動重新導向至狀況良好的區域。 您不需要在 VM 上重新掛接 NFS 共用。
- 如果您要跨可用性區域部署 VM,請在支援 ZRS 的 Azure 區域中使用儲存體帳戶搭配 ZRS。
- Azure 檔案儲存體目前不支援災害復原案例的自動跨區域複寫。
設定 (A) SCS
接下來,您將準備並安裝 SAP ASCS 和 ERS 執行個體。
建立 Pacemaker 叢集
請遵循在 Azure 中於 Red Hat Enterprise Linux 上設定 Pacemaker 中的步驟,以建立此 (A)SCS 伺服器的基本 Pacemaker 叢集。
準備 SAP NetWeaver 安裝
下列項目前面會加上:
- [A]:適用於所有節點
- [1]:僅適用於節點 1
- [2]:僅適用於節點 2
[A] 設定主機名稱解析。
您可以使用 DNS 伺服器,或修改所有節點上的
/etc/hosts
檔案。 此範例說明如何使用/etc/hosts
檔案。 請取代下列命令中的 IP 位址和主機名稱:sudo vi /etc/hosts
將下列幾行插入至
/etc/hosts
。 變更 IP 位址和主機名稱以符合您的環境。# IP address of cluster node 1 10.90.90.7 sap-cl1 # IP address of cluster node 2 10.90.90.8 sap-cl2 # IP address of the load balancer frontend configuration for SAP Netweaver ASCS 10.90.90.10 sapascs # IP address of the load balancer frontend configuration for SAP Netweaver ERS 10.90.90.9 sapers
[A] 安裝 NFS 用戶端和其他需求。
sudo yum -y install nfs-utils resource-agents resource-agents-sap
[1] 在 NFS 共用上建立 SAP 目錄。
暫時掛接 NFS 共用 sapnw1 於其中一個 VM,並建立將做為巢狀掛接點使用的 SAP 目錄。# mount temporarily the volume sudo mkdir -p /saptmp sudo mount -t nfs sapnfs.file.core.windows.net:/sapnfsafs/sapnw1 /saptmp -o noresvport,vers=4,minorversion=1,sec=sys # create the SAP directories sudo cd /saptmp sudo mkdir -p sapmntNW1 sudo mkdir -p usrsapNW1ascs sudo mkdir -p usrsapNW1ers sudo mkdir -p usrsapNW1sys # unmount the volume and delete the temporary directory cd .. sudo umount /saptmp sudo rmdir /saptmp
[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/ERS01 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/ERS01
[A] 檢查
resource-agents-sap
的版本。請確定已安裝的
resource-agents-sap
套件版本不低於3.9.5-124.el7
。sudo yum info resource-agents-sap
[A] 新增掛接項目。
vi /etc/fstab # Add the following lines to fstab, save and exit sapnfs.file.core.windows.net:/sapnfsafs/saptrans /usr/sap/trans nfs noresvport,vers=4,minorversion=1,sec=sys 0 0 sapnfs.file.core.windows.net:/sapnfsafs/sapnw1/sapmntNW1 /sapmnt/NW1 nfs noresvport,vers=4,minorversion=1,sec=sys 0 0 sapnfs.file.core.windows.net:/sapnfsafs/sapnw1/usrsapNW1sys/ /usr/sap/NW1/SYS nfs noresvport,vers=4,minorversion=1,sec=sys 0 0 # Mount the file systems mount -a
[A] 設定分頁檔。
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
[A] 設定 RHEL。
依適用於 RHEL 7.x 的 SAP 附註 2002167、適用於 RHEL 8.x 的 SAP 附註 2772999 或適用於 RHEL 9.x 的 SAP 附註 3108316 中所述設定 RHEL。
Install SAP NetWeaver ASCS/ERS
[1] 設定叢集預設屬性。
# If using RHEL 7.x pcs resource defaults resource-stickiness=1 pcs resource defaults migration-threshold=3 # If using RHEL 8.x or later pcs resource defaults update resource-stickiness=1 pcs resource defaults update migration-threshold=3
[1] 為 ASCS 執行個體建立虛擬 IP 資源和健康情況探查。
sudo pcs node standby sap-cl2 sudo pcs resource create fs_NW1_ASCS Filesystem device='sapnfs.file.core.windows.net:/sapnfsafs/sapnw1/usrsapNW1ascs' \ directory='/usr/sap/NW1/ASCS00' fstype='nfs' force_unmount=safe options='noresvport,vers=4,minorversion=1,sec=sys' \ op start interval=0 timeout=60 op stop interval=0 timeout=120 op monitor interval=200 timeout=40 \ --group g-NW1_ASCS sudo pcs resource create vip_NW1_ASCS IPaddr2 \ ip=10.90.90.10 \ --group g-NW1_ASCS sudo pcs resource create nc_NW1_ASCS azure-lb port=62000 \ --group g-NW1_ASCS
請確定叢集狀態正常,且所有資源皆已啟動。 資源在哪個節點上執行並不重要。
sudo pcs status # Node sap-cl2: standby # Online: [ sap-cl1 ] # # Full list of resources: # # rsc_st_azure (stonith:fence_azure_arm): Started sap-cl1 # Resource Group: g-NW1_ASCS # fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started sap-cl1 # nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started sap-cl1 # vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started sap-cl1
[1] 安裝 SAP NetWeaver ASCS。
以 root 身分使用虛擬主機名稱 (對應至 ASCS 負載平衡器前端設定的 IP 位址,例如 sapascs 和 10.90.90.10) 以及您用於負載平衡器探查的執行個體號碼 (例如 00),在第一個節點上安裝 SAP NetWeaver ASCS。
您可以使用
sapinst
參數SAPINST_REMOTE_ACCESS_USER
來允許非 root 使用者連線至sapinst
。# Allow access to SWPM. This rule is not permanent. If you reboot the machine, you have to run the command again. sudo firewall-cmd --zone=public --add-port=4237/tcp sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin SAPINST_USE_HOSTNAME=<virtual_hostname>
如果安裝作業無法在 /usr/sap/NW1/ASCS00 中建立子資料夾,請嘗試設定 ASCS00 資料夾的擁有者和群組,然後重試。
sudo chown nw1adm /usr/sap/NW1/ASCS00 sudo chgrp sapsys /usr/sap/NW1/ASCS00
[1] 為 ERS 執行個體建立虛擬 IP 資源和健全狀態探查。
sudo pcs node unstandby sap-cl2 sudo pcs node standby sap-cl1 sudo pcs resource create fs_NW1_AERS Filesystem device='sapnfs.file.core.windows.net:/sapnfsafs/sapnw1/usrsapNW1ers' \ directory='/usr/sap/NW1/ERS01' fstype='nfs' force_unmount=safe options='noresvport,vers=4,minorversion=1,sec=sys' \ op start interval=0 timeout=60 op stop interval=0 timeout=120 op monitor interval=200 timeout=40 \ --group g-NW1_AERS sudo pcs resource create vip_NW1_AERS IPaddr2 \ ip=10.90.90.9 \ --group g-NW1_AERS sudo pcs resource create nc_NW1_AERS azure-lb port=62101 \ --group g-NW1_AERS
請確定叢集狀態正常,且所有資源皆已啟動。 資源在哪個節點上執行並不重要。
sudo pcs status # Node sap-cl1: standby # Online: [ sap-cl2 ] # # Full list of resources: # # rsc_st_azure (stonith:fence_azure_arm): Started sap-cl2 # Resource Group: g-NW1_ASCS # fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started sap-cl2 # nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started sap-cl2 # vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started sap-cl2 # Resource Group: g-NW1_AERS # fs_NW1_AERS (ocf::heartbeat:Filesystem): Started sap-cl2 # nc_NW1_AERS (ocf::heartbeat:azure-lb): Started sap-cl2 # vip_NW1_AERS (ocf::heartbeat:IPaddr2): Started sap-cl2
[2] 安裝 SAP NetWeaver ERS。
以 root 身分使用虛擬主機名稱 (對應至 ERS 負載平衡器前端設定的 IP 位址,例如 sapers 和 10.90.90.9),以及您用於負載平衡器探查的執行個體號碼 (例如 01),在第二個節點上安裝 SAP NetWeaver ERS。
您可以使用
sapinst
參數SAPINST_REMOTE_ACCESS_USER
來允許非 root 使用者連線至sapinst
。# Allow access to SWPM. This rule is not permanent. If you reboot the machine, you have to run the command again. sudo firewall-cmd --zone=public --add-port=4237/tcp sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin SAPINST_USE_HOSTNAME=<virtual_hostname>
如果安裝無法在 /usr/sap/NW1/ERS01 中建立子資料夾,請嘗試設定 ERS01 資料夾的擁有者和群組,並進行重試。
sudo chown qaadm /usr/sap/NW1/ERS01 sudo chgrp sapsys /usr/sap/NW1/ERS01
[1] 調整 ASCS/SCS 和 ERS 執行個體設定檔。
ASCS/SCS 設定檔:
sudo vi /sapmnt/NW1/profile/NW1_ASCS00_sapascs # Change the restart command to a start command #Restart_Program_01 = local $(_EN) pf=$(_PF) Start_Program_01 = local $(_EN) pf=$(_PF) # Add the keep alive parameter, if using ENSA1 enque/encni/set_so_keepalive = TRUE
針對 ENSA1 和 ENSA2,請確定已如 SAP 附註 1410736 中所述設定
keepalive
OS 參數。ERS 設定檔:
sudo vi /sapmnt/NW1/profile/NW1_ERS01_sapers # 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) # remove Autostart from ERS profile # Autostart = 1
[A] 設定保持運作。
SAP NetWeaver 應用程式伺服器和 ASCS/SCS 之間的通訊是透過軟體負載平衡器來路由傳送。 在逾時時間 (可設定) 過後,負載平衡器就會將非作用中的連線中斷。 為了防止出現此動作,請在 SAP NetWeaver ASCS/SCS 設定檔中設定參數 (如果您使用 ENSA1)。 針對 ENSA1 和 ENSA2,同時變更所有 SAP 伺服器上的 Linux 系統
keepalive
設定。 如需詳細資訊,請參閱 SAP 附註 1410736。# Change the Linux system configuration sudo sysctl net.ipv4.tcp_keepalive_time=300
[A] 更新
/usr/sap/sapservices
檔案。若要避免
sapinit
啟動指令碼啟動執行個體,Pacemaker 所管理的所有執行個體都必須從/usr/sap/sapservices
檔案註解化。sudo vi /usr/sap/sapservices # Depending on whether the SAP Startup framework is integrated with systemd, you will observe one of the two entries on the ASCS node. You should comment out the line(s). # LD_LIBRARY_PATH=/usr/sap/NW1/ASCS00/exe:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; /usr/sap/NW1/ASCS00/exe/sapstartsrv pf=/usr/sap/NW1/SYS/profile/NW1_ASCS00_sapascs -D -u nw1adm # systemctl --no-ask-password start SAPNW1_00 # sapstartsrv pf=/usr/sap/NW1/SYS/profile/NW1_ASCS00_sapascs # Depending on whether the SAP Startup framework is integrated with systemd, you will observe one of the two entries on the ERS node. You should comment out the line(s). # LD_LIBRARY_PATH=/usr/sap/NW1/ERS01/exe:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; /usr/sap/NW1/ERS01/exe/sapstartsrv pf=/usr/sap/NW1/ERS01/profile/NW1_ERS01_sapers -D -u nw1adm # systemctl --no-ask-password start SAPNW1_00 # sapstartsrv pf=/usr/sap/NW1/SYS/profile/NW1_ERS01_sapers
重要
透過 systemd 型 SAP 啟動架構,SAP 執行個體現在可由 systemd 管理。 SAP 所需的最低 Red Hat Enterprise Linux (RHEL) 版本為 RHEL 8。 如 SAP 附註 3115048 所述,全新安裝支援整合式 systemd 型 SAP 啟動架構的 SAP 核心時,一律會產生 systemd 控制的 SAP 執行個體。 然而,將現有 SAP 安裝的 SAP 核心升級至支援 systemd 型 SAP 啟動架構的核心後,必須執行一些手動步驟 (如 SAP 附註 3115048 所述),以將現有的 SAP 啟動環境轉換成由 systemd 控制的環境。
使用適用於 SAP 的 Red Hat HA 服務 (叢集設定) 來管理 SAP 應用程式伺服器執行個體 (例如 SAP ASCS 和 SAP ERS) 時,必須進行額外的修改,以確保 SAPInstance 資源代理程式與新的 systemd 型 SAP 啟動架構之間的相容性。 因此,一旦根據 SAP 附註 3115048 將 SAP 應用程式伺服器安裝或切換至已啟用 systemd 的 SAP 核心,就必須在所有叢集節點上順利完成 Red Hat KBA 6884531 中所述的步驟。
[1] 建立 SAP 叢集資源。
根據您執行的是 ENSA1 還是 ENSA2 系統,選取各自的索引標籤以定義資源。 SAP 在 SAP NetWeaver 7.52 中引進了 ENSA2 的支援,包括複寫。 從 ABAP 平台 1809 開始,預設會安裝 ENSA2。 針對 ENSA2 支援, 請參閱 SAP 附註 2630416 以了解加入佇列伺服器 2 的支援。
如果您使用加入佇列伺服器 2 結構 (ENSA2),請依照下列方式安裝資源代理程式 resource-agents-sap-4.1.1-12.el7.x86_64 或更新版本,並定義資源:
sudo pcs property set maintenance-mode=true sudo pcs resource create rsc_sap_NW1_ASCS00 SAPInstance \ InstanceName=NW1_ASCS00_sapascs START_PROFILE="/sapmnt/NW1/profile/NW1_ASCS00_sapascs" \ AUTOMATIC_RECOVER=false \ meta resource-stickiness=5000 migration-threshold=1 failure-timeout=60 \ op monitor interval=20 on-fail=restart timeout=60 \ op start interval=0 timeout=600 op stop interval=0 timeout=600 \ --group g-NW1_ASCS sudo pcs resource meta g-NW1_ASCS resource-stickiness=3000 sudo pcs resource create rsc_sap_NW1_ERS01 SAPInstance \ InstanceName=NW1_ERS01_sapers START_PROFILE="/sapmnt/NW1/profile/NW1_ERS01_sapers" \ AUTOMATIC_RECOVER=false IS_ERS=true \ op monitor interval=20 on-fail=restart timeout=60 op start interval=0 timeout=600 op stop interval=0 timeout=600 \ --group g-NW1_AERS sudo pcs constraint colocation add g-NW1_AERS with g-NW1_ASCS -5000 sudo pcs constraint location rsc_sap_NW1_ASCS00 rule score=2000 runs_ers_NW1 eq 1 sudo pcs constraint order start g-NW1_ASCS then stop g-NW1_AERS kind=Optional symmetrical=false sudo pcs node unstandby sap-cl1 sudo pcs property set maintenance-mode=false
若正在從舊版本升級並切換到加入佇列伺服器 2,請參閱 SAP 附註 2641322。
注意
上述設定中的逾時只是範例,可能需要針對特定的 SAP 安裝來調整。
請確定叢集狀態正常,且所有資源皆已啟動。 資源在哪個節點上執行並不重要。
sudo pcs status # Online: [ sap-cl1 sap-cl2 ] # # Full list of resources: # # rsc_st_azure (stonith:fence_azure_arm): Started sap-cl2 # Resource Group: g-NW1_ASCS # fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started sap-cl2 # nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started sap-cl2 # vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started sap-cl2 # rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started sap-cl2 # Resource Group: g-NW1_AERS # fs_NW1_AERS (ocf::heartbeat:Filesystem): Started sap-cl1 # nc_NW1_AERS (ocf::heartbeat:azure-lb): Started sap-cl1 # vip_NW1_AERS (ocf::heartbeat:IPaddr2): Started sap-cl1 # rsc_sap_NW1_ERS01 (ocf::heartbeat:SAPInstance): Started sap-cl1
[1] 執行下列步驟來設定
priority-fencing-delay
(僅適用於 pacemaker-2.0.4-6.el8 或更高版本)。注意
如果您有兩個節點的叢集,您可以設定
priority-fencing-delay
叢集屬性。 若發生腦裂 (split-brain) 情況,此屬性會在隔離總資源優先順序較高的節點時出現額外的延遲。 如需詳細資訊,請參閱 Pacemaker 是否可以使用最少的執行資源來隔離叢集節點?。屬性
priority-fencing-delay
適用於 pacemaker-2.0.4-6.el8 版本或更新版本。 如果要在現有叢集上設定priority-fencing-delay
,請務必在隔離裝置中清除pcmk_delay_max
設定。sudo pcs resource defaults update priority=1 sudo pcs resource update rsc_sap_NW1_ASCS00 meta priority=10 sudo pcs property set priority-fencing-delay=15s
[A] 在兩個節點上為 ASCS 和 ERS 新增防火牆規則。
# Probe Port of ASCS sudo firewall-cmd --zone=public --add-port={62000,3200,3600,3900,8100,50013,50014,50016}/tcp --permanent sudo firewall-cmd --zone=public --add-port={62000,3200,3600,3900,8100,50013,50014,50016}/tcp # Probe Port of ERS sudo firewall-cmd --zone=public --add-port={62101,3201,3301,50113,50114,50116}/tcp --permanent sudo firewall-cmd --zone=public --add-port={62101,3201,3301,50113,50114,50116}/tcp
SAP NetWeaver 應用程式伺服器準備
某些資料庫需要在應用程式伺服器上執行資料庫執行個體安裝。 準備應用程式伺服器 VM,以便在這些情況下使用。
以下步驟假設您將應用程式伺服器安裝在與 ASCS/SCS 和 HANA 伺服器不同的伺服器上。 否則,您就不必進行某些步驟 (例如設定主機名稱解析)。
下列項目前面會加上:
- [A]:同時適用於 PAS 和 AAS
- [P]:僅適用於 PAS
- [S]:僅適用於 AAS
[A] 設定主機名稱解析。 您可以使用 DNS 伺服器,或修改所有節點上的
/etc/hosts
檔案。 此範例說明如何使用/etc/hosts
檔案。 請取代下列命令中的 IP 位址和主機名稱:sudo vi /etc/hosts
將下列幾行插入至
/etc/hosts
。 變更 IP 位址和主機名稱以符合您的環境。10.90.90.7 sap-cl1 10.90.90.8 sap-cl2 # IP address of the load balancer frontend configuration for SAP Netweaver ASCS 10.90.90.10 sapascs # IP address of the load balancer frontend configuration for SAP Netweaver ERS 10.90.90.9 sapers 10.90.90.12 sapa01 10.90.90.13 sapa02
[A] 建立
sapmnt
目錄。sudo mkdir -p /sapmnt/NW1 sudo mkdir -p /usr/sap/trans sudo chattr +i /sapmnt/NW1 sudo chattr +i /usr/sap/trans
[A] 安裝 NFS 用戶端和其他需求。
sudo yum -y install nfs-utils uuidd
[A] 新增掛接項目。
vi /etc/fstab # Add the following lines to fstab, save and exit sapnfs.file.core.windows.net:/sapnfsafs/saptrans /usr/sap/trans nfs noresvport,vers=4,minorversion=1,sec=sys 0 0 sapnfs.file.core.windows.net:/sapnfsafs/sapnw1/sapmntNW1 /sapmnt/NW1 nfs noresvport,vers=4,minorversion=1,sec=sys 0 0 # Mount the file systems mount -a
[A] 設定分頁檔。
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 的詳細資訊,請參閱 Red Hat Enterprise Linux 中 Azure VM 上的 SAP HANA 高可用性。 如需所支援資料庫的清單,請參閱 SAP Note 1928533。
以 root 身分使用虛擬主機名稱 (對應至資料庫負載平衡器前端設定的 IP 位址) 來安裝 SAP NetWeaver 資料庫執行個體。
您可以使用 sapinst
參數 SAPINST_REMOTE_ACCESS_USER
來允許非 root 使用者連線至 sapinst
。
# Allow access to SWPM. This rule is not permanent. If you reboot the machine, you have to run the command again.
sudo firewall-cmd --zone=public --add-port=4237/tcp
sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin
SAP NetWeaver 應用程式伺服器安裝
請遵循下列步驟來安裝 SAP 應用程式伺服器。
[A] 準備應用程式伺服器。
請遵循上一章節中的 SAP NetWeaver 應用程式伺服器準備步驟,準備應用程式伺服器。
[A] 安裝 SAP NetWeaver 應用程式伺服器。
安裝主要或其他的 SAP NetWeaver 應用程式伺服器。
您可以使用
sapinst
參數SAPINST_REMOTE_ACCESS_USER
來允許非 root 使用者連線至sapinst
。sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin
[A] 更新 SAP Hana 安全存放區。
將 SAP HANA 安全存放區更新為指向 SAP HANA 系統複寫設定的虛擬名稱。
執行下列命令來列出項目,如同
<sapsid>adm
。hdbuserstore List
所有項目都應列出,且應與以下類似:
DATA FILE : /home/nw1adm/.hdb/sapa01/SSFS_HDB.DAT KEY FILE : /home/nw1adm/.hdb/sapa01/SSFS_HDB.KEY KEY DEFAULT ENV : 10.90.90.5:30313 USER: SAPABAP1 DATABASE: NW1
在此範例中,預設進入點的 IP 位址會指向 VM,而不是負載平衡器。 變更進入點以指向負載平衡器的虛擬機器主機名稱。 請務必使用相同的連接埠和資料庫名稱。 例如,使用範例輸出中的
30313
和NW1
。su - nw1adm hdbuserstore SET DEFAULT nw1db:30313@NW1 SAPABAP1 <password of ABAP schema>
測試叢集設定
徹底測試 Pacemaker 叢集。 如需詳細資訊,請參閱執行一般容錯移轉測試。
下一步
- 若要部署成本最佳化案例 (其中 PAS 和 AAS 執行個體是使用 RHEL 上的 SAP NetWeaver HA 叢集進行部署),請參閱使用 RHEL 上的 SAP ASCS/SCS 高可用性 VM 安裝 SAP 對話方塊執行個體。
- 請參閱適用於具備多個 SID SAP 應用程式 RHEL 上 Azure VM 中 SAP NW HA 的指南。
- 請參閱適用於 SAP 的 Azure 虛擬機器規劃和實作。
- 請參閱適用於 SAP 的 Azure 虛擬機器部署。
- 請參閱適用於 SAP 的 Azure 虛擬機器 DBMS 部署。
- 若要了解如何建立 HA 並為 Azure 上的 SAP HANA 規劃災害復原,請參閱 Azure 上的 SAP HANA (大型執行個體) 高可用性和災害復原。
- 若要了解如何建立 HA,並為 Azure VM 上的 SAP HANA 規劃災害復原,請參閱 Azure 虛擬機器上 SAP HANA 的高可用性。