針對 SAP 應用程式使用 Azure NetApp Files (SMB) 在 Windows 上的 Azure VM 達到 SAP NetWeaver 高可用性

本文說明如何使用 Azure NetApp Files 上的 SMB,在 Windows VM 上部署、設定虛擬機、安裝叢集架構,以及安裝高可用性 SAP NetWeaver 7.50 系統。

本文並未詳細說明資料庫層。 我們假設已建立 Azure 虛擬網路

請先閱讀下列 SAP 附註和檔案:

概觀

SAP 開發了新的方法,以及叢集共用磁碟的替代方法,可用來將 SAP ASCS/SCS 實例叢集叢集放在 Windows 故障轉移叢集上。 您可以使用SMB檔案共用來部署 SAP 全域主機檔案,而不是使用叢集共用磁碟。 Azure NetApp Files 支援使用 Active Directory 搭配 NTFS ACL 的 SMBv3 (以及 NFS)。 Azure NetApp Files 會自動具有高可用性(因為它是 PaaS 服務)。 這些功能讓 Azure NetApp Files 成為裝載 SAP 全域 SMB 檔案共享的絕佳選項。
同時支援 Microsoft Entra Domain ServicesActive Directory 網域服務 (AD DS)。 您可以使用現有的 Active Directory 域控制器搭配 Azure NetApp Files。 域控制器可以是 Azure 中的虛擬機,或透過 ExpressRoute 或 S2S VPN 的內部部署。 在本文中,我們將使用 Azure VM 中的域控制器。
SAP Netweaver 中央服務的高可用性(HA)需要共用記憶體。 若要在 Windows 上達到此目的,到目前為止,必須建置 SOFS 叢集或使用 SOS 之類的叢集共用磁碟。 現在,您可以使用部署在 Azure NetApp Files 上的共用記憶體來達成 SAP Netweaver HA。 針對共用記憶體使用 Azure NetApp Files 可免除 SOFS 或 SIOS 的需求。

注意

SAP 系統支援使用檔案共用叢集 SAP ASCS/SCS 實例與 SAP Kernel 7.22 (和更新版本)。 如需詳細資訊,請參閱 SAP 附注 2698948

SAP ASCS/SCS HA Architecture with SMB share

SMB 檔案共用的必要條件如下:

  • SMB 3.0 (或更新版本) 通訊協定。
  • 能夠設定 Active Directory 使用者群組和 computer$ 計算機物件的 Active Directory 訪問控制清單(ACL)。
  • 檔案共享必須啟用HA。

此參考架構中 SAP Central 服務的共用是由 Azure NetApp Files 提供:

SAP ASCS/SCS HA Architecture with SMB share details

建立及掛接 Azure NetApp Files 的 SMB 磁碟區

執行下列步驟,以準備使用 Azure NetApp Files。

  1. 依照建立 NetApp 帳戶中所述 的步驟建立 Azure NetApp 帳戶

  2. 依照設定容量集區中的 指示設定容量集區

  3. Azure NetApp Files 資源必須位於委派的子網中。 依照將子網委派給 Azure NetApp Files 中的指示來建立委派的子網。

    重要

    您必須先建立 Active Directory 連線,才能建立 SMB 磁碟區。 檢閱 Active Directory 連線的需求。

    建立 Active Directory 連線時,請務必輸入 SMB 伺服器 (電腦帳戶) 前置詞不超過 8 個字元,以避免 SAP 應用程式的 13 個字元主機名限制(後綴會自動新增至 SMB 計算機帳戶名稱)。
    SAP 應用程式的主機名限制描述於 2718300 - 實體和虛擬主機名長度限制611361 - SAP ABAP 平台伺服器的主機名。

  4. 建立 Active Directory 連線,如建立 Active Directory 連線中所述。 請務必新增將執行SWPM以安裝SAP系統的使用者,如同Active Directory 連線中的一樣 Administrators privilege user 。 如果您未將 SAP 安裝使用者新增為 Administrators privilege user Active Directory 連線中的 ,除非以提升網域 管理員 許可權的使用者身分執行 SWPM,否則 SWPM 會失敗併發生許可權錯誤。

  5. 遵循新增 SMB 磁碟區中的 指示,建立 SMB Azure NetApp Files SMB 磁碟區

  6. 在 Windows 虛擬機上掛接 SMB 磁碟區。

