你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
适用于 SAP 应用程序的 Azure NetApp 文档,适用于 RHEL 上的 SAP NetWeaver 的 Azure 虚拟机 HA
本文介绍如何部署虚拟机(VM)、配置 VM、安装群集框架,以及使用 Azure NetApp 文档 安装高可用性 SAP NetWeaver 7.50 系统。 在示例配置和安装命令中,ASCS 实例为数字 00,ERS 实例为 01,主应用程序实例 (PAS) 为 02,应用程序实例 (AAS) 为 03。 使用 SAP 系统 ID QAS。
文本不会详细介绍数据库层。
先决条件
请先阅读以下 SAP 说明和文档:
SAP 说明 1928533,其中包含:
- SAP 软件部署支持的 Azure VM 大小的列表。
- Azure VM 大小的重要容量信息。
- 支持的 SAP 软件、操作系统 (OS) 和数据库组合。
- Microsoft Azure 上 Windows 和 Linux 所需的 SAP 内核版本。
SAP 说明 2015553 列出了在 Azure 中 SAP 支持的 SAP 软件部署的先决条件。
SAP 说明 2002167 包含适用于 Red Hat Enterprise Linux 的建议 OS 设置。
SAP 说明 2009879 包含适用于 Red Hat Enterprise Linux 的 SAP HANA 指南。
SAP 说明 2178632 包含为 Azure 中的 SAP 报告的所有监控指标的详细信息。
SAP 说明 2191498 包含 Azure 中的 Linux 所需的 SAP 主机代理版本。
SAP 说明 2243692 包含 Azure 中的 Linux 上的 SAP 许可的相关信息。
SAP 说明 1999351 包含适用于 SAP 的 Azure 增强型监视扩展的更多故障排除信息。
SAP Community WIKI 包含适用于 Linux 的所有必需 SAP 说明。
常规 Red Hat Enterprise Linux (RHEL) 文档:
Azure 特定的 RHEL 文档:
- Support Policies for RHEL High Availability Clusters - Microsoft Azure Virtual Machines as Cluster Members(RHEL 高可用性群集的支持策略 - Microsoft Azure 虚拟机作为群集成员)
- Installing and Configuring a Red Hat Enterprise Linux 7.4 (and later) High-Availability Cluster on Microsoft Azure(在 Microsoft Azure 上安装和配置 Red Hat Enterprise Linux 7.4 [及更高版本] 高可用性群集)
概述
SAP NetWeaver 中央服务的高可用性(HA)需要共享存储。 在 Red Hat Linux 上实现 HA 之前,必须构建单独的高可用性 GlusterFS 群集。
现在,可以使用部署在 Azure NetApp 文档 上的共享存储来实现 SAP NetWeaver HA。 对共享存储使用Azure NetApp 文档无需更多 GlusterFS 群集。 SAP NetWeaver 中心服务的 HA(ASCS/SCS)仍需要 Pacemaker。
SAP NetWeaver ASCS、SAP NetWeaver SCS、SAP NetWeaver ERS 和 SAP HANA 数据库使用虚拟主机名和虚拟 IP 地址。 在 Azure 上,需要负载均衡器才能使用虚拟 IP 地址。 建议使用 Azure 负载均衡器 Standard。 此处的配置显示了一个负载均衡器,其中包含:
- ASCS 的前端 IP 地址 192.168.14.9。
- 适用于 ERS 的前端 IP 地址 192.168.14.10。
- ASCS 的探测端口 62000。
- ERS 的探测端口 62101。
设置 Azure NetApp 文件基础结构
SAP NetWeaver 要求对传输和配置文件目录使用共享存储。 在继续设置 Azure NetApp 文件基础结构之前,请先通过 Azure NetApp 文件文档熟悉该基础结构。 检查所选的 Azure 区域是否提供 Azure NetApp 文件。 有关按 Azure 区域Azure NetApp 文档的可用性,请参阅 Azure 区域Azure NetApp 文档可用性。
Azure NetApp 文档在多个区域中可用Azure 区域。
部署 Azure NetApp 文件资源
这些步骤假定已部署 Azure 虚拟网络。 必须在同一 Azure 虚拟网络或对等 Azure 虚拟网络中部署Azure NetApp 文档资源的Azure NetApp 文档资源和 VM。
按照有关如何设置Azure NetApp 文档容量池的说明设置Azure NetApp 文档容量池。 本文中介绍的 SAP NetWeaver 体系结构使用单个 Azure NetApp 文件容量池、高级 SKU。 建议为 Azure 上的 SAP NetWeaver 应用程序工作负荷Azure NetApp 文档 高级版 SKU。
按照有关如何将子网委托给Azure NetApp 文档的说明中所述,将子网委托给Azure NetApp 文档。
按照说明为Azure NetApp 文档创建卷,部署Azure NetApp 文档卷。 将卷部署在指定的 Azure NetApp 文件子网中。 将自动分配 Azure NetApp 卷的 IP 地址。 Azure NetApp 文档资源和 Azure VM 必须位于同一 Azure 虚拟网络或对等互连的 Azure 虚拟网络中。 在此示例中,我们使用两个Azure NetApp 文档卷:sapQAS 和 transSAP。 装载到相应装入点的文件路径为 /usrsapqas/sapmntQAS 和 /usrsap qas/usrsapQASsys。
- 卷 sapQAS (nfs://192.168.24.5/usrsapqas/sapmntQAS)
- 卷 sapQAS (nfs://192.168.24.5/usrsapqas/usrsapQASascs)
- 卷 sapQAS (nfs://192.168.24.5/usrsapqas/usrsapQASsys)
- 卷 sapQAS (nfs://192.168.24.5/usrsapqas/usrsapQASers)
- 卷 transSAP (nfs://192.168.24.4/transSAP)
- 卷 sapQAS (nfs://192.168.24.5/usrsapqas/usrsapQAS pas)
- 卷 sapQAS (nfs://192.168.24.5/usrsapqas/usrsapQASaas)
在此示例中,我们为所有 SAP NetWeaver 文件系统使用了Azure NetApp 文档来演示如何使用Azure NetApp 文档。 不需要通过 NFS 装载的 SAP 文件系统也可以部署为 Azure 磁盘存储。 在此示例中,a-e 必须位于 Azure NetApp 文档 和 f-g 上(即 /usr/sap/QAS/D02 和 /usr/sap/QAS/D03)可以部署为 Azure 磁盘存储。
重要注意事项
考虑在 RHEL HA 体系结构上为 SAP NetWeaver Azure NetApp 文档时,请注意以下重要注意事项:
- 最小容量池为 4 TiB。 可以增加 1 TiB 增量的容量池大小。
- 最小卷大小为 100 GiB。
- Azure NetApp 文档和将装载Azure NetApp 文档卷的所有 VM 必须位于同一 Azure 虚拟网络或同一区域中的对等互连虚拟网络中。 现在支持通过同一区域中的虚拟网络对等互连进行Azure NetApp 文档访问。 尚不支持通过全局对等互连进行Azure NetApp 文档访问。
- 所选虚拟网络必须具有委托给Azure NetApp 文档的子网。
- Azure NetApp 文档卷的吞吐量和性能特征是卷配额和服务级别的一项功能。 有关详细信息,请参阅Azure NetApp 文档的服务级别。 调整 SAP Azure NetApp 卷的大小时,请确保生成的吞吐量满足应用程序要求。
- Azure NetApp 文档提供导出策略。 可以控制允许的客户端和访问类型(如读/写和只读)。
- Azure NetApp 文档功能尚无法识别区域。 目前,Azure NetApp 文档功能未部署在 Azure 区域中的所有可用性区域中。 请注意某些 Azure 区域的潜在延迟影响。
- 可以将Azure NetApp 文档卷部署为 NFSv3 或 NFSv4.1 卷。 SAP 应用程序层(ASCS/ERS、SAP 应用程序服务器)支持这两种协议。
准备基础结构
Azure 市场包含具有高可用性加载项的 SAP 限定的映像,这些映像可用于使用各种版本的 Red Hat 部署新 VM。
通过Azure 门户手动部署 Linux VM
本文档假定你已部署 Azure 虚拟网络、子网和资源组。
为 SAP ASCS、ERS 和应用程序服务器部署 VM。 选择 SAP 系统支持的合适 RHEL 映像。 可以在任一可用性选项中部署 VM:虚拟机规模集、可用性区域或可用性集。
配置 Azure 负载均衡器
在 VM 配置期间,可以选择在网络部分中创建或选择退出的负载均衡器。 按照以下步骤为 SAP ASCS 和 SAP ERS 的高可用性设置配置标准负载均衡器。
按照创建负载均衡器指南,使用 Azure 门户为高可用性 SAP 系统设置标准负载均衡器。 在设置负载均衡器期间,请考虑以下几点。
- 前端 IP 配置: 创建两个前端 IP,一个用于 ASCS,另一个用于 ERS。 选择与 ASCS/ERS 虚拟机相同的虚拟网络和子网。
- 后端池: 创建后端池并添加 ASCS 和 ERS VM。
- 入站规则: 创建两个负载均衡规则,一个用于 ASCS,另一个用于 ERS。 对两个负载均衡规则执行相同步骤。
- 前端 IP 地址:选择前端 IP
- 后端池:选择后端池
- 检查“高可用性端口”
- 协议:TCP
- 运行状况探测:使用以下详细信息创建运行状况探测(适用于 ASCS 或 ERS)
- 协议:TCP
- 端口:[例如:620<实例-否。> 对于 ASCS,621<实例否> 。对于 ERS]
- 间隔:5
- 探测阈值:2
- 空闲超时 (分钟):30
- 选中“启用浮动 IP”
注意
不会遵循运行状况探测配置属性 numberOfProbes(在门户中也称为“运行不正常阈值”)。 因此,若要控制连续探测成功或失败的次数,请将属性“probeThreshold”设置为 2。 目前无法使用 Azure 门户 设置此属性,因此请使用 Azure CLI 或 PowerShell 命令。
重要
负载均衡方案中的 NIC 辅助 IP 配置不支持浮动 IP。 有关详细信息,请参阅Azure 负载均衡器限制。 如果需要 VM 的更多 IP 地址,请部署第二个 NIC。
注意
当没有公共 IP 地址的 VM 放置在内部(无公共 IP 地址)标准负载均衡器的后端池中时,除非执行更多配置以允许路由到公共终结点,否则不会建立出站 Internet 连接。 有关如何实现出站连接的详细信息,请参阅 SAP 高可用性方案中使用 Azure 标准负载均衡器实现 VM 的公共终结点连接。
重要
请勿在放置于 Azure 负载均衡器之后的 Azure VM 上启用 TCP 时间戳。 启用 TCP 时间戳可能会导致运行状况探测失败。 将参数 net.ipv4.tcp_timestamps 设置为 0。 有关详细信息,请参阅负载均衡器运行状况探测。
禁用 ID 映射(如果使用 NFSv4.1)
仅当使用具有 NFSv4.1 协议的Azure NetApp 文档卷时,本节中的说明才适用。 在要装载 Azure NetApp 文件 NFSv4.1 卷的所有 VM 上执行配置。
验证 NFS 域设置。 确保域配置为默认Azure NetApp 文档域,即
defaultv4iddomain.com
映射设置为没有人。重要
确保在 VM 上的
/etc/idmapd.conf
中设置 NFS 域,以匹配 Azure NetApp 文件上的默认域配置:“defaultv4iddomain.com
”。 如果 NFS 客户端(即 VM)和 NFS 服务器(即 Azure NetApp 配置)上的域配置不匹配,则 VM 上装载的 Azure NetApp 卷上的文件的权限将显示为nobody
。sudo cat /etc/idmapd.conf # Example [General] Domain = defaultv4iddomain.com [Mapping] Nobody-User = nobody Nobody-Group = nobody
以下 [A] 前缀适用于 PAS 和 AAS。
[A] 验证
nfs4_disable_idmapping
。 它应设置为 Y。若要创建所在的nfs4_disable_idmapping
目录结构,请运行装载命令。 由于为内核和驱动程序保留访问权限,因此无法手动创建目录/sys/modules
。# Check nfs4_disable_idmapping cat /sys/module/nfs/parameters/nfs4_disable_idmapping # If you need to set nfs4_disable_idmapping to Y mkdir /mnt/tmp mount 192.168.24.5:/sapQAS umount /mnt/tmp echo "Y" > /sys/module/nfs/parameters/nfs4_disable_idmapping # Make the configuration permanent echo "options nfs nfs4_disable_idmapping=Y" >> /etc/modprobe.d/nfs.conf
设置 (A)SCS
接下来,你将做好准备并安装 SAP ASCS 和 ERS 实例。
创建 Pacemaker 群集
按照在 Azure 中的 Red Hat Enterprise Linux 上设置 Pacemaker 的步骤,创建适用于此 (A)SCS 服务器的基本 Pacemaker。
准备 SAP NetWeaver 安装
以下各项带有任一前缀:
- [A] :适用于所有节点
- [1]:仅适用于节点 1
- [2]:仅适用于节点 2
[A] 设置主机名解析。
可以使用 DNS 服务器,或修改所有节点上的
/etc/hosts
文件。 此示例演示如何使用/etc/hosts
文件。 请替换以下命令中的 IP 地址和主机名:sudo vi /etc/hosts
将以下行插入
/etc/hosts
中。 根据环境更改 IP 地址和主机名。# IP address of cluster node 1 192.168.14.5 anftstsapcl1 # IP address of cluster node 2 192.168.14.6 anftstsapcl2 # IP address of the load balancer frontend configuration for SAP Netweaver ASCS 192.168.14.9 anftstsapvh # IP address of the load balancer frontend configuration for SAP Netweaver ERS 192.168.14.10 anftstsapers
[1] 在 Azure NetApp 文件卷中创建 SAP 目录。 暂时将Azure NetApp 文档卷装载到其中一个 VM 上,并创建 SAP 目录(文件路径)。
# mount temporarily the volume sudo mkdir -p /saptmp # If using NFSv3 sudo mount -t nfs -o rw,hard,rsize=65536,wsize=65536,nfsvers=3,tcp 192.168.24.5:/sapQAS /saptmp # If using NFSv4.1 sudo mount -t nfs -o rw,hard,rsize=65536,wsize=65536,nfsvers=4.1,sec=sys,tcp 192.168.24.5:/sapQAS /saptmp # create the SAP directories sudo cd /saptmp sudo mkdir -p sapmntQAS sudo mkdir -p usrsapQASascs sudo mkdir -p usrsapQASers sudo mkdir -p usrsapQASsys sudo mkdir -p usrsapQASpas sudo mkdir -p usrsapQASaas # unmount the volume and delete the temporary directory sudo cd .. sudo umount /saptmp sudo rmdir /saptmp
[A] 创建共享目录。
sudo mkdir -p /sapmnt/QAS sudo mkdir -p /usr/sap/trans sudo mkdir -p /usr/sap/QAS/SYS sudo mkdir -p /usr/sap/QAS/ASCS00 sudo mkdir -p /usr/sap/QAS/ERS01 sudo chattr +i /sapmnt/QAS sudo chattr +i /usr/sap/trans sudo chattr +i /usr/sap/QAS/SYS sudo chattr +i /usr/sap/QAS/ASCS00 sudo chattr +i /usr/sap/QAS/ERS01
[A] 安装 NFS 客户端和其他要求。
sudo yum -y install nfs-utils resource-agents resource-agents-sap
[A] 检查
resource-agents-sap
的版本。请确保已安装的
resource-agents-sap
包的版本至少为3.9.5-124.el7
。sudo yum info resource-agents-sap # Loaded plugins: langpacks, product-id, search-disabled-repos # Repodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fast # Installed Packages # Name : resource-agents-sap # Arch : x86_64 # Version : 3.9.5 # Release : 124.el7 # Size : 100 k # Repo : installed # From repo : rhel-sap-for-rhel-7-server-rpms # Summary : SAP cluster resource agents and connector script # URL : https://github.com/ClusterLabs/resource-agents # License : GPLv2+ # Description : The SAP resource agents and connector script interface with # : Pacemaker to allow SAP instances to be managed in a cluster # : environment.
[A] 添加装载条目。
如果使用 NFSv3:
sudo vi /etc/fstab # Add the following lines to fstab, save and exit 192.168.24.5:/sapQAS/sapmntQAS /sapmnt/QAS nfs rw,hard,rsize=65536,wsize=65536,nfsvers=3 192.168.24.5:/sapQAS/usrsapQASsys /usr/sap/QAS/SYS nfs rw,hard,rsize=65536,wsize=65536,nfsvers=3 192.168.24.4:/transSAP /usr/sap/trans nfs rw,hard,rsize=65536,wsize=65536,nfsvers=3
如果使用 NFSv4.1:
sudo vi /etc/fstab # Add the following lines to fstab, save and exit 192.168.24.5:/sapQAS/sapmntQAS /sapmnt/QAS nfs rw,hard,rsize=65536,wsize=65536,nfsvers=4.1,sec=sys 192.168.24.5:/sapQAS/usrsapQASsys /usr/sap/QAS/SYS nfs rw,hard,rsize=65536,wsize=65536,nfsvers=4.1,sec=sys 192.168.24.4:/transSAP /usr/sap/trans nfs rw,hard,rsize=65536,wsize=65536,nfsvers=4.1,sec=sys
注意
装载卷时,请确保匹配Azure NetApp 文档卷的 NFS 协议版本。 如果将 Azure NetApp 文件卷创建为 NFSv3 卷,请使用相应的 NFSv3 配置。 如果将 Azure NetApp 文件卷创建为 NFSv4.1 卷,请按照说明禁用 ID 映射,并确保使用相应的 NFSv4.1 配置。 在此示例中,Azure NetApp 文档卷创建为 NFSv3 卷。
装载新共享。
sudo mount -a
[A] 配置 SWAP 文件。
sudo vi /etc/waagent.conf # Set the property ResourceDisk.EnableSwap to y # Create and use swapfile on resource disk. ResourceDisk.EnableSwap=y # Set the size of the SWAP file with property ResourceDisk.SwapSizeMB # The free space of resource disk varies by VM size. Make sure that you do not set a value that is too big. You can check the SWAP space with command swapon # Size of the swapfile. ResourceDisk.SwapSizeMB=2000
重启代理以激活更改。
sudo service waagent restart
[A] 执行 RHEL OS 配置。
安装 SAP NetWeaver ASCS/ERS
[1] 配置群集默认属性。
pcs resource defaults resource-stickiness=1 pcs resource defaults migration-threshold=3
[1] 为 ASCS 实例创建虚拟 IP 资源和运行状况探测。
sudo pcs node standby anftstsapcl2 # If using NFSv3 sudo pcs resource create fs_QAS_ASCS Filesystem device='192.168.24.5:/sapQAS/usrsapQASascs' \ directory='/usr/sap/QAS/ASCS00' fstype='nfs' force_unmount=safe \ op start interval=0 timeout=60 op stop interval=0 timeout=120 op monitor interval=200 timeout=40 \ --group g-QAS_ASCS # If using NFSv4.1 sudo pcs resource create fs_QAS_ASCS Filesystem device='192.168.24.5:/sapQAS/usrsapQASascs' \ directory='/usr/sap/QAS/ASCS00' fstype='nfs' force_unmount=safe options='sec=sys,nfsvers=4.1' \ op start interval=0 timeout=60 op stop interval=0 timeout=120 op monitor interval=200 timeout=105 \ --group g-QAS_ASCS sudo pcs resource create vip_QAS_ASCS IPaddr2 \ ip=192.168.14.9 \ --group g-QAS_ASCS sudo pcs resource create nc_QAS_ASCS azure-lb port=62000 \ --group g-QAS_ASCS
确保群集状态正常,并且所有资源都已启动。 资源在哪个节点上运行并不重要。
sudo pcs status # Node anftstsapcl2: standby # Online: [ anftstsapcl1 ] # # Full list of resources: # # rsc_st_azure (stonith:fence_azure_arm): Started anftstsapcl1 # Resource Group: g-QAS_ASCS # fs_QAS_ASCS (ocf::heartbeat:Filesystem): Started anftstsapcl1 # nc_QAS_ASCS (ocf::heartbeat:azure-lb): Started anftstsapcl1 # vip_QAS_ASCS (ocf::heartbeat:IPaddr2): Started anftstsapcl1
[1] 安装 SAP NetWeaver ASCS。
使用映射到 ASCS 的负载均衡器前端配置的 IP 地址(例如,anftstsapvh、192.168.14.9)和用于探测负载均衡器的实例编号(例如 00)将 SAP NetWeaver ASCS 安装为第一个节点上的根。
可以使用
sapinst
参数SAPINST_REMOTE_ACCESS_USER
来允许非 root 用户连接到sapinst
。# Allow access to SWPM. This rule is not permanent. If you reboot the machine, you have to run the command again. sudo firewall-cmd --zone=public --add-port=4237/tcp sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin SAPINST_USE_HOSTNAME=<virtual_hostname>
如果安装过程无法在 /usr/sap/QAS/ASCS00 中创建子文件夹,请尝试设置 ASCS00 文件夹的所有者和组,然后重试。
sudo chown qasadm /usr/sap/QAS/ASCS00 sudo chgrp sapsys /usr/sap/QAS/ASCS00
[1] 为 ERS 实例创建虚拟 IP 资源和运行状况探测。
sudo pcs node unstandby anftstsapcl2 sudo pcs node standby anftstsapcl1 # If using NFSv3 sudo pcs resource create fs_QAS_AERS Filesystem device='192.168.24.5:/sapQAS/usrsapQASers' \ directory='/usr/sap/QAS/ERS01' fstype='nfs' force_unmount=safe \ op start interval=0 timeout=60 op stop interval=0 timeout=120 op monitor interval=200 timeout=40 \ --group g-QAS_AERS # If using NFSv4.1 sudo pcs resource create fs_QAS_AERS Filesystem device='192.168.24.5:/sapQAS/usrsapQASers' \ directory='/usr/sap/QAS/ERS01' fstype='nfs' force_unmount=safe options='sec=sys,nfsvers=4.1' \ op start interval=0 timeout=60 op stop interval=0 timeout=120 op monitor interval=200 timeout=105 \ --group g-QAS_AERS sudo pcs resource create vip_QAS_AERS IPaddr2 \ ip=192.168.14.10 \ --group g-QAS_AERS sudo pcs resource create nc_QAS_AERS azure-lb port=62101 \ --group g-QAS_AERS
确保群集状态正常,并且所有资源都已启动。 资源在哪个节点上运行并不重要。
sudo pcs status # Node anftstsapcl1: standby # Online: [ anftstsapcl2 ] # # Full list of resources: # # rsc_st_azure (stonith:fence_azure_arm): Started anftstsapcl2 # Resource Group: g-QAS_ASCS # fs_QAS_ASCS (ocf::heartbeat:Filesystem): Started anftstsapcl2 # nc_QAS_ASCS (ocf::heartbeat:azure-lb): Started anftstsapcl2< # vip_QAS_ASCS (ocf::heartbeat:IPaddr2): Started anftstsapcl2 # Resource Group: g-QAS_AERS # fs_QAS_AERS (ocf::heartbeat:Filesystem): Started anftstsapcl2 # nc_QAS_AERS (ocf::heartbeat:azure-lb): Started anftstsapcl2 # vip_QAS_AERS (ocf::heartbeat:IPaddr2): Started anftstsapcl2
[2] 安装 SAP NetWeaver ERS。
使用映射到 ERS 的负载均衡器前端配置的 IP 地址(例如,anftstsapers、192.168.14.10)和用于探测负载均衡器的实例编号(例如 01)将 SAP NetWeaver ERS 安装为第二个节点上的根目录。
可以使用
sapinst
参数SAPINST_REMOTE_ACCESS_USER
来允许非 root 用户连接到sapinst
。# Allow access to SWPM. This rule is not permanent. If you reboot the machine, you have to run the command again. sudo firewall-cmd --zone=public --add-port=4237/tcp sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin SAPINST_USE_HOSTNAME=<virtual_hostname>
如果安装过程无法在 /usr/sap/QAS/ERS01 中创建子文件夹,请尝试设置 ERS01 文件夹的所有者和组,然后重试。
sudo chown qaadm /usr/sap/QAS/ERS01 sudo chgrp sapsys /usr/sap/QAS/ERS01
[1] 调整 ASCS/SCS 和 ERS 实例配置文件。
ASCS/SCS 配置文件
sudo vi /sapmnt/QAS/profile/QAS_ASCS00_anftstsapvh # Change the restart command to a start command #Restart_Program_01 = local $(_EN) pf=$(_PF) Start_Program_01 = local $(_EN) pf=$(_PF) # Add the keep alive parameter, if using ENSA1 enque/encni/set_so_keepalive = true
对于 ENSA1 和 ENSA2,请确保按 SAP 说明 1410736 中所述设置
keepalive
OS 参数。ERS 配置文件
sudo vi /sapmnt/QAS/profile/QAS_ERS01_anftstsapers # Change the restart command to a start command #Restart_Program_00 = local $(_ER) pf=$(_PFL) NR=$(SCSID) Start_Program_00 = local $(_ER) pf=$(_PFL) NR=$(SCSID) # remove Autostart from ERS profile # Autostart = 1
[A] 配置“保持连接”。
SAP NetWeaver 应用程序服务器和 ASCS/SCS 之间的通信是通过软件负载均衡器进行路由的。 负载均衡器在可配置的超时之后将断开非活动连接。 若要防止此操作,请使用 ENSA1 在 SAP NetWeaver ASCS/SCS 配置文件中设置参数,并在 ENSA1/ENSA2 的所有 SAP 服务器上更改 Linux 系统
keepalive
设置。 有关详细信息,请参阅 SAP 说明 1410736。# Change the Linux system configuration sudo sysctl net.ipv4.tcp_keepalive_time=300
[A] 更新
/usr/sap/sapservices
文件。要防止
sapinit
启动脚本启动实例,必须从/usr/sap/sapservices
文件中注释掉由 Pacemaker 管理的所有实例。sudo vi /usr/sap/sapservices # Depending on whether the SAP Startup framework is integrated with systemd, you will observe one of the two entries on the ASCS node. You should comment out the line(s). # LD_LIBRARY_PATH=/usr/sap/QAS/ASCS00/exe:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; /usr/sap/QAS/ASCS00/exe/sapstartsrv pf=/usr/sap/QAS/SYS/profile/QAS_ASCS00_anftstsapvh -D -u qasadm # systemctl --no-ask-password start SAPQAS_00 # sapstartsrv pf=/usr/sap/QAS/SYS/profile/QAS_ASCS00_anftstsapvh # Depending on whether the SAP Startup framework is integrated with systemd, you will observe one of the two entries on the ASCS node. You should comment out the line(s). # LD_LIBRARY_PATH=/usr/sap/QAS/ERS01/exe:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; /usr/sap/QAS/ERS01/exe/sapstartsrv pf=/usr/sap/QAS/ERS01/profile/QAS_ERS01_anftstsapers -D -u qasadm # systemctl --no-ask-password start SAPQAS_01 # sapstartsrv pf=/usr/sap/QAS/ERS01/profile/QAS_ERS01_anftstsapers
重要
借助基于 systemd 的 SAP 启动框架,SAP 实例现在可以由 systemd 管理。 SAP 所需的最低 Red Hat Enterprise Linux (RHEL) 版本是 RHEL 8。 如 SAP 说明 3115048 中所述,全新安装一个 SAP 内核(具有集成的基于 systemd 的 SAP 启动框架支持)将始终生成 systemd 控制的 SAP 实例。 但是,将现有 SAP 安装通过 SAP 内核升级升级到一个具有基于 systemd 的 SAP 启动框架支持的内核后,必须按照 SAP 说明 3115048 中所述执行一些手动步骤,以将现有 SAP 启动环境转换为一个由 systemd 控制的环境。
当利用适用于 SAP 的 Red Hat HA 服务(群集配置)来管理 SAP 应用程序服务器实例(例如 SAP ASCS 和 SAP ERS)时,需要进行额外的修改以确保 SAPInstance 资源代理与新的基于 systemd 的 SAP 启动框架之间的兼容性。 因此,根据 SAP 说明 3115048 安装 SAP 应用程序服务器实例或切换到启用了 systemd 的 SAP 内核后,必须在所有群集节点上成功完成 Red Hat KBA 6884531 中提到的步骤。
[1] 创建 SAP 群集资源。
根据是运行 ENSA1 还是 ENSA2 系统,选择相应的选项卡来定义资源。 SAP 在 SAP NetWeaver 7.52 中引入了对 ENSA2 的支持,包括复制。 从 ABAP 平台 1809 开始,默认会安装 ENSA2。 对于 ENSA2 支持。 有关排队服务器 2 的支持,请参阅 SAP 说明 2630416。
如果使用排队服务器 2 体系结构 (ENSA2),则安装资源代理 resource-agents-sap-4.1.1-12.el7.x86_64 或更新版本,并按此处所示定义资源:
sudo pcs property set maintenance-mode=true # If using NFSv3 sudo pcs resource create rsc_sap_QAS_ASCS00 SAPInstance \ InstanceName=QAS_ASCS00_anftstsapvh START_PROFILE="/sapmnt/QAS/profile/QAS_ASCS00_anftstsapvh" \ AUTOMATIC_RECOVER=false \ meta resource-stickiness=5000 migration-threshold=1 failure-timeout=60 \ op monitor interval=20 on-fail=restart timeout=60 \ op start interval=0 timeout=600 op stop interval=0 timeout=600 \ --group g-QAS_ASCS # If using NFSv4.1 sudo pcs resource create rsc_sap_QAS_ASCS00 SAPInstance \ InstanceName=QAS_ASCS00_anftstsapvh START_PROFILE="/sapmnt/QAS/profile/QAS_ASCS00_anftstsapvh" \ AUTOMATIC_RECOVER=false \ meta resource-stickiness=5000 migration-threshold=1 failure-timeout=60 \ op monitor interval=20 on-fail=restart timeout=105 \ op start interval=0 timeout=600 op stop interval=0 timeout=600 \ --group g-QAS_ASCS sudo pcs resource meta g-QAS_ASCS resource-stickiness=3000 # If using NFSv3 sudo pcs resource create rsc_sap_QAS_ERS01 SAPInstance \ InstanceName=QAS_ERS01_anftstsapers START_PROFILE="/sapmnt/QAS/profile/QAS_ERS01_anftstsapers" \ AUTOMATIC_RECOVER=false IS_ERS=true \ op monitor interval=20 on-fail=restart timeout=60 op start interval=0 timeout=600 op stop interval=0 timeout=600 \ --group g-QAS_AERS # If using NFSv4.1 sudo pcs resource create rsc_sap_QAS_ERS01 SAPInstance \ InstanceName=QAS_ERS01_anftstsapers START_PROFILE="/sapmnt/QAS/profile/QAS_ERS01_anftstsapers" \ AUTOMATIC_RECOVER=false IS_ERS=true \ op monitor interval=20 on-fail=restart timeout=105 op start interval=0 timeout=600 op stop interval=0 timeout=600 \ --group g-QAS_AERS sudo pcs constraint colocation add g-QAS_AERS with g-QAS_ASCS -5000 sudo pcs constraint location rsc_sap_QAS_ASCS00 rule score=2000 runs_ers_QAS eq 1 sudo pcs constraint order start g-QAS_ASCS then stop g-QAS_AERS kind=Optional symmetrical=false sudo pcs node unstandby anftstsapcl1 sudo pcs property set maintenance-mode=false
如果要从旧版本升级并切换到排队服务器 2,请参阅 SAP 说明 2641322。
注意
由于协议特定的暂停(与 NFSv4.1 租约续订相关),使用 NFSv4.1 时建议的超时较高。 有关详细信息,请参阅 NetApp 中的 NFS 最佳做法。 前述配置中的超时只是示例,可能需要根据特定的 SAP 设置进行调整。
确保群集状态正常,并且所有资源都已启动。 资源在哪个节点上运行并不重要。
sudo pcs status # Online: [ anftstsapcl1 anftstsapcl2 ] # # Full list of resources: # # rsc_st_azure (stonith:fence_azure_arm): Started anftstsapcl2 # Resource Group: g-QAS_ASCS # fs_QAS_ASCS (ocf::heartbeat:Filesystem): Started anftstsapcl2 # nc_QAS_ASCS (ocf::heartbeat:azure-lb): Started anftstsapcl2 # vip_QAS_ASCS (ocf::heartbeat:IPaddr2): Started anftstsapcl2 # rsc_sap_QAS_ASCS00 (ocf::heartbeat:SAPInstance): Started anftstsapcl2 # Resource Group: g-QAS_AERS # fs_QAS_AERS (ocf::heartbeat:Filesystem): Started anftstsapcl1 # nc_QAS_AERS (ocf::heartbeat:azure-lb): Started anftstsapcl1 # vip_QAS_AERS (ocf::heartbeat:IPaddr2): Started anftstsapcl1 # rsc_sap_QAS_ERS01 (ocf::heartbeat:SAPInstance): Started anftstsapcl1
[1] 运行以下步骤来配置
priority-fencing-delay
(仅适用于 pacemaker-2.0.4-6.el8 或更高版本)。注意
如果你有双节点群集,则可以选择配置
priority-fencing-delay
群集属性。 当发生拆分脑方案时,此属性在隔离具有较高总资源优先级的节点时引入了更多的延迟。 有关详细信息,请参阅 Pacemaker 是否可以隔离运行最少资源的群集节点?。属性
priority-fencing-delay
适用于 pacemaker-2.0.4-6.el8 或更高版本。 如果要在现有群集上设置priority-fencing-delay
,请确保清除pcmk_delay_max
隔离设备中的设置。sudo pcs resource defaults update priority=1 sudo pcs resource update rsc_sap_QAS_ASCS00 meta priority=10 sudo pcs property set priority-fencing-delay=15s
[A] 在两个节点上为 ASCS 和 ERS 添加防火墙规则。
# Probe Port of ASCS sudo firewall-cmd --zone=public --add-port={62000,3200,3600,3900,8100,50013,50014,50016}/tcp --permanent sudo firewall-cmd --zone=public --add-port={62000,3200,3600,3900,8100,50013,50014,50016}/tcp # Probe Port of ERS sudo firewall-cmd --zone=public --add-port={62101,3201,3301,50113,50114,50116}/tcp --permanent sudo firewall-cmd --zone=public --add-port={62101,3201,3301,50113,50114,50116}/tcp
SAP NetWeaver 应用程序服务器准备
某些数据库要求在应用程序服务器上运行数据库实例安装。 请准备好应用程序服务器 VM,使之能够在这些场合下使用。
以下步骤假定在与 ASCS/SCS 和 HANA 服务器不同的服务器上安装应用程序服务器。 否则,则无需进行某些步骤(如配置主机名解析)。
以下各项带有任一前缀:
- [A]:适用于 PAS 和 AAS
- [P]:仅适用于 PAS
- [S]:仅适用于 AAS
[A] 设置主机名解析。
可以使用 DNS 服务器,或修改所有节点上的
/etc/hosts
文件。 此示例演示如何使用/etc/hosts
文件。 请替换以下命令中的 IP 地址和主机名:sudo vi /etc/hosts
将以下行插入
/etc/hosts
中。 根据环境更改 IP 地址和主机名。# IP address of the load balancer frontend configuration for SAP NetWeaver ASCS 192.168.14.9 anftstsapvh # IP address of the load balancer frontend configuration for SAP NetWeaver ASCS ERS 192.168.14.10 anftstsapers 192.168.14.7 anftstsapa01 192.168.14.8 anftstsapa02
[A] 创建
sapmnt
目录。sudo mkdir -p /sapmnt/QAS sudo mkdir -p /usr/sap/trans sudo chattr +i /sapmnt/QAS sudo chattr +i /usr/sap/trans
[A] 安装 NFS 客户端和其他要求。
sudo yum -y install nfs-utils uuidd
[A] 添加装载条目。
如果使用 NFSv3:
sudo vi /etc/fstab # Add the following lines to fstab, save and exit 192.168.24.5:/sapQAS/sapmntQAS /sapmnt/QAS nfs rw,hard,rsize=65536,wsize=65536,nfsvers=3 192.168.24.4:/transSAP /usr/sap/trans nfs rw,hard,rsize=65536,wsize=65536,nfsvers=3
如果使用 NFSv4.1:
sudo vi /etc/fstab # Add the following lines to fstab, save and exit 192.168.24.5:/sapQAS/sapmntQAS /sapmnt/QAS nfs rw,hard,rsize=65536,wsize=65536,nfsvers=4.1,sec=sys 192.168.24.4:/transSAP /usr/sap/trans nfs rw,hard,rsize=65536,wsize=65536,nfsvers=4.1,sec=sys
装载新共享。
sudo mount -a
[P] 创建并装载 PAS 目录。
如果使用 NFSv3:
sudo mkdir -p /usr/sap/QAS/D02 sudo chattr +i /usr/sap/QAS/D02 sudo vi /etc/fstab # Add the following line to fstab 92.168.24.5:/sapQAS/usrsapQASpas /usr/sap/QAS/D02 nfs rw,hard,rsize=65536,wsize=65536,nfsvers=3 # Mount sudo mount -a
如果使用 NFSv4.1:
sudo mkdir -p /usr/sap/QAS/D02 sudo chattr +i /usr/sap/QAS/D02 sudo vi /etc/fstab # Add the following line to fstab 92.168.24.5:/sapQAS/usrsapQASpas /usr/sap/QAS/D02 nfs rw,hard,rsize=65536,wsize=65536,nfsvers=4.1,sec=sys # Mount sudo mount -a
[S] 创建并装载 AAS 目录。
如果使用 NFSv3:
sudo mkdir -p /usr/sap/QAS/D03 sudo chattr +i /usr/sap/QAS/D03 sudo vi /etc/fstab # Add the following line to fstab 92.168.24.5:/sapQAS/usrsapQASaas /usr/sap/QAS/D03 nfs rw,hard,rsize=65536,wsize=65536,nfsvers=3 # Mount sudo mount -a
如果使用 NFSv4.1:
sudo mkdir -p /usr/sap/QAS/D03 sudo chattr +i /usr/sap/QAS/D03 sudo vi /etc/fstab # Add the following line to fstab 92.168.24.5:/sapQAS/usrsapQASaas /usr/sap/QAS/D03 nfs rw,hard,rsize=65536,wsize=65536,nfsvers=4.1,sec=sys # Mount sudo mount -a
[A] 配置 SWAP 文件。
sudo vi /etc/waagent.conf # Set the property ResourceDisk.EnableSwap to y # Create and use swapfile on resource disk. ResourceDisk.EnableSwap=y # Set the size of the SWAP file with property ResourceDisk.SwapSizeMB # The free space of resource disk varies by VM size. Make sure that you do not set a value that is too big. You can check the SWAP space with command swapon # Size of the swapfile. ResourceDisk.SwapSizeMB=2000
重启代理以激活更改。
sudo service waagent restart
安装数据库
在此示例中,SAP NetWeaver 安装在 SAP HANA 上。 可以使用每个受支持的数据库完成此安装。 有关如何在 Azure 中安装 SAP HANA 的详细信息,请参阅 Red Hat Enterprise Linux 上 Azure VM 的 SAP HANA 的高可用性。 有关支持的数据库列表,请参阅 SAP 说明 1928533。
运行 SAP 数据库实例安装。
使用映射到数据库的负载均衡器前端配置的 IP 地址的虚拟主机名,将 SAP NetWeaver 数据库实例安装为根。
可以使用
sapinst
参数SAPINST_REMOTE_ACCESS_USER
来允许非 root 用户连接到sapinst
。sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin
SAP NetWeaver 应用程序服务器安装
请按照这些步骤安装 SAP 应用程序服务器。
准备应用程序服务器。
遵循前面 SAP NetWeaver 应用程序服务器准备一节中的步骤准备应用程序服务器。
安装 SAP NetWeaver 应用程序服务器。
安装主服务器或其他的 SAP NetWeaver 应用程序服务器。
可以使用
sapinst
参数SAPINST_REMOTE_ACCESS_USER
来允许非 root 用户连接到sapinst
。sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin
更新 SAP HANA 安全存储。
更新 SAP HANA 安全存储以指向 SAP HANA 系统复制设置的虚拟名称。
运行以下命令,将条目 <列为 sapsid>adm。
hdbuserstore List
所有条目都应列出,且类似于:
DATA FILE : /home/qasadm/.hdb/anftstsapa01/SSFS_HDB.DAT KEY FILE : /home/qasadm/.hdb/anftstsapa01/SSFS_HDB.KEY KEY DEFAULT ENV : 192.168.14.4:30313 USER: SAPABAP1 DATABASE: QAS
输出显示默认入口的 IP 地址指向 VM,而不是指向负载均衡器的 IP 地址。 需要将此条目更改为指向负载均衡器的虚拟主机名。 请确保使用相同的端口(上一个输出中的 30313 )和数据库名称(上述输出中的 QAS )。
su - qasadm hdbuserstore SET DEFAULT qasdb:30313@QAS SAPABAP1 <password of ABAP schema>
测试群集设
全面测试 Pacemaker 群集。 有关详细信息,请参阅执行典型的故障转移测试。
后续步骤
- 若要部署使用 RHEL 上的 SAP NetWeaver HA 群集部署 PAS 和 AAS 实例的成本优化方案,请参阅 在 RHEL 上使用 SAP ASCS/SCS 高可用性 VM 安装 SAP 对话框实例。
- 请参阅适用于 SAP 应用程序多 SID 的 RHEL 上 Azure VM 中的 SAP NW 的 HA 指南。
- 请参阅适用于 SAP 的 Azure 虚拟机规划和实施。
- 请参阅适用于 SAP 的 Azure 虚拟机部署。
- 请参阅适用于 SAP 的 Azure 虚拟机 DBMS 部署。
- 若要了解如何为 Azure 上的 SAP HANA(大型实例)建立 HA 并规划灾难恢复,请参阅 Azure 上的 SAP HANA(大型实例)的高可用性和灾难恢复。
- 若要了解如何在 Azure 虚拟机上建立 SAP HANA 灾难恢复的 HA 和计划,请参阅 Azure 虚拟机上的 SAP HANA 高可用性。