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

在 Windows 故障转移群集上安装 SAP NetWeaver 高可用性,在 Azure 上安装适用于 SAP ASCS/SCS 实例的文件共享

本文介绍如何在 Azure 上安装和配置高可用 SAP 系统,使用 Windows Server 故障转移群集 (WSFC) 和横向扩展文件服务器作为一个选项来群集化 SAP ASCS/SCS 实例。

先决条件

在开始安装之前,请查看以下文章:

需要以下来自 SAP 的可执行文件和 DLL:

  • SAP 软件预配管理器 (SWPM) 安装工具版本 SPS25 或更高版本。
  • SAP 内核 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 实例和一个在相同 Microsoft 故障转移群集组中运行的 SCS 实例。 将明确说明每个 SAP NetWeaver 安装堆栈的所有安装差异。 可假定所有其他部分都相同。

在 SOFS 群集上准备 SAP 全局主机

在 SOFS 群集上创建以下卷和文件共享:

  • SOFS 群集共享卷 (CSV) 上的 SAP GLOBALHOST 文件 C:\ClusterStorage\Volume1\usr\sap\<SID>\SYS\ 结构

  • SAPMNT 文件共享

  • 通过对以下项的完全控制,在 SAPMNT 文件共享和文件夹上设置安全性:

    • <域>\SAP_<SID>_GlobalAdmin 用户组
    • SAP ASCS/SCS 群集节点计算机对象 <域>\ClusterNode1$ 和 <域>\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 实例的群集节点上设置注册表项的说明,在两个 SAP ASCS/SCS 群集节点上设置 KeepAlive 参数。

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

通过安装以下项完成 SAP 系统安装:

  • DBMS 实例。
  • 主 SAP 应用程序服务器。
  • 其他 SAP 应用程序服务器。

后续步骤