提示

如需如何掛接 Azure NetApp Files 磁碟區的指示,請登入 Azure 入口網站,然後流覽至 Azure NetApp Files 對象,選取 [磁碟區] 刀鋒視窗,然後選取 [掛接指示]。

重要考量

考慮 SAP Netweaver 架構的 Azure NetApp Files 時,請注意下列重要考慮:

  • 最小容量集區為 4 TiB。 容量集區大小可以增加 1 TiB 增量。
  • 最小磁碟區為100 GiB
  • 選取的虛擬網路必須具有已委派給 Azure NetApp Files 的子網路。
  • Azure NetApp Files 磁碟區的輸送量和效能特性是磁碟區配額和服務等級的功能,如 Azure NetApp Files 的服務等級中所述。 調整 SAP Azure NetApp 磁碟區的大小時,請確定產生的輸送量符合應用程式需求。

使用 Windows 故障轉移叢集準備 SAP HA 的基礎結構

  1. 設定 Azure 內部負載平衡器的 ASCS/SCS 負載平衡規則。
  2. 將 Windows 虛擬機新增至網域
  3. 在 SAP ASCS/SCS 實例的這兩個叢集節點上新增登錄專案
  4. 設定 SAP ASCS/SCS 實例的 Windows Server 故障轉移叢集
  5. 如果您使用 Windows Server 2016,建議您設定 Azure 雲端見證

在兩個節點上安裝SAP ASCS實例

您需要 SAP 中的下列軟體:

  • SAP Software Provisioning Manager (SWPM) 安裝工具版本 SPS25 或更新版本。
  • SAP Kernel 7.22 或更新版本
  • 為叢集 SAP ASCS/SCS 實例建立虛擬主機名(叢集網路名稱),如建立叢集 SAP ASCS/SCS 實例的虛擬主機名中所述

在第一個 ASCS/SCS 叢集節點上安裝 ASCS/SCS 實例

  1. 在第一個叢集節點上安裝S/ASCS/SCS 實例。 啟動 SAP SWPM 安裝工具,然後流覽至: 產品>DBMS> 安裝 > 應用程式伺服器 ABAP (或 Java) > 高可用性系統 > ASCS/SCS 實例 > 第一個叢集節點。

  2. 選取 [ 檔案共用叢集] 作為 SWPM 中的 [叢集 共享組態]。

  3. 在步驟 SAP 系統叢集參數出現提示時,輸入您已建立為 檔案共用主機名的 Azure NetApp Files SMB 共用主機名。 在此範例中,SMB 共用主機名是 anfsmb-9562

    重要

    如果必要條件檢查程式 SWPM 中顯示不符合連續可用性功能條件,您可以在嘗試存取已不存在於 Windows 中的共享資料夾時,遵循延遲錯誤訊息中的指示加以解決。

    提示

    如果必要條件檢查工具 SWPM 中顯示不符合交換大小條件,您可以流覽至 [我的計算機>系統屬性>效能] 設定> [進階>虛擬記憶體>變更] 來調整 SWAP 大小。

  4. 使用 PowerShell 設定 SAP-SID-IP SAP 叢集資源探查埠。 在其中一個 SAP ASCS/SCS 叢集節點上執行此設定,如設定探查埠中所述

在第二個 ASCS/SCS 叢集節點上安裝 ASCS/SCS 實例

  1. 在第二個叢集節點上安裝S/ASCS/SCS 實例。 啟動 SAP SWPM 安裝工具,然後瀏覽至 產品>DBMS> 安裝 > 應用程式伺服器 ABAP (或 Java) > 高可用性系統 > ASCS/SCS 實例 > 其他叢集節點。

更新 SAP ASCS/SCS 實例設定檔

更新 SAP ASCS/SCS 實例設定檔 <SID>ASCS/SCS<Nr><主機>中的參數。

