RHEL 上具有 NFS 的 VM 上的 SAP NetWeaver 高可用性,Azure 檔案儲存體

本文說明如何在 Azure 檔案儲存體 上使用 NFS 部署及設定虛擬機(VM)、安裝叢集架構,以及安裝高可用性 (HA) SAP NetWeaver 系統。 範例組態使用在 Red Hat Enterprise Linux 上執行的 VM(RHEL)。

必要條件

概觀

若要部署 SAP NetWeaver 應用層,您需要環境中的共享目錄,例如 /sapmnt/SID/usr/sap/trans 。 此外,當您部署HA SAP系統時,您需要保護並讓和/usr/sap/SID/ASCS/sapmnt/SID高可用性文件系統。

現在您可以將這些文件系統放在 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

Diagram that shows SAP NetWeaver high availability with NFS on Azure Files.

下圖顯示典型的 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 負載平衡器

在 VM 設定期間,您可以選擇在網路區段中建立或選取結束的負載平衡器。 請遵循下列步驟來設定標準負載平衡器,以設定SAP ASCS和SCS的高可用性設定。

請遵循建立負載平衡器指南,使用 Azure 入口網站 為高可用性 SAP 系統設定標準負載平衡器。 在設定負載平衡器期間,請考慮下列幾點。

  1. 前端IP組態: 建立兩個前端IP,一個用於ASCS,另一個用於ERS。 選取與您 ASCS/ERS 虛擬機相同的虛擬網路和子網。
  2. 後端集區: 建立後端集區,並新增 ASCS 和 ERS VM。
  3. 輸入規則: 建立兩個負載平衡規則,一個用於 ASCS,另一個用於 ERS。 針對這兩個負載平衡規則,請遵循相同的步驟。
    • 前端IP位址:選取前端IP
    • 後端集區:選取後端集區
    • 檢查「高可用性埠」
    • 通訊協定:TCP
    • 健康情況探查:使用下列詳細數據建立健康情況探查(適用於 ASCS 或 ERS)
      • 通訊協定:TCP
      • 埠:[例如:620<實例否。> 適用於 ASCS,621<實例否。> ERS]
      • 間隔:5
      • 探查臨界值:2
    • 閑置逾時(分鐘):30
    • 檢查 [啟用浮動 IP]

注意

健康情況探查組態屬性 numberOfProbes,否則在入口網站中稱為「狀況不良閾值」,則不會受到尊重。 因此,若要控制連續探查成功或失敗的數目,請將屬性 “probeThreshold” 設定為 2。 目前無法使用 Azure 入口網站 來設定此屬性,因此請使用 Azure CLIPowerShell 命令。

重要

負載平衡案例中的 NIC 次要IP組態不支援浮動IP。 如需詳細資訊,請參閱 Load Balancer限制。 如果您需要 VM 的另一個 IP 位址,請部署第二個 NIC。

注意

當沒有公用IP位址的VM放在Load Balancer內部(無公用IP位址)標準實例的後端集區時,除非執行更多組態以允許路由傳送至公用端點,否則不會有輸出因特網連線能力。 如需如何達成輸出連線的詳細資訊,請參閱 SAP 高可用性案例中使用 Azure Standard Load Balancer 的虛擬機公用端點連線。

重要

請勿在放在Load Balancer 後方的 Azure VM 上啟用 TCP 時間戳。 啟用 TCP 時間戳會導致健康情況探查失敗。 將參數 net.ipv4.tcp_timestamps 設定為 0。 如需詳細資訊,請參閱 Load Balancer健康情況探查。

部署 Azure 檔案儲存體 記憶體帳戶和 NFS 共用

Azure 檔案儲存體 上的 NFS 會在 Azure 檔案儲存體 進階記憶體執行。 在 Azure 檔案儲存體 上設定 NFS 之前,請參閱如何建立 NFS 共用

Azure 區域內有兩個選項可供備援:

