3.2. 配置和部署 SAP HANA
3.2.1. 配置运行 SAP HANA 所需的 RHEL 设置 复制链接链接已复制到粘贴板!
使用这个流程为运行 SAP HANA 配置 HA 集群节点。需要在运行 HANA 实例的每个 RHEL 系统上执行这些步骤。
先决条件
- 您以 root 用户身份登录共享存储配置的每个主机。
- 您已准备了 SAP HANA 的安装源。
您已设置了与 SAP HANA 兼容的主机名:
[root:~]# hostnamectl set-hostname dc1hana01
[root:~]# hostnamectl set-hostname dc1hana01Copy to Clipboard Copied! Toggle word wrap Toggle overflow
步骤: 验证 /etc/hosts
验证
/etc/hosts是否包含与系统主机名和 IP 地址匹配的条目:.example.com:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将系统语言设置为英语:
[root:~]# localectl set-locale LANG=en_US.UTF-8
[root:~]# localectl set-locale LANG=en_US.UTF-8Copy to Clipboard Copied! Toggle word wrap Toggle overflow
步骤: 配置 NTP
编辑
/etc/chrony.conf,并验证服务器行是否反映了您的 ntp 服务器:[root:~]# yum -y install chrony [root:~]# systemctl stop chronyd.service
[root:~]# yum -y install chrony [root:~]# systemctl stop chronyd.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow 检查时间服务器条目:
[root:~]# grep ^server /etc/chrony.conf server 0.de.pool.ntp.org server 1.de.pool.ntp.org
[root:~]# grep ^server /etc/chrony.conf server 0.de.pool.ntp.org server 1.de.pool.ntp.orgCopy to Clipboard Copied! Toggle word wrap Toggle overflow 启用并启动 chrony 服务:
[root:~]# systemctl enable chronyd.service [root:~]# systemctl start chronyd.service [root:~]# systemctl restart systemd-timedated.service
[root:~]# systemctl enable chronyd.service [root:~]# systemctl start chronyd.service [root:~]# systemctl restart systemd-timedated.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow 验证
chrony服务是否已启用:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.2.2. 为 SAP HANA 预配置 RHEL 复制链接链接已复制到粘贴板!
使用这个流程为 SAP HANA 预配置 RHEL 系统。此配置基于公布的 SAP 备注。以 root 用户身份在集群中的每个 SAP HANA 主机上运行此步骤。
- 这个过程基于 SAP 备注 SAP 备注 2777782:SAP HANA DB:RHEL 8 的推荐操作系统 设置和 SAP 备注 2772999 - Red Hat Enterprise Linux 8.x:安装和配置。
- 在 RHEL 8 中,您还可以使用 SAP 的 RHEL 系统角色来自动安装和配置 HA 集群节点。有关更多信息,请访问: SAP 的 Red Hat Enterprise Linux 系统角色。
3.2.3. 安装 SAP 主机代理 复制链接链接已复制到粘贴板!
在安装具有 SAP 内核 7.20 或更高版本的所有新 SAP 系统实例或实例时,会自动安装 SAP Host Agent。在大多数情况下,不需要这个手动安装。请首先安装 SAP HANA,然后检查是否需要安装 saphostagent。
先决条件
-
您已确认
umask配置被配置为标准值(命令 umask 应该回复 0022.);否则,SAP Host Agent 安装可能会失败。 - 您以 root 用户身份登录 SAP 主机代理安装的每个主机上。
如果用户/组不存在,则在 SAP HANA 安装过程中创建用户和组,并通过安装 SAP 软件安装/升级 SAPHOSTAGENT。
流程(可选)
为 SAP Host Agent 创建
sapadm和sapsys用户,并为sapadm用户设置密码。用户sapadm的 UID 996 和组sapsys的 GID 79 基于本文档的 准备 SAP HANA Scale-Out 环境 部分中的参数。[root:~]# adduser sapadm --uid 996 [root:~]# groupadd sapsys --gid 79 [root:~]# passwd sapadm
[root:~]# adduser sapadm --uid 996 [root:~]# groupadd sapsys --gid 79 [root:~]# passwd sapadmCopy to Clipboard Copied! Toggle word wrap Toggle overflow 创建 temp 目录,解压缩安装源,并从 temp 目录安装 SAP 主机代理。变量
INSTALLDIRHOSTAGENT是一个示例:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 安全操作只适用于加密的连接。您可以配置正常工作的 SSL 连接来达到此目的。需要 SSL 密码。以下示例基于本文档的 Preparing SAP HANA Scale-Out environment 部分中的参数。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 验证 SAP Host Agent 是否适用于所有 SAP HANA 节点:
[root:~]# netstat -tulpen | grep sapstartsrv tcp 0 0 0.0.0.0:50014 0.0.0.0:* LISTEN 1002 84028 4319/sapstartsrv tcp 0 0 0.0.0.0:50013 0.0.0.0:* LISTEN 1002 47542 4319/sapstartsrv
[root:~]# netstat -tulpen | grep sapstartsrv tcp 0 0 0.0.0.0:50014 0.0.0.0:* LISTEN 1002 84028 4319/sapstartsrv tcp 0 0 0.0.0.0:50013 0.0.0.0:* LISTEN 1002 47542 4319/sapstartsrvCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注意并非所有进程都被识别。不显示非拥有的进程信息。您必须是 root 用户才能查看所有进程。
[root:~]# netstat -tulpen | grep 1129 tcp 0 0 0.0.0.0:1129 0.0.0.0:* LISTEN 996 25632 1345/sapstartsrv
[root:~]# netstat -tulpen | grep 1129 tcp 0 0 0.0.0.0:1129 0.0.0.0:* LISTEN 996 25632 1345/sapstartsrvCopy to Clipboard Copied! Toggle word wrap Toggle overflow 有关如何安装 SAP 主机代理的更多信息,请参阅 SAP 主机代理安装。
3.2.4. 使用 Scale-Out 和 System Replication 部署 SAP HANA 复制链接链接已复制到粘贴板!
在使用 Scale-Out 和 System Replication 部署 SAP HANA 之前,您必须了解 SAP 网络映射。此解决方案为在实验室环境中部署提供最少的配置详细信息。但是,在配置生产环境时,需要通过单独的网络映射横向扩展网络通信和系统复制通信。此配置在 SAP HANA System Replication 的网络配置 中进行了描述。
根据 SAP HANA 服务器安装和更新指南中所述,应安装 SAP HANA 数据库。
有不同的选项可用于设置 SAP HANA 数据库。您必须在具有相同 SID 的两个数据中心上安装数据库。横向扩展配置需要每个站点至少 2 个 HANA 实例。
每个 HANA 站点的安装由以下步骤组成:
-
使用
hdblcm在第一个节点上安装 SAP HANA 数据库(检查 SAP HANA 安装介质的SAP_HANA_DATABASE子目录中的hdblcm)。 在此第一节点上为 scale-out 配置内部网络(这只需要一次):
[root:~]# ./hdblcm --action=configure_internal_network
[root:~]# ./hdblcm --action=configure_internal_networkCopy to Clipboard Copied! Toggle word wrap Toggle overflow 使用第一个安装创建的共享可执行文件在其他节点上安装额外的 HANA 实例:
[root:~]# /hana/shared/RH1/hdblcm/hdblcm
[root:~]# /hana/shared/RH1/hdblcm/hdblcmCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 为每个 HANA 实例选择正确的 HANA 角色(worker 或 standby)。
- 对辅助 HANA 站点重复相同的步骤。
在两个站点之间设置 SAP HANA 系统复制:
- 复制密钥。
-
备份主数据库(
SYSTEMDB和租户)。 - 在辅助站点上停止 HANA。
- 将辅助 HANA 网站注册到主要 HANA 站点。
- 在辅助站点上启动 HANA。
HANA 数据库安装也可以在批处理模式中使用 hdblcm 命令来完成。可以使用配置文件模板,该模板用作完整自动安装的应答文件。
在本解决方案中,SAP 数据库通过批处理模式安装,并集成通过每个数据中心的 SAP Host Agent 执行自动部署的额外主机。生成临时密码文件,其中包含所有必要的部署密码。基于此文件,将启动基于命令的批处理模式安装。
对于批处理模式安装,必须更改以下参数:
- SID
- 系统号
-
安装实例的主机名(
主机名) -
所有主机名和角色(
添加主机) -
系统类型(
system_usage) -
<
sid>adm用户的主目录 -
来自用户
sapadm的userid -
sapsys中的 GroupId
大多数参数都由 SAP 提供。
流程
- 在每个数据中心中,以用户 root 用户身份登录一个 SAP HANA 节点,以启动 SAP HANA Scale-Out 安装。
在这个解决方案中,在每个数据中心的一个节点中执行以下命令:
[root:~]# INSTALLDIR=/install/51053381/DATA_UNITS HDB_SERVER_LINUX_X86_64/ [root:~]# cd $INSTALLDIR [root:~]# ./hdblcm --dump_configfile_template=/tmp/templateFile
[root:~]# INSTALLDIR=/install/51053381/DATA_UNITS HDB_SERVER_LINUX_X86_64/ [root:~]# cd $INSTALLDIR [root:~]# ./hdblcm --dump_configfile_template=/tmp/templateFileCopy to Clipboard Copied! Toggle word wrap Toggle overflow 重要必须使用正确的 addhosts 参数。这不得包含安装节点。
更改
/tmp/templateFile.xml中的密码:注意internal_network参数用于内部横向扩展通信网络。这会在安装过程中使用正确配置来预先填充 SAP HANA 配置文件global.ini。数据中心 1 示例:
[root:~]# cat /tmp/templateFile.xml | ./hdblcm \ --batch \ --sid=RH1 \ --number=10 \ --action=install \ --hostname=dc1hana01 \ --addhosts=dc1hana02:role=worker,dc1hana03:role=worker,dc1hana04:role =standby \ --install_hostagent \ --system_usage=test \ --sapmnt=/hana/shared \ --datapath=/hana/data \ --logpath=/hana/log \ --root_user=root \ --workergroup=default \ --home=/usr/sap/RH1/home \ --userid=79 \ --shell=/bin/bash \ --groupid=79 \ --read_password_from_stdin=xml \ --internal_network=192.168.101.0/24 \ --remote_execution=saphostagent
[root:~]# cat /tmp/templateFile.xml | ./hdblcm \ --batch \ --sid=RH1 \ --number=10 \ --action=install \ --hostname=dc1hana01 \ --addhosts=dc1hana02:role=worker,dc1hana03:role=worker,dc1hana04:role =standby \ --install_hostagent \ --system_usage=test \ --sapmnt=/hana/shared \ --datapath=/hana/data \ --logpath=/hana/log \ --root_user=root \ --workergroup=default \ --home=/usr/sap/RH1/home \ --userid=79 \ --shell=/bin/bash \ --groupid=79 \ --read_password_from_stdin=xml \ --internal_network=192.168.101.0/24 \ --remote_execution=saphostagentCopy to Clipboard Copied! Toggle word wrap Toggle overflow 数据中心 2 示例:
[root:~]# cat /tmp/templateFile.xml | ./hdblcm \ --batch \ --sid=RH1 \ --number=10 \ --action=install \ --hostname=dc2hana01 \ --addhosts=dc2hana02:role=worker,dc2hana03:role=worker,dc2hana04:role =standby \ --install_hostagent \ --system_usage=test \ --sapmnt=/hana/shared \ --datapath=/hana/data \ --logpath=/hana/log \ --root_user=root \ --workergroup=default \ --home=/usr/sap/RH1/home \ --userid=79 \ --shell=/bin/bash \ --groupid=79 \ --read_password_from_stdin=xml \ --internal_network=192.168.101.0/24 \ --remote_execution=saphostagent
[root:~]# cat /tmp/templateFile.xml | ./hdblcm \ --batch \ --sid=RH1 \ --number=10 \ --action=install \ --hostname=dc2hana01 \ --addhosts=dc2hana02:role=worker,dc2hana03:role=worker,dc2hana04:role =standby \ --install_hostagent \ --system_usage=test \ --sapmnt=/hana/shared \ --datapath=/hana/data \ --logpath=/hana/log \ --root_user=root \ --workergroup=default \ --home=/usr/sap/RH1/home \ --userid=79 \ --shell=/bin/bash \ --groupid=79 \ --read_password_from_stdin=xml \ --internal_network=192.168.101.0/24 \ --remote_execution=saphostagentCopy to Clipboard Copied! Toggle word wrap Toggle overflow 安装完成后,验证每个数据中心的一个主机上是否都在一个主机上工作:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.2.5. 配置 SAP HANA 系统复制 复制链接链接已复制到粘贴板!
配置 SAP HANA 系统复制是在同时安装横向扩展环境后完成的。配置步骤有:
- 备份主数据库。
- 在主数据库上启用系统复制。
- 停止次要数据库。
- 复制数据库密钥。
- 注册二级数据库。
- 启动次要数据库。
- 验证系统复制。
此解决方案提供有关每个步骤的高级信息。
3.2.5.1. 备份主数据库 复制链接链接已复制到粘贴板!
SAP HANA System Replication 需要备份主数据库。如果没有它,您无法将 SAP HANA 引入系统复制配置。
- 此解决方案提供了一个简单的示例。在生产环境中,您必须考虑备份基础架构和设置。
-
在 SQL 命令中包含"/"非常重要;例如,
/hana/shared/backup/。如果不这样做,则需要对目录的写入权限进行写入,因为 SAP HANA 将不使用该目录,而是创建名为PATH_databackup*的文件。
3.2.5.2. 启用 HANA 系统复制 复制链接链接已复制到粘贴板!
在数据中心上创建备份功能后,您可以开始配置系统复制。第一个数据中心从配置作为源站点开始。
在 scale-out 系统的一个主机上启用第一个数据中心(DC1)的系统复制。
su - rh1adm
[root@dc1hana01]# su - rh1adm [rh1adm@dc1hana01]% hdbnsutil -sr_enable --name=DC1 nameserver is active, proceeding … successfully enabled system as system replication source site done.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在为系统复制启用第一个数据中心后,必须将第二个数据中心注册到第一个数据中心。您必须将两个密钥从已启用的源系统复制到第二个数据中心。这必须在数据库停止时完成。
将密钥和密钥数据文件从主站点复制到次要站点。这只在每个数据中心的一个节点上完成。此文件通过分隔的横向扩展环境中的
/hana/shared目录共享。如需更多信息,请参阅 SAP Note 2369981 - 使用 HANA System Replication 进行身份验证所需的配置步骤。在数据中心 1 (DC1)的一个节点上启动这个命令:
scp -rp /usr/sap/RH1/SYS/global/security/rsecssfs/data/SSFS_RH1.DAT root@dc2hana01:/usr/sap/RH1/SYS/global/security/rsecssfs/data/SSFS_RH 1.DAT scp -rp /usr/sap/RH1/SYS/global/security/rsecssfs/key/SSFS_RH1.KEY root@dc2hana01:/usr/sap/RH1/SYS/global/security/rsecssfs/key/SSFS_RH1 .KEY
[root@dc1hana01]# scp -rp /usr/sap/RH1/SYS/global/security/rsecssfs/data/SSFS_RH1.DAT root@dc2hana01:/usr/sap/RH1/SYS/global/security/rsecssfs/data/SSFS_RH 1.DAT [root@dc1hana01]# scp -rp /usr/sap/RH1/SYS/global/security/rsecssfs/key/SSFS_RH1.KEY root@dc2hana01:/usr/sap/RH1/SYS/global/security/rsecssfs/key/SSFS_RH1 .KEYCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在将两个密钥复制到次要站点后,您可以将第二个数据中心(从 SAP HANA 实例)注册到主 SAP HANA 实例。这必须在数据中心 2 (DC2)的节点上作为
'user <sid>adm来完成。注意现在,可以使用两个复制类型模式:
- delta_datashipping
- logreplay
复制模式应当是
sync或syncmem。"classic" 操作模式是delta_datashipping。HA 的首选模式是logreplay。使用操作模式logreplay使您的次要站点在 SAP HANA System Replication a hot standby 系统中。如需更多信息,请参阅 SAP HANA System Replication。使用首选操作模式,系统复制在 DC2 节点上配置为 <
sid>adm用户:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 系统启动后,运行以下命令验证所有内容是否按预期工作。当 HANA Scale-Out 环境正确运行时,
dispstatus必须为sapcontrol的GetSystemInstanceList功能输出中的所有节点显示GREEN(这在初始启动后可能需要几分钟时间)。另外,环境主机配置必须处于OK状态。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在 Datacenter 1 网站上,
dispstatus必须为sapcontrol的GetSystemInstanceList功能输出中的所有节点显示GREEN,而环境主机配置必须处于OK状态。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 检查 HANA 系统复制是否处于活动状态。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意如果在生产环境中实施此配置,建议您更改
global.ini文件中的网络通信。此操作将与指定适配器的通信限制到系统复制网络。如需更多信息,请参阅 SAP HANA 系统复制的网络配置。重要需要手动测试完整的 SAP HANA Scale-Out System Replication 环境,并验证所有 SAP HANA 功能是否都正常工作。如需更多信息,请参阅 SAP HANA System Replication。