在 Azure 上的 SAP ASCS/SCS 實例的 Windows 故障轉移叢集和檔案共用上安裝 SAP NetWeaver 高可用性

本文說明如何在 Azure 上安裝和設定高可用性 SAP 系統,並使用 Windows Server 故障轉移叢集 (WSFC) 和向外延展文件伺服器作為叢集 SAP ASCS/SCS 實例的選項。

必要條件

開始安裝之前,請先檢閱下列文章:

您需要 SAP 中的下列可執行檔案和 DLL:

  • SAP Software Provisioning Manager (SWPM) 安裝工具版本 SPS25 或更新版本。
  • SAP Kernel 7.49 或更新版本

重要

SAP NetWeaver 7.40 和更新版本支援使用檔案共用叢集 SAP ASCS/SCS 實例,並搭配 SAP 核心 7.49(和更新版本)。
安裝程序必須符合下列需求:SAP ASCS/SCS 實例和SOFS共用必須部署在不同的叢集中。

我們不會描述資料庫管理系統 (DBMS) 設定,因為安裝程式會因您使用的 DBMS 而有所不同。 不過,我們假設 DBMS 的高可用性考慮是透過各種 DBMS 廠商支援 Azure 的功能來解決。 這類功能包括 Sql Server 的 AlwaysOn 或資料庫鏡像,以及 Oracle 資料庫的 Oracle Data Guard。 在本文中使用的案例中,我們並未將更多保護新增至 DBMS。

當各種 DBMS 服務與 Azure 中的這類叢集 SAP ASCS/SCS 組態互動時,沒有任何特殊考慮。

注意

SAP NetWeaver ABAP 系統的安裝程式、Java 系統和 ABAP+Java 系統幾乎完全相同。 最重要的差異在於 SAP ABAP 系統有一個 ASCS 實例。 SAP Java 系統有一個 SCS 實例。 SAP ABAP+Java 系統有一個 ASCS 實例和一個在相同 Microsoft 故障轉移叢集群組中執行的 SCS 實例。 明確提及每個SAP NetWeaver 安裝堆疊的任何安裝差異。 您可以假設所有其他元件都相同。

在SOFS叢集上準備 SAP 全域主機

在 SOFS 叢集上建立下列磁碟區和檔案共享:

  • SOFS 叢集共用磁碟區上的 SAP GLOBALHOST 檔案 C:\ClusterStorage\Volume1\usr\sap\<SID>\SYS\ 結構 (CSV)

  • SAPMNT 檔案共用

  • 在 SAPMNT 檔案共享和資料夾上設定安全性,並針對下列項目設定完整控制:

    • <DOMAIN>\SAP_<SID>_Global管理員使用者群組
    • SAP ASCS/SCS 叢集節點計算機物件 <DOMAIN>\ClusterNode1$ 和 <DOMAIN>\ClusterNode2$

若要建立具有鏡像復原功能的 CSV 磁碟區,請在其中一個 SOFS 叢集節點上執行下列 PowerShell Cmdlet:

New-Volume -StoragePoolFriendlyName S2D* -FriendlyName SAPPR1 -FileSystem CSVFS_ReFS -Size 5GB -ResiliencySettingName Mirror

若要建立 SAPMNT 並設定資料夾和共用安全性,請在其中一個 SOFS 叢集節點上執行下列 PowerShell 腳本:

# Create SAPMNT on file share
$SAPSID = "PR1"
$DomainName = "SAPCLUSTER"
$SAPSIDGlobalAdminGroupName = "$DomainName\SAP_" + $SAPSID + "_GlobalAdmin"

# SAP ASCS/SCS cluster nodes
$ASCSClusterNode1 = "ascs-1"
$ASCSClusterNode2 = "ascs-2"

# Define SAP ASCS/SCS cluster node computer objects
$ASCSClusterObjectNode1 = "$DomainName\$ASCSClusterNode1$"
$ASCSClusterObjectNode2 = "$DomainName\$ASCSClusterNode2$"

# Create usr\sap\.. folders on CSV
$SAPGlobalFolder = "C:\ClusterStorage\SAP$SAPSID\usr\sap\$SAPSID\SYS"
New-Item -Path $SAPGlobalFOlder -ItemType Directory

$UsrSAPFolder = "C:\ClusterStorage\SAP$SAPSID\usr\sap\"

# Create a SAPMNT file share and set share security
New-SmbShare -Name sapmnt -Path $UsrSAPFolder -FullAccess "BUILTIN\Administrators", $ASCSClusterObjectNode1, $ASCSClusterObjectNode2 -ContinuouslyAvailable $true -CachingMode None -Verbose

# Get SAPMNT file share security settings
Get-SmbShareAccess sapmnt

# Set file and folder security
$Acl = Get-Acl $UsrSAPFolder

# Add  a security object of the clusternode1$ computer object
$Ar = New-Object  system.security.accesscontrol.filesystemaccessrule($ASCSClusterObjectNode1,"FullControl",'ContainerInherit,ObjectInherit', 'None', 'Allow')
$Acl.SetAccessRule($Ar)

# Add a security object of the clusternode2$ computer object
$Ar = New-Object  system.security.accesscontrol.filesystemaccessrule($ASCSClusterObjectNode2,"FullControl",'ContainerInherit,ObjectInherit', 'None', 'Allow')
$Acl.SetAccessRule($Ar)

# Set security
Set-Acl $UsrSAPFolder $Acl -Verbose

建立叢集 SAP ASCS/SCS 實例的虛擬主機名

建立 SAP ASCS/SCS 叢集網路名稱(例如 pr1-ascs [10.0.6.7]),如建立叢集 SAP ASCS/SCS 實例的虛擬主機名中所述

在叢集中安裝 ASCS/SCS 和 ERS 實例

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

在第一個叢集節點上安裝S/ASCS/SCS 實例。 若要安裝實例,請在 SAP SWPM 安裝工具中,移至:

<產品><>DBMS>>安裝>應用程式伺服器 ABAP (或 Java) >高可用性系統>ASCS/SCS 實例>第一個叢集節點。

新增探查埠

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

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

在第二個叢集節點上安裝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 應用程式伺服器。

下一步