檢查您選取的 Azure 區域是否在具有適當備援的 Azure 檔案儲存體 上提供 NFS 4.1。 檢 Azure 檔案儲存體 閱 Azure 區域在 進階版 Files 儲存體 下的可用性。 如果您的案例受益於 ZRS, 請確認 Azure 區域中支援與 ZRS 的進階檔案共用。

建議您透過 Azure 私人端點存取 Azure 儲存體 帳戶。 請務必在相同的 Azure 虛擬網路或對等互連的 Azure 虛擬網路中,部署 Azure 檔案儲存體 記憶體帳戶端點和 VM,其中您需要掛接 NFS 共用。

  1. 部署名為sapafsnfs的 Azure 檔案儲存體 記憶體帳戶。 在此範例中,我們使用 ZRS。 如果您不熟悉此程式,請參閱建立 Azure 入口網站的記憶體帳戶

  2. 在 [ 基本] 索引 標籤上,使用這些設定:

    1. 針對 儲存體 帳號名稱,輸入 sapafsnfs
    2. 針對 [效能],選取 [進階版]。
    3. 針對 [進階版 帳戶類型],選取 [檔案 儲存體]。
    4. 針對 [復寫],選取 [區域備援] [ZRS]。
  3. 選取 [下一步]。

  4. 在 [進階] 索引標籤上,清除 [需要 REST API 作業的安全傳輸]。 如果您未清除此選項,就無法將 NFS 共用掛接至 VM。 掛接作業將會逾時。

  5. 選取 [下一步]。

  6. 在 [ 網络] 區 段中,設定下列設定:

    1. 在 [網络連線能力] 下,針對 [連線 ivity 方法],選取 [私人端點]。
    2. 在 [私人端點] 底下,選取 [新增私人端點]。
  7. 在 [ 建立私人端點] 窗格中,選取您的 [訂用帳戶]、 [資源群組] 和 [ 位置]。 對於名稱,輸入 sapafsnfs_pe。 針對 儲存體 子資源,請選取 [檔案]。 在 [網络]下,針對 [虛擬網络],選取要使用的虛擬網络和子網。 同樣地,您可以使用 SAP VM 所在的虛擬網路或對等互連虛擬網路。 在 [私用 DNS 整合] 底下,接受 [是] 預設選項,以便與私人 DNS 區域整合。 請務必選取您的 私用 DNS 區域。 選取 [確定]。

  8. 再次在 [ 網络] 索引 標籤上,選取 [ 下一步]。

  9. 在 [ 數據保護] 索引標籤上,保留所有預設設定。

  10. 選取 [ 檢閱 + 建立 ] 來驗證您的設定。

  11. 等候驗證完成。 在繼續之前,請先修正任何問題。

  12. [檢閱 + 建立] 索引標籤中,選取 [建立]

