SAP 應用程式 VM 的 SLES 上具有簡單掛接和 NFS 的高可用性 SAP NetWeaver
本文說明如何部署及設定 Azure 虛擬機(VM)、安裝叢集架構,以及安裝具有簡單掛接結構的高可用性 (HA) SAP NetWeaver 系統。 您可以使用下列其中一個 Azure 原生網路檔案系統 (NFS) 服務來實作呈現的架構:
- Azure 檔案儲存體 上的 NFS。
- Azure NetApp Files。
簡單掛接組態必須是 SLES for SAP Applications 15 上新實作的預設值。
必要條件
下列指南包含設定 NetWeaver HA 系統所需的所有資訊:
- SAP S/4 HANA - 具有簡單掛接的加入佇列復寫 2 高可用性叢集
- 無法使用適用於 ABAP SAP 中央服務 (ASCS)/ERS HA 設定的檔案系統資源
- SAP 附注 1928533,其具有:
- 部署 SAP 軟體所支援的 Azure VM 大小清單
- Azure VM 大小的重要容量資訊
- 支援的 SAP 軟體、作業系統和組合
- Microsoft Azure 上 Windows 和 Linux 的必要 SAP 核心版本
- SAP 附注 2015553,其中列出 Azure 中 SAP 支援 SAP 軟體部署的必要條件。
- SAP 附注 2205917,其具有適用於 SAP 應用程式的 SUSE Linux Enterprise Server (SLES) 的建議 OS 設定
- SAP 附注 2178632,其中包含 Azure 中針對 SAP 回報的所有監視計量詳細資訊
- SAP 附注 2191498,其具有 Azure 中 Linux 的必要 SAP 主機代理程式版本
- SAP 附注 2243692,其中包含 Azure 中 Linux 上的 SAP 授權相關信息
- SAP 附注 2578899,其中包含 SUSE Linux Enterprise Server 15 的一般資訊
- SAP 附注 1275776,其中包含準備 SUSE Linux Enterprise Server for SAP 環境的相關信息
- SAP 附注 1999351,其中包含適用於 SAP 的 Azure Enhanced Monitoring Extension 的其他疑難解答資訊
- SAP 社群 Wiki,其中包含適用於 Linux 的所有必要 SAP 附注
- 適用於Linux上SAP的 Azure 虛擬機器 規劃和實作
- 適用於Linux上SAP的 Azure 虛擬機器 部署
- 適用於Linux上SZAP的 Azure 虛擬機器 DBMS 部署
- SUSE SAP HA 最佳做法指南
- SUSE 高可用性擴充功能版本資訊
- Azure 檔案儲存體文件
- NetApp NFS 最佳做法
概觀
本文說明具有簡單掛接結構的 ASCS 高可用性設定。 若要部署 SAP 應用層,您需要具有高可用性的共享目錄,例如 /sapmnt/SID
、 /usr/sap/SID
和 /usr/sap/trans
。 您可以在 Azure 檔案儲存體 或Azure NetApp Files 上的 NFS 上部署這些文件系統。
您仍然需要 Pacemaker 叢集來協助保護單一失敗點元件,例如 SAP 中央服務 (SCS) 和 ASCS。
相較於傳統 Pacemaker 叢集組態,使用簡單的掛接部署,叢集不會管理文件系統。 只有 SLES for SAP Applications 15 和更新版本才支援此設定。 本文未詳細說明資料庫層。
範例組態和安裝命令會使用下列實例編號。
執行個體名稱 | 實例編號 |
---|---|
ASCS | 00 |
加入佇列復寫伺服器 (ERS) | 01 |
主要應用程式伺服器 (PAS) | 02 |
其他應用程式伺服器 (AAS) | 03 |
SAP 系統識別碼 | NW1 |
重要
只有 SLES for SAP Applications 15 和更新版本才支援具有簡單掛接結構的設定。
此圖顯示具有簡單掛接的典型 SAP NetWeaver HA 架構。 “sapmnt” 和 “saptrans” 檔案系統部署在 Azure 原生 NFS 上:Azure NetApp Files 上 Azure 檔案儲存體 或 NFS 磁盘區的 NFS 共用。 Pacemaker 叢集可保護 SAP 中央服務。 叢集 VM 位於 Azure 負載平衡器後方。 Pacemaker 叢集不會管理文件系統,與傳統 Pacemaker 設定相反。
準備基礎結構
SAP 實例的資源代理程式包含在 SUSE Linux Enterprise Server for SAP Applications 中。 Azure Marketplace 提供適用於 SAP 應用程式 12 或 15 的 SUSE Linux Enterprise Server 映射。 您可以使用映像來部署新的 VM。
透過 Azure 入口網站 手動部署Linux VM
本檔假設您已部署資源群組、Azure 虛擬網絡 和子網。
使用 SLES for SAP Applications 映像部署虛擬機。 選擇 SAP 系統支援的適當 SLES 映像版本。 您可以在任一可用性選項中部署 VM - 虛擬機擴展集、可用性區域或可用性設定組。
設定 Azure 負載平衡器
在 VM 設定期間,您可以選擇在網路區段中建立或選取結束的負載平衡器。 請遵循下列步驟來設定標準負載平衡器,以設定SAP ASCS和SCS的高可用性設定。
請遵循建立負載平衡器指南,使用 Azure 入口網站 為高可用性 SAP 系統設定標準負載平衡器。 在設定負載平衡器期間,請考慮下列幾點。
- 前端IP組態: 建立兩個前端IP,一個用於ASCS,另一個用於ERS。 選取與您 ASCS/ERS 虛擬機相同的虛擬網路和子網。
- 後端集區: 建立後端集區,並新增 ASCS 和 ERS VM。
- 輸入規則: 建立兩個負載平衡規則,一個用於 ASCS,另一個用於 ERS。 針對這兩個負載平衡規則,請遵循相同的步驟。
- 前端IP位址:選取前端IP
- 後端集區:選取後端集區
- 檢查「高可用性埠」
- 通訊協定:TCP
- 健康情況探查:使用下列詳細數據建立健康情況探查(適用於 ASCS 或 ERS)
- 通訊協定:TCP
- 埠:[例如:620<實例否。> 適用於 ASCS,621<實例否。> ERS]
- 間隔:5
- 探查臨界值:2
- 閑置逾時(分鐘):30
- 檢查 [啟用浮動 IP]
注意
健康情況探查組態屬性 numberOfProbes,否則在入口網站中稱為「狀況不良閾值」,則不會受到尊重。 因此,若要控制連續探查成功或失敗的數目,請將屬性 “probeThreshold” 設定為 2。 目前無法使用 Azure 入口網站 來設定此屬性,因此請使用 Azure CLI 或 PowerShell 命令。
重要
負載平衡案例中的網路適配器 (NIC) 次要IP組態不支援浮動IP位址。 如需詳細資訊,請參閱 Azure Load Balancer 限制。 如果您需要 VM 的另一個 IP 位址,請部署第二個 NIC。
注意
當沒有公用IP位址的VM放在內部(無公用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 – 我需要更新嗎?。
部署 NFS
有兩個選項可用來部署 Azure 原生 NFS 來裝載 SAP 共用目錄。 您可以在 Azure 檔案儲存體 上部署 NFS 檔案共享,或在 Azure NetApp Files 上部署 NFS 磁碟區。 Azure 檔案儲存體 上的 NFS 支援 NFSv4.1 通訊協定。 Azure NetApp Files 上的 NFS 同時支援 NFSv4.1 和 NFSv3。
下一節說明部署 NFS 的步驟。 只 選取其中一個選項 。
部署 Azure 檔案儲存體 記憶體帳戶和 NFS 共用
Azure 檔案儲存體 上的 NFS 會在 Azure 檔案儲存體 進階記憶體上執行。 在 Azure 檔案儲存體 上設定 NFS 之前,請參閱如何建立 NFS 共用。
Azure 區域內有兩個選項可供備援:
- 本地備援記憶體 (LRS) 提供本機區域同步數據複寫。
- 區域備援記憶體 (ZRS) 會將您的資料同步復寫到區域中的三 個可用性區域 。
檢查您選取的 Azure 區域是否在具有適當備援的 Azure 檔案儲存體 上提供 NFSv4.1。 檢閱 Azure 區域進階版 檔案 儲存體 Azure 檔案儲存體 的可用性。 如果您的案例受益於 ZRS, 請確認 Azure 區域中支援與 ZRS 的進階檔案共用。
建議您透過 Azure 私人端點存取 Azure 記憶體帳戶。 請務必部署 Azure 檔案儲存體 記憶體帳戶端點,以及您需要掛接 NFS 共用的 VM、在相同的 Azure 虛擬網路或對等互連 Azure 虛擬網路中。
- 部署名為 sapnfsafs 的 Azure 檔案儲存體 記憶體帳戶。 此範例使用 ZRS。 如果您不熟悉此程式,請參閱建立 Azure 入口網站的記憶體帳戶。
- 在 [ 基本] 索引 標籤上,使用這些設定:
- 針對 儲存體 帳戶名稱,輸入 sapnfsafs。
- 針對 [效能],選取 [進階版]。
- 針對 [進階版 帳戶類型],選取 [檔案 儲存體]。
- 針對 [復寫],選取 [區域備援][ZRS]。
- 選取 [下一步]。
- 在 [ 進階] 索引標籤上,清除 [需要 REST API 的安全傳輸]。 如果您未清除此選項,就無法將 NFS 共用掛接至 VM。 掛接作業將會逾時。
- 選取 [下一步]。
- 在 [ 網络] 區 段中,設定下列設定:
- 在 [網络連線能力] 下,針對 [連線 ivity 方法],選取 [私人端點]。
- 在 [私人端點] 底下,選取 [新增私人端點]。
- 在 [ 建立私人端點] 窗格中,選取您的訂用帳戶、資源群組和位置。 然後進行下列選擇:
- 針對 [ 名稱],輸入 sapnfsafs_pe。
- 針對 儲存體 子資源,選取 [檔案]。
- 在 [網络] 底下,針對 [虛擬網络],選取要使用的虛擬網络和子網。 同樣地,您可以使用 SAP VM 所在的虛擬網路或對等互連虛擬網路。
- 在 [私用 DNS 整合] 下,接受 [是] 的默認選項,以便與私人 DNS 區域整合。 請務必選取您的私人 DNS 區域。
- 選取 [確定]。
- 再次在 [ 網络] 索引 標籤上,選取 [ 下一步]。
- 在 [ 數據保護] 索引標籤上,保留所有預設設定。
- 選取 [ 檢閱 + 建立 ] 來驗證您的設定。
- 等候驗證完成。 在繼續之前修正任何問題。
- 在 [檢閱 + 建立] 索引標籤中,選取 [建立]。
接下來,在您所建立的記憶體帳戶中部署 NFS 共用。 在這裡範例中,有兩個 NFS 共用和 sapnw1
saptrans
。
- 登入 Azure 入口網站。
- 選取或搜尋 儲存體 帳戶。
- 在 [儲存體 帳戶] 頁面上,選取 sapnfsafs。
- 在 sapnfsafs 的資源功能表上,選取 [數據記憶體] 底下的 [檔案分享]。
- 在 [ 檔案共享] 頁面上,選取 [ 檔案分享],然後:
- 針對 [ 名稱],輸入 sapnw1、 saptrans。
- 選取適當的共用大小。 請考慮儲存在共用、每秒 I/O (IOPS) 和輸送量需求上的資料大小。 如需詳細資訊,請參閱 Azure 檔案共享目標。
- 選取 [NFS ] 作為通訊協定。
- 選取 [無根壁球]。 否則,當您在 VM 上掛接共用時,看不到檔案擁有者或群組。
不需要透過 NFS 掛接的 SAP 檔案系統也可以部署在 Azure 磁碟記憶體上。 在這裡範例中,您可以在 Azure 磁碟記憶體上部署 /usr/sap/NW1/D02
和 /usr/sap/NW1/D03
。
Azure 檔案儲存體 共用上的NFS重要考慮
當您在 Azure 檔案儲存體 上使用 NFS 規劃部署時,請考慮下列重點:
- 最小共用大小為 100 gibibytes (GiB)。 您只需支付 已布建共用的容量。
- 根據您的容量需求,以及 IOPS 和輸送量需求,調整 NFS 共用的大小。 如需詳細資訊,請參閱 Azure 檔案共享目標。
- 測試工作負載以驗證您的重設大小,並確保它符合您的效能目標。 若要瞭解如何針對 Azure 檔案儲存體 上的 NFS 效能問題進行疑難解答,請參閱針對 Azure 檔案共用效能進行疑難解答。
- 針對 SAP J2EE 系統,不支援將 NFS 放在
/usr/sap/<SID>/J<nr>
Azure 檔案儲存體。 - 如果您的 SAP 系統有大量批次作業負載,您可能會有數百萬個作業記錄。 如果 SAP 批次作業記錄儲存在檔案系統中,請特別注意共用的大小
sapmnt
調整。 自 SAP_BASIS 7.52 起,批次作業記錄的預設行為會儲存在資料庫中。 如需詳細資訊,請參閱 資料庫中的作業記錄。 - 為每個 SAP 系統部署個別
sapmnt
的共用。 - 請勿將
sapmnt
共用用於任何其他活動,例如介面。 - 請勿將
saptrans
共用用於任何其他活動,例如介面。 - 避免在單一記憶體帳戶中合併太多 SAP 系統的共用。 記憶體帳戶也有延展性和效能目標。 請小心不要超過記憶體帳戶的限制。
- 一般而言,請勿在單一記憶體帳戶中合併超過 五 個 SAP 系統的共用。 此指導方針可協助您避免超過記憶體帳戶限制並簡化效能分析。
- 一般而言,請避免在相同的記憶體帳戶中混合共用,例如
sapmnt
非生產與生產 SAP 系統。 - 建議您在 SLES 15 SP2 或更新版本上部署,以受益於 NFS 用戶端改善。
- 使用私人端點。 在不太可能發生區域性失敗的情況下,您的 NFS 工作階段會自動重新導向至狀況良好的區域。 您不需要在 VM 上重新掛接 NFS 共用。
- 如果您要跨可用性區域部署 VM,請在支援 ZRS 的 Azure 區域中搭配 ZRS 使用記憶體帳戶。
- Azure 檔案儲存體 目前不支援災害復原案例的自動跨區域複寫。
部署 Azure NetApp Files 資源
檢查您選擇的 Azure 區域中是否提供 Azure NetApp Files 服務。
在選取的 Azure 區域中建立 NetApp 帳戶。 請遵循這些指示。
設定 Azure NetApp Files 容量集區。 請遵循這些指示。
本文中提供的 SAP NetWeaver 架構會使用單一 Azure NetApp Files 容量集區,進階版 SKU。 我們建議在 Azure 上針對 SAP NetWeaver 應用程式工作負載使用 Azure NetApp Files 進階版 SKU。
如這些指示所述,將子網委派給 Azure NetApp Files。
依照 這些指示部署 Azure NetApp Files 磁碟區。 在指定的 Azure NetApp Files 子網中部署磁碟區。 Azure NetApp 磁碟區的IP位址會自動指派。
請記住,Azure NetApp Files 資源和 Azure VM 必須位於相同的 Azure 虛擬網路或對等互連的 Azure 虛擬網路中。 此範例使用兩個 Azure NetApp Files 磁碟區:
sapnw1
和trans
。 掛接至對應裝入點的檔案路徑如下:- 音量
sapnw1
(nfs://10.27.1.5/sapnw1/sapmntNW1
) - 音量
sapnw1
(nfs://10.27.1.5/sapnw1/usrsapNW1
) - 音量
trans
(nfs://10.27.1.5/trans
)
- 音量
不需要共用的 SAP 檔案系統也可以部署在 Azure 磁碟記憶體上。 例如, /usr/sap/NW1/D02
和 /usr/sap/NW1/D03
可以部署為 Azure 磁碟記憶體。
Azure NetApp Files 上的 NFS 重要考慮
當您考慮使用適用於 SAP NetWeaver 高可用性架構的 Azure NetApp Files 時,請注意下列重要考慮:
- 最小容量集區為 4 個字節(TiB)。 您可以增加 1 TiB 增量的容量集區大小。
- 最小磁碟區為100 GiB。
- Azure NetApp Files 和將掛接 Azure NetApp Files 磁碟區的所有虛擬機都必須位於相同的 Azure 虛擬網路或 相同區域中的對等互連虛擬網路 中。 支援透過相同區域中虛擬網路對等互連的 Azure NetApp Files 存取。 尚不支援透過全域對等互連存取 Azure NetApp Files。
- 選取的虛擬網路必須具有委派給 Azure NetApp Files 的子網。
- Azure NetApp Files 磁碟區的輸送量和效能特性是磁碟區配額和服務等級的功能,如 Azure NetApp Files 的服務等級中所述。 當您調整 SAP 的 Azure NetApp Files 磁碟區大小時,請確定產生的輸送量符合應用程式的需求。
- Azure NetApp Files 提供 導出原則。 您可以控制允許的用戶端和存取類型(例如讀取/寫入或唯讀)。
- Azure NetApp Files 尚無法感知區域。 目前,Azure NetApp Files 不會部署在 Azure 區域的所有可用性區域中。 請注意部分 Azure 區域中的潛在延遲影響。
- Azure NetApp Files 磁碟區可以部署為 NFSv3 或 NFSv4.1 磁碟區。 SAP 應用層支援這兩種通訊協定(ASCS/ERS、SAP 應用程式伺服器)。
設定 ASCS
接下來,您將準備並安裝 SAP ASCS 和 ERS 實例。
建立 Pacemaker 叢集
請遵循在 Azure 中的 SUSE Linux Enterprise Server 上設定 Pacemaker 中的步驟,為 SAP ASCS 建立基本的 Pacemaker 叢集。
準備安裝
下列專案前面會加上:
- [A]:適用於所有節點。
- [1]:僅適用於節點 1。
- [2]:僅適用於節點 2。
[A] 安裝最新版本的 SUSE 連接器。
sudo zypper install sap-suse-cluster-connector
[A] 安裝
sapstartsrv
資源代理程式。sudo zypper install sapstartsrv-resource-agents
[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 下載頁面上所列的修補程式。重要
您必須從 2021 年 11 月安裝至少
sapstartsrv-resource-agents
0.91 版和resource-agents
4.x 版。[A] 設定主機名解析。
您可以在所有節點上使用 DNS 伺服器或修改
/etc/hosts
。 此範例示範如何使用/etc/hosts
檔案。sudo vi /etc/hosts
將下列幾行插入 。
/etc/hosts
變更IP位址和主機名以符合您的環境。# IP address of cluster node 1 10.27.0.6 sap-cl1 # IP address of cluster node 2 10.27.0.7 sap-cl2 # IP address of the load balancer's front-end configuration for SAP NetWeaver ASCS 10.27.0.9 sapascs # IP address of the load balancer's front-end configuration for SAP NetWeaver ERS 10.27.0.10 sapers
[A] 設定 SWAP 檔案。
sudo vi /etc/waagent.conf # Check if the ResourceDisk.Format property is already set to y, and if not, set it. ResourceDisk.Format=y # Set the ResourceDisk.EnableSwap property to y. # Create and use the SWAP file on the resource disk. ResourceDisk.EnableSwap=y # Set the size of the SWAP file with the ResourceDisk.SwapSizeMB property. # The free space of resource disk varies by virtual machine size. Don't set a value that's too big. You can check the SWAP space by using the swapon command. ResourceDisk.SwapSizeMB=2000
重新啟動代理程式以啟用變更。
sudo service waagent restart
如果您在 Azure 檔案儲存體 上使用 NFS,請準備 SAP 目錄
[1] 在 NFS 共用上建立 SAP 目錄。
暫時將 NFS 共用
sapnw1
掛接至其中一個 VM,並建立將做為巢狀裝入點的 SAP 目錄。# Temporarily mount the volume. sudo mkdir -p /saptmp sudo mount -t nfs sapnfsafs.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 usrsapNW1 # 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/NW1 sudo mkdir -p /usr/sap/trans sudo chattr +i /sapmnt/NW1 sudo chattr +i /usr/sap/NW1 sudo chattr +i /usr/sap/trans
[A] 掛接文件系統。
透過簡單的掛接設定,Pacemaker 叢集不會控制文件系統。
echo "sapnfsafs.file.core.windows.net:/sapnfsafs/sapnw1/sapmntNW1 /sapmnt/NW1 nfs noresvport,vers=4,minorversion=1,sec=sys 0 0" >> /etc/fstab echo "sapnfsafs.file.core.windows.net:/sapnfsafs/sapnw1/usrsapNW1/ /usr/sap/NW1 nfs noresvport,vers=4,minorversion=1,sec=sys 0 0" >> /etc/fstab echo "sapnfsafs.file.core.windows.net:/sapnfsafs/saptrans /usr/sap/trans nfs noresvport,vers=4,minorversion=1,sec=sys 0 0" >> /etc/fstab # Mount the file systems. mount -a
如果您在 Azure NetApp Files 上使用 NFS,請準備 SAP 目錄
本節中的指示僅適用於您搭配 NFSv4.1 通訊協定使用 Azure NetApp Files 磁碟區時。 在將掛接 Azure NetApp Files NFSv4.1 磁碟區的所有 VM 上執行設定。
[A] 停用標識碼對應。
確認 NFS 網域設定。 請確定網域已設定為預設的 Azure NetApp Files 網域。
defaultv4iddomain.com
也請確認對應已設定為nobody
。sudo cat /etc/idmapd.conf # Examplepython-azure-mgmt-compute [General] Verbosity = 0 Pipefs-Directory = /var/lib/nfs/rpc_pipefs Domain = defaultv4iddomain.com [Mapping] Nobody-User = nobody Nobody-Group = nobody
驗證
nfs4_disable_idmapping
。 它應該設定為Y
。若要建立所在的
nfs4_disable_idmapping
目錄結構,請執行mount
命令。 因為核心和驅動程式會保留存取權,因此您將無法手動建立下的/sys/modules
目錄。# Check nfs4_disable_idmapping. cat /sys/module/nfs/parameters/nfs4_disable_idmapping # If you need to set nfs4_disable_idmapping to Y: mkdir /mnt/tmp mount 10.27.1.5:/sapnw1 /mnt/tmp umount /mnt/tmp echo "Y" > /sys/module/nfs/parameters/nfs4_disable_idmapping # Make the configuration permanent. echo "options nfs nfs4_disable_idmapping=Y" >> /etc/modprobe.d/nfs.conf
[1] 暫時在其中一部 VM 上掛接 Azure NetApp Files 磁碟區,並建立 SAP 目錄(檔案路徑)。
# Temporarily mount the volume. sudo mkdir -p /saptmp # If you're using NFSv3: sudo mount -t nfs -o rw,hard,rsize=65536,wsize=65536,nfsvers=3,tcp 10.27.1.5:/sapnw1 /saptmp # If you're using NFSv4.1: sudo mount -t nfs -o rw,hard,rsize=65536,wsize=65536,nfsvers=4.1,sec=sys,tcp 10.27.1.5:/sapnw1 /saptmp # Create the SAP directories. sudo cd /saptmp sudo mkdir -p sapmntNW1 sudo mkdir -p usrsapNW1 # Unmount the volume and delete the temporary directory. sudo cd .. sudo umount /saptmp sudo rmdir /saptmp
[A] 建立共享目錄。
sudo mkdir -p /sapmnt/NW1 sudo mkdir -p /usr/sap/NW1 sudo mkdir -p /usr/sap/trans sudo chattr +i /sapmnt/NW1 sudo chattr +i /usr/sap/NW1 sudo chattr +i /usr/sap/trans
[A] 掛接文件系統。
透過簡單的掛接設定,Pacemaker 叢集不會控制文件系統。
# If you're using NFSv3: echo "10.27.1.5:/sapnw1/sapmntNW1 /sapmnt/NW1 nfs nfsvers=3,hard 0 0" >> /etc/fstab echo "10.27.1.5:/sapnw1/usrsapNW1 /usr/sap/NW1 nfs nfsvers=3,hard 0 0" >> /etc/fstab echo "10.27.1.5:/saptrans /usr/sap/trans nfs nfsvers=3,hard 0 0" >> /etc/fstab # If you're using NFSv4.1: echo "10.27.1.5:/sapnw1/sapmntNW1 /sapmnt/NW1 nfs nfsvers=4.1,sec=sys,hard 0 0" >> /etc/fstab echo "10.27.1.5:/sapnw1/usrsapNW1 /usr/sap/NW1 nfs nfsvers=4.1,sec=sys,hard 0 0" >> /etc/fstab echo "10.27.1.5:/saptrans /usr/sap/trans nfs nfsvers=4.1,sec=sys,hard 0 0" >> /etc/fstab # Mount the file systems. mount -a
安裝 SAP NetWeaver ASCS 和 ERS
[1] 建立 ASCS 實例的虛擬IP資源和健康情況探查。
重要
我們建議使用
azure-lb
資源代理程式,這是資源代理程式套件的一部分,最低版本為resource-agents-4.3.0184.6ee15eb2-4.13.1
。sudo crm node standby sap-cl2 sudo crm configure primitive vip_NW1_ASCS IPaddr2 \ params ip=10.27.0.9 \ 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 nc_NW1_ASCS vip_NW1_ASCS \ meta resource-stickiness=3000
請確定叢集狀態為 [確定],並啟動所有資源。 資源執行所在的節點並不重要。
sudo crm_mon -r # Node sap-cl2: standby # Online: [ sap-cl1 ] # # Full list of resources: # # stonith-sbd (stonith:external/sbd): Started sap-cl1 # Resource Group: g-NW1_ASCS # nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started sap-cl1 # vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started sap-cl1
[1] 在第一個節點上將 SAP NetWeaver ASCS 安裝為根目錄。
使用虛擬主機名,對應至適用於 ASCS 之負載平衡器前端組態的 IP 位址,以及您用於負載平衡器探查的實例號碼(
sapascs
10.27.0.9
例如,00
。您可以使用
sapinst
參數SAPINST_REMOTE_ACCESS_USER
來允許非根使用者連線到sapinst
。 您可以使用SAPINST_USE_HOSTNAME
參數來安裝 SAP,方法是使用虛擬主機名。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 sap-cl2 sudo crm node standby sap-cl1 sudo crm configure primitive vip_NW1_ERS IPaddr2 \ params ip=10.27.0.10 \ op monitor interval=10 timeout=20 sudo crm configure primitive nc_NW1_ERS azure-lb port=62101 \ op monitor timeout=20s interval=10 sudo crm configure group g-NW1_ERS nc_NW1_ERS vip_NW1_ERS
請確定叢集狀態為 [確定],並啟動所有資源。 資源執行所在的節點並不重要。
sudo crm_mon -r # Node sap-cl1: standby # Online: [ sap-cl2 ] # # Full list of resources: # # stonith-sbd (stonith:external/sbd): Started sap-cl2 # Resource Group: g-NW1_ASCS # nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started sap-cl2 # vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started sap-cl2 # Resource Group: g-NW1_ERS # nc_NW1_ERS (ocf::heartbeat:azure-lb): Started sap-cl2 # vip_NW1_ERS (ocf::heartbeat:IPaddr2): Started sap-cl2
[2] 在第二個節點上將 SAP NetWeaver ERS 安裝為根目錄。
使用虛擬主機名,對應至 ERS 前端組態的 IP 位址,
sapers
10.27.0.10
以及您用於負載平衡器探查的實例號碼(例如,01
。您可以使用
SAPINST_REMOTE_ACCESS_USER
參數來允許非根使用者連線到sapinst
。 您可以使用SAPINST_USE_HOSTNAME
參數來安裝 SAP,方法是使用虛擬主機名。<swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin SAPINST_USE_HOSTNAME=virtual_hostname
注意
使用 SWPM SP 20 PL 05 或更新版本。 舊版未正確設定許可權,導致安裝失敗。
如果安裝無法在 中
/usr/sap/NW1/ERS01
建立子資料夾,請設定資料夾的ERS01
擁有者和群組,然後重試。chown nw1adm /usr/sap/NW1/ERS01 chgrp sapsys /usr/sap/NW1/ERS01
[1] 調整 ASCS 實例配置檔。
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 following lines. service/halib = $(DIR_CT_RUN)/saphascriptco.so service/halib_cluster_connector = /usr/bin/sap_suse_cluster_connector # Add the keepalive parameter, if you're using ENSA1. enque/encni/set_so_keepalive = true
針對獨立加入佇列伺服器 1 和 2 (ENSA1 和 ENSA2),請確定
keepalive
OS 參數已設定為 SAP 附注 1410736中所述。現在調整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) # Add the following lines. service/halib = $(DIR_CT_RUN)/saphascriptco.so service/halib_cluster_connector = /usr/bin/sap_suse_cluster_connector # Remove Autostart from the ERS profile. # Autostart = 1
[A] 設定
keepalive
。SAP NetWeaver 應用程式伺服器與 ASCS 之間的通訊會透過軟體負載平衡器路由傳送。 負載平衡器在可設定的逾時之後中斷非使用中聯機。
若要防止此中斷連線,如果您使用 ENSA1,您必須在 SAP NetWeaver ASCS 設定檔中設定參數。 變更 ENSA1 和 ENSA2 所有 SAP 伺服器上的 Linux 系統
keepalive
設定。 如需詳細資訊,請參閱 SAP 附注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] 將 ASCS 和 ERS SAP 服務新增至
sapservice
檔案。將 ASCS 服務專案新增至第二個節點,並將 ERS 服務專案複製到第一個節點。
cat /usr/sap/sapservices | grep ASCS00 | sudo ssh sap-cl2 "cat >>/usr/sap/sapservices" sudo ssh sap-cl2 "cat /usr/sap/sapservices" | grep ERS01 | sudo tee -a /usr/sap/sapservices
[A] 啟用
sapping
與sappong
。 代理sapping
程式會先執行,sapinit
再隱藏/usr/sap/sapservices
檔案。 代理程式sapinit
會在sappong
VM 開機期間取消隱藏sapservices
檔案之後執行。SAPStartSrv
因為 Pacemaker 叢集會管理 SAP 實例,所以不會在開機時間自動啟動 SAP 實例。sudo systemctl enable sapping sudo systemctl enable sappong
[1] 建立 SAP 叢集資源。
視您執行 ENSA1 或 ENSA2 系統而定,選取個別索引標籤來定義資源。 SAP 在 SAP NetWeaver 7.52 中引進了 ENSA2 的支援,包括複寫。 從 ABAP Platform 1809 開始,預設會安裝 ENSA2。 如需 ENSA2 支援,請參閱 SAP 附注 2630416。
sudo crm configure property maintenance-mode="true" sudo crm configure primitive rsc_sapstartsrv_NW1_ASCS00 ocf:suse:SAPStartSrv \ params InstanceName=NW1_ASCS00_sapascs sudo crm configure primitive rsc_sapstartsrv_NW1_ERS01 ocf:suse:SAPStartSrv \ params InstanceName=NW1_ERS01_sapers # If you're using NFS on Azure Files or NFSv3 on Azure NetApp Files: sudo crm configure primitive rsc_sap_NW1_ASCS00 SAPInstance \ op monitor interval=11 timeout=60 on-fail=restart \ params InstanceName=NW1_ASCS00_sapascs START_PROFILE="/sapmnt/NW1/profile/NW1_ASCS00_sapascs" \ AUTOMATIC_RECOVER=false MINIMAL_PROBE=true \ meta resource-stickiness=5000 failure-timeout=60 migration-threshold=1 priority=10 # If you're using NFS on Azure Files or NFSv3 on Azure NetApp Files: sudo crm configure primitive rsc_sap_NW1_ERS01 SAPInstance \ op monitor interval=11 timeout=60 on-fail=restart \ params InstanceName=NW1_ERS01_sapers START_PROFILE="/sapmnt/NW1/profile/NW1_ERS01_sapers" \ AUTOMATIC_RECOVER=false IS_ERS=true MINIMAL_PROBE=true \ meta priority=1000 # If you're using NFSv4.1 on Azure NetApp Files: sudo crm configure primitive rsc_sap_NW1_ASCS00 SAPInstance \ op monitor interval=11 timeout=105 on-fail=restart \ params InstanceName=NW1_ASCS00_sapascs START_PROFILE="/sapmnt/NW1/profile/NW1_ASCS00_sapascs" \ AUTOMATIC_RECOVER=false MINIMAL_PROBE=true \ meta resource-stickiness=5000 failure-timeout=60 migration-threshold=1 priority=10 # If you're using NFSv4.1 on Azure NetApp Files: sudo crm configure primitive rsc_sap_NW1_ERS01 SAPInstance \ op monitor interval=11 timeout=105 on-fail=restart \ params InstanceName=NW1_ERS01_sapers START_PROFILE="/sapmnt/NW1/profile/NW1_ERS01_sapers" \ AUTOMATIC_RECOVER=false IS_ERS=true MINIMAL_PROBE=true \ meta priority=1000 sudo crm configure modgroup g-NW1_ASCS add rsc_sapstartsrv_NW1_ASCS00 sudo crm configure modgroup g-NW1_ASCS add rsc_sap_NW1_ASCS00 sudo crm configure modgroup g-NW1_ERS add rsc_sapstartsrv_NW1_ERS01 sudo crm configure modgroup g-NW1_ERS add rsc_sap_NW1_ERS01 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_ERS01:stop symmetrical=false sudo crm_attribute --delete --name priority-fencing-delay sudo crm node online sap-cl1 sudo crm configure property maintenance-mode="false"
如果您要從舊版升級並切換至 ENSA2,請參閱 SAP 附注 2641019。
請確定叢集狀態為 [確定],並啟動所有資源。 資源執行所在的節點並不重要。
sudo crm_mon -r
# Full list of resources:
#
# stonith-sbd (stonith:external/sbd): Started sap-cl2
# Resource Group: g-NW1_ASCS
# nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started sap-cl1
# vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started sap-cl1
# rsc_sapstartsrv_NW1_ASCS00 (ocf::suse:SAPStartSrv): Started sap-cl1
# rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started sap-cl1
# Resource Group: g-NW1_ERS
# nc_NW1_ERS (ocf::heartbeat:azure-lb): Started sap-cl2
# vip_NW1_ERS (ocf::heartbeat:IPaddr2): Started sap-cl2
# rsc_sapstartsrv_NW1_ERS01 (ocf::suse:SAPStartSrv): Started sap-cl2
# rsc_sap_NW1_ERS01 (ocf::heartbeat:SAPInstance): Started sap-cl1
準備 SAP 應用程式伺服器
某些資料庫會要求您在應用程式伺服器上執行資料庫安裝。 準備應用程式伺服器 VM,以執行資料庫安裝。
下列常見步驟假設您在與 ASCS 和 HANA 伺服器不同的伺服器上安裝應用程式伺服器:
設定主機名解析。
您可以在所有節點上使用 DNS 伺服器或修改
/etc/hosts
。 此範例示範如何使用/etc/hosts
檔案。sudo vi /etc/hosts
將下列幾行插入 。
/etc/hosts
變更IP位址和主機名以符合您的環境。10.27.0.6 sap-cl1 10.27.0.7 sap-cl2 # IP address of the load balancer's front-end configuration for SAP NetWeaver ASCS 10.27.0.9 sapascs # IP address of the load balancer's front-end configuration for SAP NetWeaver ERS 10.27.0.10 sapers 10.27.0.8 sapa01 10.27.0.12 sapa02
設定 SWAP 檔案。
sudo vi /etc/waagent.conf # Set the ResourceDisk.EnableSwap property to y. # Create and use the SWAP file on the resource disk. ResourceDisk.EnableSwap=y # Set the size of the SWAP file by using the ResourceDisk.SwapSizeMB property. # The free space of the resource disk varies by virtual machine size. Don't set a value that's too big. You can check the SWAP space by using the swapon command. ResourceDisk.SwapSizeMB=2000
重新啟動代理程式以啟用變更。
sudo service waagent restart
準備 SAP 目錄
如果您在 Azure 檔案儲存體 上使用 NFS,請使用下列指示來準備 SAP 應用程式伺服器 VM 上的 SAP 目錄:
建立裝入點。
sudo mkdir -p /sapmnt/NW1 sudo mkdir -p /usr/sap/trans sudo chattr +i /sapmnt/NW1 sudo chattr +i /usr/sap/trans
掛接檔案系統。
echo "sapnfsafs.file.core.windows.net:/sapnfsafs/sapnw1/sapmntNW1 /sapmnt/NW1 nfs noresvport,vers=4,minorversion=1,sec=sys 0 0" >> /etc/fstab echo "sapnfsafs.file.core.windows.net:/sapnfsafs/saptrans /usr/sap/trans nfs noresvport,vers=4,minorversion=1,sec=sys 0 0" >> /etc/fstab # Mount the file systems. mount -a
如果您在 Azure NetApp Files 上使用 NFS,請使用下列指示來準備 SAP 應用程式伺服器 VM 上的 SAP 目錄:
建立裝入點。
sudo mkdir -p /sapmnt/NW1 sudo mkdir -p /usr/sap/trans sudo chattr +i /sapmnt/NW1 sudo chattr +i /usr/sap/trans
掛接檔案系統。
# If you're using NFSv3: echo "10.27.1.5:/sapnw1/sapmntNW1 /sapmnt/NW1 nfs nfsvers=3,hard 0 0" >> /etc/fstab echo "10.27.1.5:/saptrans /usr/sap/trans nfs nfsvers=3, hard 0 0" >> /etc/fstab # If you're using NFSv4.1: echo "10.27.1.5:/sapnw1/sapmntNW1 /sapmnt/NW1 nfs nfsvers=4.1,sec=sys,hard 0 0" >> /etc/fstab echo "10.27.1.5:/saptrans /usr/sap/trans nfs nfsvers=4.1,sec=sys,hard 0 0" >> /etc/fstab # Mount the file systems. mount -a
安裝資料庫
在此範例中,SAP NetWeaver 會安裝在 SAP HANA 上。 您可以使用任何支援的資料庫來進行此安裝。 如需如何在 Azure 中安裝 SAP HANA 的詳細資訊,請參閱 Azure 虛擬機上的 SAP HANA 高可用性。 如需支援的資料庫清單,請參閱 SAP 附注 1928533。
使用對應至負載平衡器前端設定之資料庫 IP 位址的虛擬主機名,將 SAP NetWeaver 資料庫實例安裝為根目錄。 您可以使用 SAPINST_REMOTE_ACCESS_USER
參數來允許非根使用者連線到 sapinst
。
sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin
安裝SAP NetWeaver 應用程式伺服器
請遵循下列步驟來安裝 SAP 應用程式伺服器:
[A] 準備應用程式伺服器。
請遵循 SAP NetWeaver 應用程式伺服器準備中的步驟。
[A] 安裝主要或其他 SAP NetWeaver 應用程式伺服器。
您可以使用
SAPINST_REMOTE_ACCESS_USER
參數來允許非根使用者連線到sapinst
。sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin
[A] 更新 SAP HANA 安全存放區,以指向 SAP HANA 系統複寫設定的虛擬名稱。
執行下列命令以列出專案。
hdbuserstore List
命令應該列出所有專案,而且看起來應該類似這個範例。
DATA FILE : /home/nw1adm/.hdb/sapa01/SSFS_HDB.DAT KEY FILE : /home/nw1adm/.hdb/sapa01/SSFS_HDB.KEY KEY DEFAULT ENV : 10.27.0.4:30313 USER: SAPABAP1 DATABASE: NW1
在此範例中,預設進入點的IP位址會指向VM,而不是負載平衡器。 將進入變更為指向負載平衡器的虛擬主機名。 請務必使用相同的埠和資料庫名稱。 例如,在
30313
範例輸出中使用 和NW1
。su - nw1adm hdbuserstore SET DEFAULT nw1db:30313@NW1 SAPABAP1 <password of ABAP schema>
測試叢集設定
徹底測試 Pacemaker 叢集。 執行一般故障轉移測試。