你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
在 Azure 上使用 Windows Server 故障转移群集和文件共享实现 SAP ASCS/SCS 实例的多 SID 高可用性
Windows
可以使用 Azure 内部负载均衡器管理多个虚拟 IP 地址。
在 SAP 部署中,可使用内部负载均衡器,为 SAP Central Services (ASCS/SCS) 实例创建 Windows 群集配置。
本文重点介绍了如何使用文件共享在现有 Windows Server 故障转移群集 (WSFC) 中安装附加的 SAP ASCS/SCS 群集实例,从单一 ASCS/SCS 安装迁移为 SAP 多 SID 配置。 完成此过程后,即已配置 SAP 多 SID 群集。
注意
此功能仅在 Azure 资源管理器部署模型中可用。
每个 Azure 内部负载均衡器的专用前端 IP 数有限制。
一个 WSFC 群集中的最大 SAP ASCS/SCS 实例数等于每个 Azure 内部负载均衡器的最大专用前端 IP 数。
本文档中介绍的配置尚不支持用于 Azure 可用性区域
若要详细了解负载均衡器限制,请参阅网络限制:Azure 资源管理器中的“每个负载均衡器的专用前端 IP”部分。 还可考虑使用 Azure 标准负载均衡器 SKU 而不是 Azure 负载均衡器的基本 SKU。
先决条件
已配置 WSFC 群集,通过文件共享用于一个 SAP ASCS/SCS 实例,如下图所示。
图 1:在两个群集中部署的 SAP ASCS/SCS 实例和 SOFS
重要
该设置必须满足以下条件:
- SAP ASCS/SCS 实例必须共享同一个 WSFC 群集。
- 属于不同 SAP SID 的不同 SAP 全局主机文件共享必须共享相同的 SOFS 群集。
- SAP ASCS/SCS 实例和 SOFS 共享不得合并在同一群集中。
- 每个数据库管理系统 (DBMS) SID 都必须有自己专用的 WSFC 群集。
- 属于一个 SAP 系统 SID 的 SAP 应用程序服务器必须有自身的专用 VM。
- 不支持在同一个群集中混合使用排队复制服务器 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 群集上准备基础结构
必须在现有 ASCS/SCS 群集上为第二个 SAP <SID> 准备基础结构:
- 在 DNS 服务器上创建 SAP ASCS/SCS 群集实例的虚拟主机名。
- 使用 PowerShell 将 IP 地址添加到现有 Azure 内部负载均衡器。
SAP 多 SID 方案的基础结构准备工作中介绍了这些步骤。
通过使用现有的 SAP 全局主机在 SOFS 群集上准备基础结构
可以重用第一个 SAP <SID1> 系统的现有 <SAPGlobalHost> 和 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(例如,第二个 SOFS 群集角色,其中为第二个 <SID2> 配置 <SAPGlobalHost2> 和不同的 Volume2)。
图 4:多 SID SOFS 使用相同的 SAP 全局主机名 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
若要在 Volume2 上为第二个 SAP <SID2> 创建使用 <SAPGlobalHost2> 主机名的 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 指南