接下來,在您所建立的記憶體帳戶中部署 NFS 共用。 在這裡範例中,有兩個 NFS 共用和 sapnw1saptrans

  1. 登入 Azure 入口網站
  2. 選取或搜尋 儲存體 帳戶
  3. [儲存體 帳戶] 頁面上,選取 [sapafsnfs]。
  4. 在 sapafsnfs 的資源功能表上,於 [數據記憶體] 底下,選取 [檔案分享]。
  5. 在 [ 檔案共享] 頁面上,選取 [ 檔案共享]。
    1. 針對 [ 名稱],輸入 sapnw1saptrans
    2. 選取適當的共用大小。 例如, 128 GB。 請考慮儲存在共用和 IOPS 和輸送量需求上的資料大小。 如需詳細資訊,請參閱 Azure 檔案共享目標
    3. 選取 [NFS ] 作為通訊協定。
    4. 選取 [無根壁球]。 否則,當您在 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 系統,不支援將 NFS 放在 /usr/sap/<SID>/J<nr> Azure 檔案儲存體 上。
  • 如果您的 SAP 系統有大量批次作業負載,您可能會有數百萬個作業記錄。 如果 SAP 批次作業記錄儲存在檔案系統中,請特別注意共用的大小 sapmnt 調整。 自 SAP_BASIS 7.52 起,批次作業記錄的預設行為會儲存在資料庫中。 如需詳細資訊,請參閱 資料庫中的作業記錄。
  • 為每個 SAP 系統部署個別 sapmnt 的共用。
  • 請勿將 sapmnt 共用用於任何其他活動,例如介面或 saptrans
  • 請勿將 saptrans 共用用於任何其他活動,例如介面或 sapmnt
  • 避免在單一記憶體帳戶中合併太多 SAP 系統的共用。 也有 記憶體帳戶效能調整目標。 請小心不要超過記憶體帳戶的限制。
  • 一般而言,請勿在單一記憶體帳戶中合併超過五個 SAP 系統的共用。 此指導方針有助於避免超過記憶體帳戶限制並簡化效能分析。
  • 一般而言,請避免在相同記憶體帳戶中混合共用,例如 sapmnt 非生產環境與生產 SAP 系統。
  • 建議您在 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
  1. [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
    
  2. [A] 安裝 NFS 用戶端和其他需求。

    sudo yum -y install nfs-utils resource-agents resource-agents-sap
    
  3. [1] 在 NFS 共用上建立 SAP 目錄。
    暫時在其中一部 VM 上掛接 NFS 共用 sapnw1 ,並建立將用作巢狀裝入點的 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
    
  4. [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
    
  5. [A] 檢查 的版本 resource-agents-sap

    請確定已安裝 resource-agents-sap 的套件版本至少 3.9.5-124.el7為 。

    sudo yum info resource-agents-sap
    
  6. [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 
    
  7. [A] 設定 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
    
  8. [A] 設定 RHEL。

    如適用於 RHEL 7.x 的 SAP 附注2002167、RHEL 8.x 的 SAP 附注2772999,或 RHEL 9.x 的 SAP 附注3108316中所述來設定 RHEL。

安裝 SAP NetWeaver ASCS/ERS

  1. [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
    
  2. [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
    
  3. [1] 安裝 SAP NetWeaver ASCS。

    使用虛擬主機名,將 SAP NetWeaver ASCS 安裝為第一個節點上的根目錄,以對應至 ASCS 之負載平衡器前端設定的 IP 位址,例如 sapascs10.90.90.10,以及您用於負載平衡器探查的實例編號, 例如 00

    您可以使用 sapinst 參數 SAPINST_REMOTE_ACCESS_USER 來允許非根使用者連線到 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/ASCS 00 中建立子資料夾,請嘗試設定 ASCS00 資料夾的擁有者和群組,然後再試一次。

    sudo chown nw1adm /usr/sap/NW1/ASCS00
    sudo chgrp sapsys /usr/sap/NW1/ASCS00
    
  4. [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
    
  5. [2] 安裝 SAP NetWeaver ERS。

    使用對應至 ERS 前端組態 IP 位址的虛擬主機名,將 SAP NetWeaver ERS 安裝為第二個節點上的根目錄,例如 sapers10.90.90.90.9,以及您用於負載平衡器探查的實例編號, 例如 01

    您可以使用 sapinst 參數 SAPINST_REMOTE_ACCESS_USER 來允許非根使用者連線到 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
    
  6. [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,請確定 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)
      
      # remove Autostart from ERS profile
      # Autostart = 1
      
  7. [A] 設定保持運作。

    SAP NetWeaver 應用程式伺服器與 ASCS/SCS 之間的通訊會透過軟體負載平衡器路由傳送。 負載平衡器在可設定的逾時之後中斷非使用中聯機。 若要防止此動作,請使用 ENSA1 在 SAP NetWeaver ASCS/SCS 設定檔中設定參數。 變更 ENSA1 和 ENSA2 所有 SAP 伺服器上的 Linux 系統 keepalive 設定。 如需詳細資訊,請參閱 SAP 附注 1410736

    # Change the Linux system configuration
    sudo sysctl net.ipv4.tcp_keepalive_time=300
    
  8. [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
    

    重要

    使用以系統為基礎的 SAP 啟動架構,SAP 實例現在可以由 systemd 管理。 最低需要的 Red Hat Enterprise Linux (RHEL) 版本是適用於 SAP 的 RHEL 8。 如 SAP 附註 3115048所述,具有整合式系統型 SAP 啟動架構支援的 SAP 核心全新安裝一律會導致系統控制的 SAP 實例。 在將現有 SAP 安裝升級至具有系統型 SAP 啟動架構支援的核心之後,必須依照 SAP 附注 3115048 所述執行一些手動步驟,將現有的 SAP 啟動環境轉換成系統控制環境。

    使用 Red Hat HA 服務進行 SAP(叢集組態)來管理 SAP 應用程式伺服器實例,例如 SAP ASCS 和 SAP ERS 時,必須進行其他修改,以確保 SAPInstance 資源代理程式與新的系統型 SAP 啟動架構之間的相容性。 因此,一旦根據 SAP 附註3115048安裝或切換至已啟用系統的 SAP 核心,Red Hat KBA 6884531中所述的步驟必須在所有叢集節點上順利完成。

  9. [1] 建立 SAP 叢集資源。

    視您執行 ENSA1 或 ENSA2 系統而定,選取個別索引標籤來定義資源。 SAP 在 SAP NetWeaver 7.52 中引進了 ENSA2 的支援,包括複寫。 從 ABAP Platform 1809 開始,預設會安裝 ENSA2。 針對 ENSA2 支援。 如需加入佇列伺服器 2 的支援,請參閱 SAP 附注2630416。

    如果您使用加入佇列伺服器 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
    
  10. [1] 執行下列步驟來設定 priority-fencing-delay (僅適用於 pacemaker-2.0.4-6.el8 或更高版本)。

    注意

    如果您有兩個節點的叢集,則可以選擇設定 priority-fencing-delay 叢集屬性。 當發生分割腦案例時,這個屬性會在隔離具有較高總資源優先順序的節點時引入額外的延遲。 如需詳細資訊,請參閱 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
    
  11. [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
  1. [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
    
  2. [A] 建立 sapmnt 目錄。

    sudo mkdir -p /sapmnt/NW1
    sudo mkdir -p /usr/sap/trans
    
    sudo chattr +i /sapmnt/NW1
    sudo chattr +i /usr/sap/trans
    
  3. [A] 安裝 NFS 用戶端和其他需求。

    sudo yum -y install nfs-utils uuidd
    
  4. [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 
    
  5. [A] 設定 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 的詳細資訊,請參閱 Red Hat Enterprise Linux 上 Azure VM 上的 SAP HANA 高可用性。 如需支援的資料庫清單,請參閱 SAP 附注 1928533

使用對應至資料庫之負載平衡器前端組態 IP 位址的虛擬主機名,將 SAP NetWeaver 資料庫實例安裝為根目錄。

您可以使用 sapinst 參數 SAPINST_REMOTE_ACCESS_USER 來允許非根使用者連線到 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 應用程式伺服器。

  1. [A] 準備應用程式伺服器。

    請遵循上一節 SAP NetWeaver 應用程式伺服器準備中的步驟來準備 應用程式伺服器。

  2. [A] 安裝 SAP NetWeaver 應用程式伺服器。

    安裝主要或其他 SAP NetWeaver 應用程式伺服器。

    您可以使用 sapinst 參數 SAPINST_REMOTE_ACCESS_USER 來允許非根使用者連線到 sapinst

    sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin
    
  3. [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 叢集。 如需詳細資訊,請參閱 執行一般故障轉移測試

下一步