在 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 應用程式伺服器。
下一步
- Windows Server 2016 中的 儲存空間直接存取。
- 適用於應用程式數據概觀的向外延展檔案伺服器。
- Windows Server 2016 中記憶體的新功能。