Red Hat Enterprise Linux System Roles for SAP
摘要
使开源包含更多 复制链接链接已复制到粘贴板!
红帽承诺替换我们的代码和文档中存在问题的语言。我们从这四个术语开始:master、slave、黑名单和白名单。由于这一努力的精力,这些更改将在即将发布的版本中逐渐实施。有关让我们的语言更加包含的更多详情,请参阅我们的CTO Chris Wright 信息。
对红帽文档提供反馈 复制链接链接已复制到粘贴板!
我们感谢您对我们文档的反馈。让我们了解如何改进它。
通过 Jira 提交反馈(需要帐户)
- 确保您已登录到 JIRA 网站。
- 通过单击此链接 来提供反馈。https://issues.redhat.com/secure/CreateIssueDetails!init.jspa?pid=12330720&issuetype=3&components=12387093&priority=10200&summary=Doc&description=Please+include+the+Document+URL,+the+section+number+and%20+describe+the+issue&labels=SAP_DOCS&customfield_12311140=SAPOCP-775&assignee=rh-ee-pmohta
- 在 Summary 字段中输入描述性标题。
- 在 Description 字段中输入您对改进的建议。包括到文档相关部分的链接。
- 如果要通知将来的更新,请确保已分配为 Reporter。
- 点对话框底部的 Create。
第 1 章 概述 复制链接链接已复制到粘贴板!
Red Hat Enterprise Linux (RHEL) 7 RHEA-2019:3190 引入了用于 SAP 的 RHEL 系统角色,以帮助远程或本地配置 RHEL 系统以安装 SAP HANA 或 SAP NetWeaver 软件。SAP 开发的 RHEL 系统角色基于 SAP LinuxLab 上游项目。
RHEL 系统角色是 Ansible 执行的角色集合,可协助管理员进行 RHEL 系统配置。这些角色在 RHEL AppStream 存储库中提供。相反,RHEL for SAP 订阅中提供了 SAP 的 RHEL 系统角色。
用于 SAP 解决方案订阅的 Red Hat Enterprise Linux 支持带有 Ansible Core 的 SAP 的 RHEL 系统角色。但是,如果您需要 Ansible Core 的全面支持,则需要单独的订阅。如需更多信息,请参阅 Red Hat Enterprise Linux (RHEL)系统角色。
在运行 RHEL 8.4 及更新版本的控制节点上完全支持 SAP 的以下 RHEL 系统角色:
- sap_general_preconfigure
- sap_netweaver_preconfigure
- sap_hana_preconfigure
- sap_hana_install
在运行 RHEL 8.4 及更新版本的控制节点上,对 SAP 的以下 RHEL 系统角色作为技术预览被支持:
- sap_ha_install_hana_hsr
- sap_ha_pacemaker_cluster
- sap_swpm (*)
SAP 的 RHEL 系统角色(就像 RHEL 系统角色 一样)是从称为 控制节点(可以是 Ansible Automation controller、Red Hat Satellite 或 RHEL 9 或 RHEL 8 主机)的中央节点 安装和运行。控制节点连接到本地主机和/或一个或多个远程主机(Ansible 上下文中称为 受管节点 ),并对它们执行安装和配置步骤。建议您在控制节点上使用 RHEL 的最新主版本(RHEL 8),并使用 rhel-system-roles-sap RPM 或 Red Hat Automation Hub 中的角色的最新版本。SAP 和 Ansible 软件包的 RHEL 系统角色不需要安装在要管理/配置的系统上安装。
本文档论述了如何安装和使用 RHEL 软件包 rhel-system-roles-sap 版本 3.3.0 packagemanifests 或 Automation Hub 集合 redhat.sap_install 版本 1.2.1,它们由以下角色组成。
软件包 rhel-system-roles-sap 版本 3.3.0 不包含角色 sap_swpm。计划在下一个软件包 rhel-system-roles-sap 中发布此角色。
目的
| 角色名称 | 描述 |
|---|---|
| sap_general_preconfigure | 执行对 SAP NetWeaver 和 SAPHANA 的通用安装和配置步骤 |
| sap_netweaver_preconfigure | 为 SAP NetWeaver执行额外的安装和配置步骤 |
| sap_hana_preconfigure | 为 SAP HANA执行额外的安装和配置 |
| sap_hana_install | 执行 SAP HANA 扩展或横向扩展安装 |
| sap_ha_install_hana_hsr | 在两个节点上设置 SAP HANA 系统复制 |
| sap_ha_pacemaker_cluster | 安装 Pacemaker 并配置集群和 SAP 集群资源 |
| sap_swpm | 通过 SWPM安装 SAP 软件 |
支持状态
| 角色名称 | 支持状态 | 远程主机管理 | 控制节点 |
|---|---|---|---|
| sap_general_preconfigure | 完全支持 | RHEL 7.6 及更新的版本,RHEL 8、RHEL 9 | RHEL 8、RHEL 9 |
| sap_netweaver_preconfigure | 完全支持 | RHEL 7.6 及更新的版本,RHEL 8、RHEL 9 | RHEL 8、RHEL 9 |
| sap_hana_preconfigure | 完全支持 | RHEL 7.6 及更新的版本,RHEL 8、RHEL 9 | RHEL 8、RHEL 9 |
| sap_hana_install | 完全支持 | RHEL 7.6 及更新的版本,RHEL 8、RHEL 9 | RHEL 8、RHEL 9 |
| sap_ha_install_hana_hsr | 技术预览 | RHEL 8、RHEL 9 | RHEL 8、RHEL 9 |
| sap_ha_pacemaker_cluster | 技术预览 | RHEL 8、RHEL 9 | RHEL 8、RHEL 9 |
| sap_swpm (*) | 技术预览功能的技术预览,不支持所有其他功能 | RHEL 8、RHEL 9 | RHEL 8、RHEL 9 |
* SAP 的 RHEL 系统角色的这个版本包括了角色
sap_swpm角色,它的支持范围只是角色的默认模式,且只适用于以下部署场景: S/4HANA 2021 和 S/4HANA 2022 单主机安装在 x86_64: RHEL 8.4, 8.6, 9.0 和 ppc64le: RHEL 8.4 和 8.6。不支持角色
sap_swpm的所有其他功能。
平台
请参考下表,了解受管节点支持的硬件/虚拟化/云平台:
| 硬件平台 | 裸机/虚拟化/云平台 | 支持状态 |
|---|---|---|
| x86_64 | 裸机、Red Hat Virtualization/libvirt、VMware ESX 、红帽认证的云和服务供应商 | 根据上表中的每个支持状态进行支持 |
| ppc64le | PowerVM LPAR | 根据上表中的每个支持状态进行支持 |
| s390x | zvm 客户机 | 完全支持: sap_general_preconfigure,sap_netweaver_preconfigure |
目录
| 安装方法 | 角色; 文档 |
|---|---|
| rhel package rhel-system-roles-sap |
|
| Automation Hub 集合 redhat.sap_install |
|
- 角色设计为在初始安装受管节点后正确使用。如果要针对 SAP 或其他生产系统运行这些角色,请首先以断言模式运行它们,以便您可以根据适用的 SAP 备注检测来自 SAP 建议的设置。以正常模式运行时,角色将在受管节点上强制进行 SAP 建议配置。在个别情况下,意外的系统配置设置可能会因为角色造成意外更改。在生产系统上以普通模式使用角色之前,强烈建议您先备份系统并测试测试测试系统的角色。
-
在受管节点上应用角色前,请确定您要安装的 SAP 软件版本是否支持受管节点上的 RHEL 发行版本。如果使用没有 SAP HANA 验证的 RHEL 次版本(可以被覆盖)的 RHEL 次版本,则角色
sap_hana_preconfigure将失败。
第 2 章 为 SAP 安装 Ansible Engine 和 RHEL 系统角色 复制链接链接已复制到粘贴板!
使用以下步骤为 SAP 软件包或集合安装 Ansible Core 和 RHEL 系统角色。
要在 Red Hat Satellite 系统上安装软件包,请不要使用 plain dnf 命令,而是按照 如何在 Red Hat Satellite 6 中安装和更新软件包 的步骤进行操作?
流程
安装 Ansible Core:
dnf install ansible-core
# dnf install ansible-coreCopy to Clipboard Copied! Toggle word wrap Toggle overflow 继续第 2 步来安装 RHEL 软件包
rhel-system-roles-sap或第 3 步用于安装 Automation Hub 集合redhat.sap_install。要安装 RHEL 软件包
rhel-system-roles-sap:使用 Red Hat Subscription Manager 启用 RHEL for SAP Solutions 存储库:
subscription-manager repos --enable=rhel-$(rpm -E %rhel)-for-$(uname -m)-sap-solutions-rpms
# subscription-manager repos --enable=rhel-$(rpm -E %rhel)-for-$(uname -m)-sap-solutions-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 为 SAP 安装 RHEL 系统角色:
dnf install rhel-system-roles-sap
# dnf install rhel-system-roles-sapCopy to Clipboard Copied! Toggle word wrap Toggle overflow rhel-system-roles-sap软件包被安装到/usr/share/ansible/roles/<role>中,其中 <role> 是单个角色的名称,例如sap_hana_preconfigure。每个角色都包括一个README.md文件,它解释了所有变量以及如何使用角色。
要安装 Automation Hub 集合
redhat.sap_install,您可以直接从 Automation Hub 安装集合,或者首先下载它,然后从下载的文件安装它。要直接从 Automation Hub 安装集合,请按照 本页 中的说明操作。基本步骤为:
- 从 此页面 复制您的离线令牌、服务器 URL 和 SSO URL,并记下同一页面上的服务器 URL 和 SSO URL。如果需要(例如因为过期),重新创建令牌。
根据 本章中 的说明,使用这些值配置文件
/etc/ansible/ansible.cfg。使用 Server URL for 变量url、变量auth_url的 SSO URL 和变量 离线令牌,如下例所示(将虚拟令牌替换为实际令牌):Copy to Clipboard Copied! Toggle word wrap Toggle overflow 作为将使用集合的用户的身份安装集合(将运行 playbook 以在受管节点上安装软件或配置设置):
ansible-galaxy collection install redhat.sap_install
# ansible-galaxy collection install redhat.sap_installCopy to Clipboard Copied! Toggle word wrap Toggle overflow 这会将集合安装到用户的默认位置(将递归创建必要目录),即:
~/.ansible/collections/ansible_collections/redhat/sap_install。
要从 Automation Hub 下载集合,然后安装它,请执行以下步骤:
从 此页面 下载集合 tar 文件(使用
Download tarball链接),然后以用户身份运行以下命令,以使用集合:ansible-galaxy collection install ./redhat-sap_install-1.2.1.tar.gz
# ansible-galaxy collection install ./redhat-sap_install-1.2.1.tar.gzCopy to Clipboard Copied! Toggle word wrap Toggle overflow 这也会将集合安装到用户的默认位置,如前面所述。
sap_install下的每个角色子目录中的文件README.md文件,例如roles/sap_general_preconfigure,其中包含每个角色的文档。
第 3 章 新功能 复制链接链接已复制到粘贴板!
Automation Hub 集合 redhat.sap_install 版本 1.2.1 具有以下新功能:
-
使用
ha_clusterLinux 系统角色及其增强功能,执行一个角色中所有与 HA 相关的配置更改的新sap_ha_pacemaker_cluster角色 -
在角色
sap_hana_install中改进 SID 和实例检查,因此如果检测到具有所需 SID 和实例号的 HANA 系统,则角色将成功返回(idempotency) -
使用
selinuxLinux 系统角色,在预配置和 HANA 安装过程中为 SAP 目录启用修改 SELinux 文件标签 -
新的
sap_swpm角色来执行基于 SWPM 的安装
第 4 章 已知问题 复制链接链接已复制到粘贴板!
4.1. 重启要求检测 复制链接链接已复制到粘贴板!
在平台 ppc64le 上的 RHEL 8.5 及更新的版本上,重启要求检测不可靠。
重启要求检测失败可能会导致在调用预配置角色的 playbook 结束时进行不必要的重启。角色参数可用于避免重启,可以将 playbook 扩展到无条件地重启系统。如需更多信息,请参阅 bug 2166444。
4.2. 用于 SAP HANA 的 RHEL 9 软件包 复制链接链接已复制到粘贴板!
在 RHEL 9 上,一些软件包不会被安装,一些软件包没有安装 SAP HANA。
SAP 备注 3108316 已发布了一些更新,这些更新在 SAP 的 RHEL 系统角色中不知道。必须为 SAP HANA 安装的额外软件包是 compat-openssl11。
有关如何快速定义要安装的软件包列表的说明,请参阅此注释。
4.3. 扩展检查(Assert)功能 复制链接链接已复制到粘贴板!
在使用预配置角色的扩展检查(=assert)功能时要小心。
预配置角色可以在 assert 模式下运行,在这种情况下,它们不会修改受管节点,而是报告具有适用 SAP 备注的节点合规性。当使用同一控制节点时,通过以正常模式运行预配置角色来修改系统配置时,需要应用额外的小心,以确保不会意外使用"常规" playbook 来检查系统配置。强烈建议仅在生产系统上运行角色,然后再在测试和 QA 系统上测试角色。
4.4. DNS 名称解析 复制链接链接已复制到粘贴板!
如果受管节点上没有设置 DNS 域,则角色 sap_general_preconfigure 会失败。
如果受管节点上没有设置 DNS 域,则通常会在云系统上设置 DNS 域,则角色 sap_general_preconfigure 将在 验证 DNS 域是否已设置 的任务中失败。要避免这种情况,请在 playbook 的 vars 部分中设置角色变量 sap_domain,在受管节点的清单文件中设置 ansible-playbook 命令,使用参数 -e "sap_domain=example.com" (将 example.com 替换为您自己的 DNS 域名)。
第 5 章 SAP 的 RHEL 系统角色快速入门指南 复制链接链接已复制到粘贴板!
使用以下步骤配置或验证一个或多个系统以安装 SAP NetWeaver 或 SAP HANA
5.1. 准备控制节点 复制链接链接已复制到粘贴板!
使用以下步骤以英语显示系统信息。SAP 的 RHEL 系统角色要求 Ansible 控制节点使用区域设置 C 或 en_US.UTF-8。
流程
在本地主机上运行命令以检查当前的设置。
locale
# localeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 输出应该在以
LC_MESSAGES=开头的行中显示C或en_US.UTF-8。如果命令没有生成预期的输出,请在执行
ansible-playbook命令前在本地主机上运行以下命令:export LC_ALL=C
# export LC_ALL=CCopy to Clipboard Copied! Toggle word wrap Toggle overflow 或者
export LC_ALL=en_US.UTF-8
# export LC_ALL=en_US.UTF-8Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意这些步骤是必要的,因为默认情况下,
LCzFCP变量转发到远程系统(请参阅man ssh_config和man sshd_config),并且角色正在从远程系统评估特定的命令输出。
5.2. 配置本地系统 复制链接链接已复制到粘贴板!
使用以下步骤准备本地系统以安装 SAP NetWeaver
先决条件
- 在系统中没有运行生产软件
- 本地系统上至少配置 20480 MB 的交换空间
流程
如果要保留服务器的原始配置,请创建一个 bakckup。
注意这些角色在安装 RHEL 后运行,因此不需要备份。
使用以下内容创建名为
sap-netweaver.yml的 YAML 文件:- hosts: localhost connection: local roles: - sap_general_preconfigure - sap_netweaver_preconfigure- hosts: localhost connection: local roles: - sap_general_preconfigure - sap_netweaver_preconfigureCopy to Clipboard Copied! Toggle word wrap Toggle overflow 重要角色前面的两个空格的正确缩进非常重要。运行 RHEL 系统角色
sap_general_preconfigure和sap_netweaver_preconfigure,以便为 SAP NetWeaver 安装准备受管节点。ansible-playbook sap-netweaver.yml
# ansible-playbook sap-netweaver.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 在 playbook 运行结束时,角色可能会报告需要重新启动,例如,因为安装了某些软件包。在这种情况下,请重启系统。
5.3. 验证本地系统 复制链接链接已复制到粘贴板!
SAP 的 RHEL 系统角色也可用于验证 RHEL 系统是否已正确配置。使用以下步骤验证本地系统是否已正确配置 SAP NetWeaver。
先决条件
- SAP 版本 3 的 RHEL 系统角色
流程
使用以下内容创建名为
sap-netweaver.yml的 YAML 文件:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令:
ansible-playbook sap-netweaver.yml
# ansible-playbook sap-netweaver.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 如果您要获得更紧凑的输出,您可以将输出传送到 shell 脚本
beautify-assert-output.sh,位于每个预配置角色的工具目录中,以仅显示每个断言的基本 FAIL 或 PASS 信息。假设已将脚本复制到~/bin目录,命令将是:ansible-playbook sap-netweaver-assert.yml | ./bin/beautify-assert-output.sh
# ansible-playbook sap-netweaver-assert.yml | ./bin/beautify-assert-output.shCopy to Clipboard Copied! Toggle word wrap Toggle overflow 如果您使用带 dark 背景的终端,请将命令序列中的所有颜色代码
[30m替换为[37m。否则,由于 dark 背景上的 dark 字体,某些行的输出将不可读取。如果您在具有 dark 背景的终端中意外运行上述命令,您可以使用以下命令再次启用默认的白色字体:echo -e "\033[37mResetting font color\n"
# echo -e "\033[37mResetting font color\n"Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.4. 配置远程系统 复制链接链接已复制到粘贴板!
使用以下步骤准备一个或多个远程系统(受管节点)以安装 SAP HANA。
先决条件
- 验证受管节点是否已正确设置为从 Red Hat Satellite 服务器或红帽客户门户网站安装红帽软件包。
- 从 Ansible 控制节点对每个受管节点进行免密码 ssh 访问。
SAP HANA 支持的 RHEL 发行版本。
- 有关 SAP HANA 支持的 RHEL 版本的详情,请参考 SAP Note 2235581。
流程
- 如果要保留服务器的原始配置,请进行备份。
创建一个清单文件或修改文件
/etc/ansible/hosts,其中包含一组主机的名称,以及您要在单独的行中配置(=managed node)的每个系统(例如,名为sap_hana的主机组中的三个主机):[sap_hana] host01 host02 host03
[sap_hana] host01 host02 host03Copy to Clipboard Copied! Toggle word wrap Toggle overflow 验证您可以使用 ssh 免密码登录所有三个主机。Example:
ssh host01 uname -a ssh host02 hostname ssh host03 echo test
# ssh host01 uname -a # ssh host02 hostname # ssh host03 echo testCopy to Clipboard Copied! Toggle word wrap Toggle overflow 使用以下内容创建名为
sap-hana.yml的 YAML 文件:- hosts: sap_hana roles: - sap_general_preconfigure - sap_hana_preconfigure- hosts: sap_hana roles: - sap_general_preconfigure - sap_hana_preconfigureCopy to Clipboard Copied! Toggle word wrap Toggle overflow 重要角色前面的正确缩进(如 2 个空格):运行 RHEL 系统角色
sap_general_preconfigure和sap_hana_preconfigure,以准备受管节点以安装 SAP HANA。ansible-playbook sap-hana.yml
# ansible-playbook sap-hana.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注意- 角色设计为在初始安装受管节点后正确使用。如果要针对 SAP 或其他生产系统运行这些角色,请首先以断言模式运行它们,以便您可以根据适用的 SAP 备注检测来自 SAP 建议的设置。以正常模式运行时,角色将在受管节点上强制进行 SAP 建议配置。在个别情况下,意外的系统配置设置可能会因为角色造成意外更改。在生产系统上以普通模式使用角色之前,强烈建议您先备份系统并测试测试测试系统的角色。
- 在 playbook 运行结束时,命令将报告需要重新引导的每个受管节点。此时重新引导受管节点。
5.5. 安装 SAP 软件 复制链接链接已复制到粘贴板!
有关在 RHEL 8 或 RHEL 9 上安装 SAP HANA 数据库或 SAP S/4HANA 的说明,请参阅使用 SAP 系统角色安装 SAP HANA 或 SAP S/4HANA。
第 6 章 其它信息 复制链接链接已复制到粘贴板!
6.1. 在 sap*preconfigure 中实施 SAP 备注 复制链接链接已复制到粘贴板!
在三个预配置角色以及 SAP 备注版本中实施 SAP 备注,在每个预配置角色的 vars 文件中都包含在名为 _<role_name>_sapnotes_versions 的变量中。示例文件名: /usr/share/ansible/roles/sap_general_preconfigure/vars/RedHat_8.yml.在这些文件中,变量 _sap_general_preconfigure_sapnotes_versions 包含实施的 SAP 备注及其版本号。
6.2. 角色变量 复制链接链接已复制到粘贴板!
每个角色的文件 README.md 位于目录 /usr/share/ansible/roles/<role > 中,描述了所有用户可配置变量及其默认设置的目的。变量定义,可以在多个位置更改,例如在清单文件中、您的 playbook 中或使用 ansible-playbook 命令行参数 --extra-vars 或 -e。