你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

在 Azure 上使用 Windows Server 故障转移群集和文件共享实现 SAP ASCS/SCS 实例的多 SID 高可用性

Windows OS 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

图 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 配置

图 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 全局主机名

图 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

图 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

图 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:启动“添加文件共享”向导

图 6:启动“添加文件共享”向导


图 7:选择“SMB 共享 - 快速”

图 7:选择“SMB 共享 - 快速”


图 8:选择“sapglobalhost2”,并指定 Volume2 上的路径

图 8:选择“sapglobalhost2”,并指定 Volume2 上的路径


图 9:将文件共享名设置为“sapmnt”

图 9:将文件共享名设置为“sapmnt”


图 10:禁用所有设置

图 10:禁用所有设置


为以下项分配对文件和 sapmnt 共享的“完全控制”权限

  • SAP_<SID>_GlobalAdmin 域用户组
  • ASCS/SCS 群集节点 ascs-1$ 和 ascs-2$ 的计算机对象

图 11:为用户组和计算机帐户分配完全控制权限

图 11:为用户组和计算机帐户分配“完全控制”权限


图 12:选择“创建”

图 12:选择“创建”


图 13:绑定到 sapglobal2 主机和 Volume2 的第二个 sapmnt 已创建

图 13:绑定到 sapglobal2 主机和 Volume2 的第二个 sapmnt 已创建


安装 SAP NetWeaver 多 SID

安装 SAP <SID2> ASCS/SCS 和 ERS 实例

请按照上述适用于一个 SAP <SID> 的相同安装和配置步骤操作。

安装 DBMS 和 SAP 应用程序服务器

安装 DBMS 和 SAP 应用程序服务器,如上所述。

后续步骤