Red Hat Enterprise Linux System Roles for SAP


Red Hat Enterprise Linux for SAP Solutions 8

Red Hat Customer Content Services

摘要

本指南包含有关用于 SAP 的 Red Hat Enterprise Linux 系统角色的概述和其他信息。

使开源包含更多

红帽承诺替换我们的代码和文档中存在问题的语言。我们从这四个术语开始:master、slave、黑名单和白名单。由于这一努力的精力,这些更改将在即将发布的版本中逐渐实施。有关让我们的语言更加包含的更多详情,请参阅我们的CTO Chris Wright 信息

对红帽文档提供反馈

我们感谢您对我们文档的反馈。让我们了解如何改进它。

通过 Jira 提交反馈(需要帐户)

  1. 确保您已登录到 JIRA 网站。
  2. 通过单击此链接 来提供反馈。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
  3. Summary 字段中输入描述性标题。
  4. Description 字段中输入您对改进的建议。包括到文档相关部分的链接。
  5. 如果要通知将来的更新,请确保已分配为 Reporter
  6. 点对话框底部的 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 controllerRed 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 中发布此角色。

目的

Expand
角色名称描述

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 软件

支持状态

Expand
角色名称支持状态远程主机管理控制节点

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 2021S/4HANA 2022 单主机安装在 x86_64: RHEL 8.4, 8.6, 9.0 和 ppc64le: RHEL 8.4 和 8.6。

    不支持角色 sap_swpm 的所有其他功能。

平台
请参考下表,了解受管节点支持的硬件/虚拟化/云平台:

Expand
硬件平台裸机/虚拟化/云平台支持状态

x86_64

裸机、Red Hat Virtualization/libvirt、VMware ESX 、红帽认证的云和服务供应商

根据上表中的每个支持状态进行支持

ppc64le

PowerVM LPAR

根据上表中的每个支持状态进行支持

s390x

zvm 客户机

完全支持: sap_general_preconfigure,sap_netweaver_preconfigure

目录

Expand
安装方法角色; 文档

rhel package rhel-system-roles-sap

/usr/share/ansible/roles/<role>; /usr/share/doc/rhel-system-roles-sap/<role>

Automation Hub 集合 redhat.sap_install

~/.ansible/collections/ansible_collection/redhat/sap_install/<role > ; ~/.ansible/collections/ansible_collection/redhat/sap_install/<role>/README.md

注意
  • 角色设计为在初始安装受管节点后正确使用。如果要针对 SAP 或其他生产系统运行这些角色,请首先以断言模式运行它们,以便您可以根据适用的 SAP 备注检测来自 SAP 建议的设置。以正常模式运行时,角色将在受管节点上强制进行 SAP 建议配置。在个别情况下,意外的系统配置设置可能会因为角色造成意外更改。在生产系统上以普通模式使用角色之前,强烈建议您先备份系统并测试测试测试系统的角色。
  • 在受管节点上应用角色前,请确定您要安装的 SAP 软件版本是否支持受管节点上的 RHEL 发行版本。如果使用没有 SAP HANA 验证的 RHEL 次版本(可以被覆盖)的 RHEL 次版本,则角色 sap_hana_preconfigure 将失败。

使用以下步骤为 SAP 软件包或集合安装 Ansible Core 和 RHEL 系统角色。

注意

要在 Red Hat Satellite 系统上安装软件包,请不要使用 plain dnf 命令,而是按照 如何在 Red Hat Satellite 6 中安装和更新软件包 的步骤进行操作?

