在 Azure 之 SAP ASCS/SCS 執行個體的 Windows 容錯移轉叢集和檔案共用上安裝 SAP NetWeaver 高可用性
本文說明如何在 Azure 上透過 Windows 容錯移轉叢集 (WSFC) 和向外延展檔案共用作為叢集 SAP ASCS/SCS 執行個體的選項,以安裝並設定高可用的 SAP 系統。
必要條件
在開始安裝之前,請檢閱下列文章:
需要來自 SAP 的下列可執行檔和 DLL:
- SAP Software Provisioning Manager (SWPM) 安裝工具版本 SPS25 或更新版本。
- SAP Kernel 7.49 或更新版本
重要
針對 SAP NetWeaver 7.40 (和更新版本),包含 SAP 核心 7.49 (和更新版本),支援使用檔案共用進行 SAP ASCS/SCS 執行個體叢集處理。
安裝程式必須符合下列需求:SAP ASCS/SCS 執行個體和 SOFS 共用必須部署在不同的叢集中。
設定會視使用的 DBMS 而異,因此我們不會說明資料庫管理系統 (DBMS) 設定。 不過,我們會假設 DBMS 在高可用性方面的疑慮已藉由不同 DBMS 廠商為 Azure 提供的功能支援而獲得解決。 此類功能包括適用於 SQL Server 的 Always On 或資料庫鏡像,以及適用於 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 執行個體和一個 SCS 執行個體在相同 Microsoft 容錯移轉叢集群組中執行。 我們會明確說明每個 SAP NetWeaver 安裝堆疊的所有安裝差異。 您可以假設所有其他部分都相同。
在 SOFS 叢集上準備 SAP 全域主機
在 SOFS 叢集上建立下列磁碟區和檔案共用:
SOFS 叢集共用磁碟區 (CSV) 上的 SAP GLOBALHOST 檔案
C:\ClusterStorage\Volume1\usr\sap\<SID>\SYS\
結構SAPMNT 檔案共用
透過下列項目的完全控制,設定 SAPMNT 檔案共用和資料夾的安全性:
- <DOMAIN>\SAP_<SID>_GlobalAdmin 使用者群組
- 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 執行個體
在第一個叢集節點上安裝 SAP ASCS/SCS 執行個體。 若要安裝執行個體,在 SAP SWPM 安裝工具中,移至:
<產品>><DBMS>>安裝>應用程式伺服器 ABAP (或 JAVA) >高可用性系統>ASCS/SCS 執行個體>第一個叢集節點。
新增探查連接埠
使用 PowerShell 設定 SAP 叢集資源 SAP-SID-IP 探查連接埠。 如本文所述,請在其中一個 SAP ASCS/SCS 叢集節點上執行此設定。
在第二個 ASCS/SCS 叢集節點上安裝 ASCS/SCS 執行個體
在第二個叢集節點上安裝 SAP ASCS/SCS 執行個體。 若要安裝執行個體,在 SAP SWPM 安裝工具中,移至:
<產品>><DBMS>>安裝>應用程式伺服器 ABAP (或 JAVA) >高可用性系統>ASCS/SCS 執行個體>其他叢集節點。
更新 SAP ASCS/SCS 執行個體設定檔
更新 SAP ASCS/SCS 執行個體設定檔 <SID>ASCS/SCS<Nr><Host> 中的參數。
參數名稱 | 參數值 |
---|---|
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 應用程式伺服器。
下一步
- Windows Server 2016 中的 儲存空間直接存取。
- 適用於應用程式數據概觀的向外延展檔案伺服器。
- Windows Server 2016 中記憶體的新功能。