參數名稱 參數值
gw/netstat_once 0
enque/encni/set_so_keepalive true
service/ha_check_node 1

只有在使用 ENSA1 時才需要參數 enque/encni/set_so_keepalive
重新啟動 SAP ASCS/SCS 實例。 在 SAP ASCS/SCS 叢集節點上設定 KeepAlive 參數,請遵循指示, 在 SAP ASCS/SCS 實例的叢集節點上設定登錄專案。

安裝 DBMS 實例和 SAP 應用程式伺服器

藉由安裝下列專案來完成 SAP 安裝:

  • DBMS 實例
  • 主要 SAP 應用程式伺服器
  • 其他 SAP 應用程式伺服器

測試 SAP ASCS/SCS 實例故障轉移

從叢集節點 A 故障轉移至叢集節點 B 和返回

在此測試案例中,我們將將叢集節點 sapascs1 稱為節點 A,並將叢集節點 sapascs2 視為節點 B。

  1. 確認叢集資源正在節點 A 上執行。 Figure 1: Windows Server failover cluster resources running on node A prior before the failover test

  2. 重新啟動叢集節點 A。SAP 叢集資源會移至叢集節點 B。 Figure 2: Windows Server failover cluster resources running on node B after the failover test

鎖定項目測試

1.確認 SAP 加入佇列復寫伺服器 (ERS) 為使用中
2.登入 SAP 系統、執行交易 SU01,並在變更模式中開啟使用者識別碼。 這會產生 SAP 鎖定專案。
3.當您登入 SAP 系統時,流覽至交易 ST12 來顯示鎖定專案。
4.將 ASCS 資源從叢集節點 A 故障轉移至叢集節點 B。
5.確認在保留 SAP ASCS/SCS 叢集資源故障轉移之前產生的鎖定專案。

Figure 3: Lock entry is retained after failover test

如需詳細資訊,請參閱 使用ERS 針對ASCS中的加入佇列故障轉移進行疑難解答

選擇性組態

下圖顯示執行 Microsoft Windows 故障轉移叢集的 Azure VM 上有多個 SAP 實例,以減少 VM 總數。

這可以是 SAP ASCS/SCS 叢集上的本機 SAP 應用程式伺服器,或 Microsoft SQL Server Always On 節點上的 SAP ASCS/SCS 叢集角色。

重要

不支援在 SQL Server Always On 節點上安裝本機 SAP 應用程式伺服器。

SAP ASCS/SCS 和 Microsoft SQL Server 資料庫都是單一失敗點(SPOF)。 若要在 Windows 環境中保護這些 SPO,請使用 Azure NetApp Files SMB。

雖然 SAP ASCS/SCS 的資源耗用量相當小,但建議將 SQL Server 或 SAP 應用程式伺服器的記憶體設定減少 2 GB。

使用 NetApp Files SMB 在 WSFC 節點上的 SAP 應用程式伺服器

Figure 4: Windows Server failover clustering configuration in Azure with Windows NetApp Files SMB and locally installed SAP Application Server

注意

圖片顯示其他本機磁碟的使用。 對於不會在 OS 磁碟驅動器上安裝應用程式軟體的客戶而言,這是選擇性的 (C:)

使用 Azure NetApp Files SMB 在 SQL Server Always On 節點上的 SAP ASCS/SCS

重要

不支持針對任何 SQL Server 磁碟區使用 Azure NetApp Files SMB。

Figure : SAP ASCS/SCS on SQL Server Always On nodes using Azure NetApp Files SMB

注意

圖片顯示其他本機磁碟的使用。 對於不會在 OS 磁碟驅動器上安裝應用程式軟體的客戶而言,這是選擇性的 (C:)

使用 Windows DFS-N 支援針對 SMB 型檔案共用建立彈性的 SAPMNT 共用

使用 DFS-N 可讓您針對部署在相同 Azure 區域和訂用帳戶內的 SAP 系統,利用個別 sapmnt 磁碟區。 使用 Windows DFS-N 來支援 SMB 型檔案共用 的彈性 SAPMNT 共用建立,示範如何設定此設定。

下一步