流程

  1. 安装 Ansible Core:

    # dnf install ansible-core
    Copy to Clipboard Toggle word wrap

    继续第 2 步来安装 RHEL 软件包 rhel-system-roles-sap 或第 3 步用于安装 Automation Hub 集合 redhat.sap_install

  2. 要安装 RHEL 软件包 rhel-system-roles-sap

    1. 使用 Red Hat Subscription Manager 启用 RHEL for SAP Solutions 存储库:

      # subscription-manager repos
      --enable=rhel-$(rpm -E %rhel)-for-$(uname -m)-sap-solutions-rpms
      Copy to Clipboard Toggle word wrap
    2. 为 SAP 安装 RHEL 系统角色:

      # dnf install rhel-system-roles-sap
      Copy to Clipboard Toggle word wrap

      rhel-system-roles-sap 软件包被安装到 /usr/share/ansible/roles/<role> 中,其中 & lt;role > 是单个角色的名称,例如sap_hana_preconfigure。每个角色都包括一个 README.md 文件,它解释了所有变量以及如何使用角色。

  3. 要安装 Automation Hub 集合 redhat.sap_install,您可以直接从 Automation Hub 安装集合,或者首先下载它,然后从下载的文件安装它。

    1. 要直接从 Automation Hub 安装集合,请按照 本页 中的说明操作。基本步骤为:

      1. 此页面 复制您的离线令牌、服务器 URL 和 SSO URL,并记下同一页面上的服务器 URL 和 SSO URL。如果需要(例如因为过期),重新创建令牌。
      2. 根据 本章中 的说明,使用这些值配置文件 /etc/ansible/ansible.cfg。使用 Server URL for 变量 url、变量 auth_url 的 SSO URL 和变量 离线令牌,如下例所示(将虚拟令牌替换为实际令牌):

        [galaxy]
        server_list = automation_hub_install
        
        [galaxy_server.automation_hub_install]
        url = https://console.redhat.com/api/automation-hub/[https://console.redhat.com/api/automation-hub/]
        auth_url = https://sso.redhat.com/auth/realms/redhat-external/protocol/openid-connect/token[https://sso.redhat.com/auth/realms/redhat-external/protocol/openid-connect/token]
        token = 123567890abcdef...abcdef1234
        Copy to Clipboard Toggle word wrap
      3. 作为将使用集合的用户的身份安装集合(将运行 playbook 以在受管节点上安装软件或配置设置):

        # ansible-galaxy collection install redhat.sap_install
        Copy to Clipboard Toggle word wrap

        这会将集合安装到用户的默认位置(将递归创建必要目录),即: ~/.ansible/collections/ansible_collections/redhat/sap_install

    2. 要从 Automation Hub 下载集合,然后安装它,请执行以下步骤:

      1. 此页面 下载集合 tar 文件(使用 Download tarball 链接),然后以用户身份运行以下命令,以使用集合:

        # ansible-galaxy collection install
        ./redhat-sap_install-1.2.1.tar.gz
        Copy to Clipboard Toggle word wrap

        这也会将集合安装到用户的默认位置,如前面所述。
        sap_install 下的每个角色子目录中的文件 README.md 文件,例如 roles/sap_general_preconfigure,其中包含每个角色的文档。

第 3 章 新功能

Automation Hub 集合 redhat.sap_install 版本 1.2.1 具有以下新功能:

  • 使用 ha_cluster Linux 系统角色及其增强功能,执行一个角色中所有与 HA 相关的配置更改的新 sap_ha_pacemaker_cluster 角色
  • 在角色 sap_hana_install 中改进 SID 和实例检查,因此如果检测到具有所需 SID 和实例号的 HANA 系统,则角色将成功返回(idempotency)
  • 使用 selinux Linux 系统角色,在预配置和 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 控制节点使用区域设置 Cen_US.UTF-8

流程

  1. 在本地主机上运行命令以检查当前的设置。

    # locale
    Copy to Clipboard Toggle word wrap
  2. 输出应该在以 LC_MESSAGES= 开头的行中显示 Cen_US.UTF-8

    1. 如果命令没有生成预期的输出,请在执行 ansible-playbook 命令前在本地主机上运行以下命令:

      # export LC_ALL=C
      Copy to Clipboard Toggle word wrap

      或者

      # export LC_ALL=en_US.UTF-8
      Copy to Clipboard Toggle word wrap
      注意

      这些步骤是必要的,因为默认情况下,LCzFCP 变量转发到远程系统(请参阅 man ssh_configman sshd_config),并且角色正在从远程系统评估特定的命令输出。

5.2. 配置本地系统

使用以下步骤准备本地系统以安装 SAP NetWeaver

先决条件

  • 在系统中没有运行生产软件
  • 本地系统上至少配置 20480 MB 的交换空间

