在 Azure 上搭配 Windows Server 容錯移轉叢集和檔案共用的 SAP ASCS/SCS 執行個體多重 SID 高可用性
Windows
您可以使用 Azure 內部負載平衡器管理多個虛擬 IP 位址。
如果您有 SAP 部署,可以使用內部負載平衡器,建立 SAP Central Services (ASCS/SCS) 執行個體的 Windows 叢集組態。
本文將著重於如何將單一 ASCS/SCS 安裝移至 SAP 多 SID 組態,方法是使用檔案共用,將其他 SAP ASCS/SCS 叢集執行個體安裝至現有 Windows Server 容錯移轉叢集 (WSFC) 叢集。 完成此程序之後,您將已設定 SAP 多重 SID 叢集。
注意
這項功能僅適用於 Azure Resource Manager 部署模型。
每個 Azure 內部負載平衡器的私人前端 IP 都有數量限制。
一個 WSFC 叢集中 SAP ASCS/SCS 執行個體數目上限等於每個 Azure 內部負載平衡器的私人前端 IP 數目上限。
本文件所介紹的組態尚不支援用於 Azure 可用性區域
如需負載平衡器限制的詳細資訊,請參閱網路限制:Azure Resource Manager 中的「每個負載平衡器的私人前端 IP」一節。 也請考慮使用 Azure Standard Load Balancer SKU 而非 Azure 負載平衡器的基本 SKU。
必要條件
您已經使用檔案共用來設定要用於一個 SAP ASCS/SCS 執行個體的 WSFC 叢集,如下圖所示。
圖 1:在兩個叢集中部署 SAP ASCS/SCS 執行個體和 SOFS 部署
重要
安裝程式必須符合下列條件︰
- SAP ASCS / SCS 執行個體必須共用相同的 WSFC 叢集。
- 屬於不同 SAP SID 的不同 SAP 全域主機檔案共用,必須共用相同的 SOFS 叢集。
- SAP ASCS/SCS 執行個體和 SOFS 共用不得合併在相同的叢集中。
- 每個資料庫管理系統 (DBMS) SID 必須有自己專用的 WSFC 叢集。
- SAP 應用程式伺服器屬於必須擁有自己專用 VM 的一個 SAP 系統 SID。
- 不支援在相同叢集中混用加入佇列複寫伺服器 1 和加入佇列複寫伺服器 2。
使用檔案共用的 SAP ASCS/SCS 多重 SID 架構
目標是在相同 WSFC 叢集中安裝多個 SAP 進階商業應用程式程式設計 (ASCS) 或 SAP Java (SCS) 叢集執行個體,如這裡所詳述:
圖 2:兩個叢集中的 SAP 多重 SID 設定
安裝其他 SAP <SID2> 系統等同於安裝一個 <SID> 系統。 ASCS/SCS 叢集以及檔案共用 SOFS 叢集上需要另兩個準備步驟。
準備 SAP 多重 SID 案例的基礎結構
準備網域控制站上的基礎結構
建立網域群組 <Domain>\SAP_<SID2>_GlobalAdmin,例如,使用 <SID2> = PR2。 網域群組名稱是<網域>\SAP_PR2_GlobalAdmin。
準備 ASCS/SCS 叢集上的基礎結構
您必須針對第二個 SAP <SID>,準備現有 ASCS/SCS 叢集上的基礎結構:
- 在 DNS 伺服器上建立叢集 SAP ASCS/SCS 執行個體的虛擬主機名稱。
- 使用 PowerShell 將 IP 位址新增至現有的 Azure 內部負載平衡器。
SAP 多重 SID 案例的基礎結構準備中說明這些步驟。
使用現有的 SAP 全域主機準備 SOFS 叢集上的基礎結構
您可以重複使用現有的 <SAPGlobalHost> 和第一個 SAP <SID1> 系統的 Volume1。
圖 3:多重 SID SOFS 與 SAP 全域主機名稱相同
重要
針對第二個 SAP <SID2> 系統,使用的是相同的 Volume1 及相同的 <SAPGlobalHost> 網路名稱。 因為您已將 SAPMNT 設定為各種不同 SAP 系統的共用名稱,因此若要重複使用 <SAPGlobalHost> 網路名稱,您必須使用相同的 Volume1。
<SID2> 全域主機的檔案路徑為 C:\ClusterStorage\Volume1\usr\sap<SID2>\SYS。
針對 <SID2> 系統,您必須準備 SAP 全域主機 ..\SYS。 SOFS 叢集上的資料夾。
若要為 <SID2> 執行個體準備 SAP 全域主機,請執行下列 PowerShell 指令碼:
##################
# SAP multi-SID
##################
$SAPSID2 = "PR2"
$DomainName2 = "SAPCLUSTER"
$SAPSIDGlobalAdminGroupName2 = "$DomainName2\SAP_" + $SAPSID2 + "_GlobalAdmin"
# SAP ASCS/SCS cluster nodes
$ASCSCluster2Node1 = "ja1-ascs-0"
$ASCSCluster2Node2 = "ja1-ascs-1"
# Define the SAP ASCS/SCS cluster node computer objects
$ASCSCluster2ObjectNode1 = "$DomainName2\$ASCSCluster2Node1$"
$ASCSCluster2ObjectNode2 = "$DomainName2\$ASCSCluster2Node2$"
# Create usr\sap\.. folders on CSV
$SAPGlobalFolder2 = "C:\ClusterStorage\Volume1\usr\sap\$SAPSID2\SYS"
New-Item -Path $SAPGlobalFolder2 -ItemType Directory
# Add permissions for the SAP SID2 system
Grant-SmbShareAccess -Name sapmnt -AccountName $SAPSIDGlobalAdminGroupName2, $ASCSCluster2ObjectNode1, $ASCSCluster2ObjectNode2 -AccessRight Full -Force
$UsrSAPFolder = "C:\ClusterStorage\Volume1\usr\sap\"
# Set file and folder security
$Acl = Get-Acl $UsrSAPFolder
# Add the security object of the SAP_<sid>_GlobalAdmin group
$Ar = New-Object system.security.accesscontrol.filesystemaccessrule($SAPSIDGlobalAdminGroupName2,"FullControl", 'ContainerInherit,ObjectInherit', 'None', 'Allow')
$Acl.SetAccessRule($Ar)
# Add the security object of the clusternode1$ computer object
$Ar = New-Object system.security.accesscontrol.filesystemaccessrule($ASCSCluster2ObjectNode1,"FullControl",'ContainerInherit,ObjectInherit', 'None', 'Allow')
$Acl.SetAccessRule($Ar)
# Add the security object of the clusternode2$ computer object
$Ar = New-Object system.security.accesscontrol.filesystemaccessrule($ASCSCluster2ObjectNode2,"FullControl",'ContainerInherit,ObjectInherit', 'None', 'Allow')
$Acl.SetAccessRule($Ar)
# Set security
Set-Acl $UsrSAPFolder $Acl -Verbose
使用不同的 SAP 全域主機準備 SOFS 叢集上的基礎結構
您可以設定第二個 SOFS (例如,針對第二個 <SID2> 使用 <SAPGlobalHost2> 和不同的 Volume2 來設定第二個 SOFS 叢集角色)。
圖 4:多重 SID SOFS 與 SAP GLOBAL 主機名稱 2 相同
若要使用 <SAPGlobalHost2> 建立第二個 SOFS 角色,請執行這個 PowerShell 指令碼:
# Create SOFS with SAP Global Host Name 2
$SAPGlobalHostName = "sapglobal2"
Add-ClusterScaleOutFileServerRole -Name $SAPGlobalHostName
建立第二個 Volume2。 執行這個 PowerShell 指令碼:
New-Volume -StoragePoolFriendlyName S2D* -FriendlyName SAPPR2 -FileSystem CSVFS_ReFS -Size 5GB -ResiliencySettingName Mirror
圖 5:「容錯移轉叢集管理員」中的第二個 Volume2
針對第二個 <SID2> 建立 SAP 全域資料夾,並設定檔案安全性。
執行這個 PowerShell 指令碼:
# Create a folder for <SID2> on a second Volume2 and set file security
$SAPSID = "PR2"
$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\Volume2\usr\sap\$SAPSID\SYS"
New-Item -Path $SAPGlobalFOlder -ItemType Directory
$UsrSAPFolder = "C:\ClusterStorage\Volume2\usr\sap\"
# Set file and folder security
$Acl = Get-Acl $UsrSAPFolder
# Add the file security object of the SAP_<sid>_GlobalAdmin group
$Ar = New-Object system.security.accesscontrol.filesystemaccessrule($SAPSIDGlobalAdminGroupName,"FullControl", 'ContainerInherit,ObjectInherit', 'None', 'Allow')
$Acl.SetAccessRule($Ar)
# Add the security object of the clusternode1$ computer object
$Ar = New-Object system.security.accesscontrol.filesystemaccessrule($ASCSClusterObjectNode1,"FullControl",'ContainerInherit,ObjectInherit', 'None', 'Allow')
$Acl.SetAccessRule($Ar)
# Add the 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 <SID2>,在包含 <SAPGlobalHost2> 主機名稱的 Volume2 上建立 SAPMNT 檔案共用,請在容錯移轉叢集管理員中啟動 [新增檔案共用] 精靈。
在 saoglobal2 SOFS 叢集群組上按一下滑鼠右鍵,然後選取 [新增檔案共用]。
圖 6:啟動 [新增檔案共用] 精靈
圖 7:選取 [SMB 共用 - 快速]
圖 8:選取 [sapglobalhost2] 並在 Volume2 上指定路徑
圖 9:將檔案共用名稱設定為「sapmnt」
圖 10:停用所有設定
請針對下列項目將 [ 完全控制] 權限指派給檔案和 sapmnt 共用:
- SAP_<SID>_GlobalAdmin 網域使用者群組
- ASCS/SCS 叢集節點 ascs-1$ 和 ascs-2$ 的電腦物件
圖 11:將「完全控制」指派給使用者群組和電腦帳戶
圖 12:選取 [建立]
圖 13:已建立繫結至 sapglobal2 主機和 Volume2 的第二個 sapmnt
安裝 SAP NetWeaver 多重 SID
安裝 SAP <SID2> ASCS/SCS 和 ERS 執行個體
遵循先前針對一個 SAP <SID> 所說明的相同安裝和設定步驟。
安裝 DBMS 和 SAP 應用程式伺服器
安裝的 DBMS 和 SAP 應用程式伺服器,如先前所述。
下一步
[在沒有共用磁碟的故障轉移叢集上安裝 ASCS/SCS 實例][sap-official-ha-file-share-document]:HA 檔案共用的官方 SAP 指導方針
用於應用程式資料的擴增檔案伺服器概觀 (英文)
Windows Server 2016 中儲存體的新功能 (部分機器翻譯)