流程

  1. 如果要保留服务器的原始配置,请创建一个 bakckup。

    注意

    这些角色在安装 RHEL 后运行,因此不需要备份。

  2. 使用以下内容创建名为 sap-netweaver.yml 的 YAML 文件:

    - hosts: localhost
      connection: local
      roles:
        - sap_general_preconfigure
        - sap_netweaver_preconfigure
    Copy to Clipboard Toggle word wrap
    重要

    角色前面的两个空格的正确缩进 非常重要。

  3. 运行 RHEL 系统角色 sap_general_preconfiguresap_netweaver_preconfigure,以便为 SAP NetWeaver 安装准备受管节点。

    # ansible-playbook sap-netweaver.yml
    Copy to Clipboard Toggle word wrap
  4. 在 playbook 运行结束时,角色可能会报告需要重新启动,例如,因为安装了某些软件包。在这种情况下,请重启系统。

5.3. 验证本地系统

SAP 的 RHEL 系统角色也可用于验证 RHEL 系统是否已正确配置。使用以下步骤验证本地系统是否已正确配置 SAP NetWeaver。

先决条件

  • SAP 版本 3 的 RHEL 系统角色

流程

  1. 使用以下内容创建名为 sap-netweaver.yml 的 YAML 文件:

    - hosts: localhost
      connection: local
      vars:
        sap_general_preconfigure_assert: yes
        sap_general_preconfigure_assert_ignore_errors: yes
        sap_netweaver_preconfigure_assert: yes
        sap_netweaver_preconfigure_assert_ignore_errors: yes
      roles:
        - sap_general_preconfigure
        - sap_netweaver_preconfigure
    Copy to Clipboard Toggle word wrap
  2. 运行以下命令:

    # ansible-playbook sap-netweaver.yml
    Copy to Clipboard Toggle word wrap

    如果您要获得更紧凑的输出,您可以将输出传送到 shell 脚本 beautify-assert-output.sh,位于每个预配置角色的工具目录中,以仅显示每个断言的基本 FAIL 或 PASS 信息。假设已将脚本复制到 ~/bin 目录,命令将是:

    # ansible-playbook sap-netweaver-assert.yml |
    ./bin/beautify-assert-output.sh
    Copy to Clipboard Toggle word wrap

    如果您使用带 dark 背景的终端,请将命令序列中的所有颜色代码 [30m 替换为 [37m。否则,由于 dark 背景上的 dark 字体,某些行的输出将不可读取。如果您在具有 dark 背景的终端中意外运行上述命令,您可以使用以下命令再次启用默认的白色字体:

    # echo -e "\033[37mResetting font color\n"
    Copy to Clipboard Toggle word wrap

5.4. 配置远程系统

使用以下步骤准备一个或多个远程系统(受管节点)以安装 SAP HANA。

先决条件

  • 验证受管节点是否已正确设置为从 Red Hat Satellite 服务器或红帽客户门户网站安装红帽软件包。
  • 从 Ansible 控制节点对每个受管节点进行免密码 ssh 访问。
  • SAP HANA 支持的 RHEL 发行版本。

    • 有关 SAP HANA 支持的 RHEL 版本的详情,请参考 SAP Note 2235581

流程

  1. 如果要保留服务器的原始配置,请进行备份。
  2. 创建一个清单文件或修改文件 /etc/ansible/hosts,其中包含一组主机的名称,以及您要在单独的行中配置(=managed node)的每个系统(例如,名为 sap_hana的主机组中的三个主机):

    [sap_hana]
    host01
    host02
    host03
    Copy to Clipboard Toggle word wrap
  3. 验证您可以使用 ssh 免密码登录所有三个主机。Example:

    # ssh host01 uname -a
    # ssh host02 hostname
    # ssh host03 echo test
    Copy to Clipboard Toggle word wrap
  4. 使用以下内容创建名为 sap-hana.yml 的 YAML 文件:

    - hosts: sap_hana
      roles:
        - sap_general_preconfigure
        - sap_hana_preconfigure
    Copy to Clipboard Toggle word wrap
    重要

    角色前面的正确缩进(如 2 个空格):

  5. 运行 RHEL 系统角色 sap_general_preconfiguresap_hana_preconfigure,以准备受管节点以安装 SAP HANA。

    # ansible-playbook sap-hana.yml
    Copy to Clipboard Toggle word wrap
    注意
    • 角色设计为在初始安装受管节点后正确使用。如果要针对 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

法律通告

Copyright © 2025 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat
返回顶部