7.4. 配置基于 systemd 的 SAP 启动框架


systemd 集成是作为 SAP Kernel Release 788 的默认配置。在 HA 环境中,您必须应用额外的修改来集成集群设置中涉及的不同 systemd 服务。

先决条件

  • 您已在现有集群节点上配置了基于 systemd 的 SAP 启动框架。否则跳过此配置。

流程

  1. 注册 ASCS 实例。在新节点上以 root 用户身份运行以下命令,以创建 systemd 集成:

    [root]# export LD_LIBRARY_PATH=/usr/sap/<SID>/ASCS<instance>/exe && \
    /usr/sap/<SID>/ASCS<instance>/exe/sapstartsrv \
    pf=/usr/sap/<SID>/SYS/profile/<SID>_ASCS<instance>_<ascs_virtual_hostname> \
    -reg

    该命令为所选实例配置文件执行 sapstartsrv 服务,并在当前系统上注册实例服务。它为实例服务创建 systemd 单元(如果它不存在),并更新本地 /usr/sap/sapservices 文件。

    • <SID > 替换为您的 ASCS 实例 SID,例如 S4H
    • <instance > 替换为您的 ASCS 实例编号,例如 20
    • <ascs_virtual_hostname > 替换为 ASCS 实例的虚拟主机名,例如 s4hascs
  2. 通过为 ERS 配置集重复第 1 步来注册 ERS 实例:

    [root]# export LD_LIBRARY_PATH=/usr/sap/<SID>/ERS<instance>/exe && \
    /usr/sap/<SID>/ERS<instance>/exe/sapstartsrv \
    pf=/usr/sap/<SID>/SYS/profile/<SID>_ERS<instance>_<ers_virtual_hostname> \
    -reg
  3. 可选:为相应的应用服务器配置文件重复第 1 步来注册任何 PAS 或 AAS 实例。如果您还没有在这个集群中配置 PAS 或 AAS 实例,请跳过这一步:

    [root]# export LD_LIBRARY_PATH=/usr/sap/<SID>/D<instance>/exe && \
    /usr/sap/<SID>/D<instance>/exe/sapstartsrv \
    pf=/usr/sap/<SID>/SYS/profile/<SID>_D<instance>_<as_virtual_hostname> \
    -reg
  4. 禁用集群管理的 ASCS、ERS 和任何其他应用程序实例服务:

    [root]# systemctl disable SAP<SID>_<instance>.service
    Removed "/etc/systemd/system/multi-user.target.wants/SAP<SID>_<instance>.service".

    使用 ASCS 实例编号运行此项,再使用 ERS 实例编号重复该命令。

    可选:对 PAS 或 AAS 实例服务重复相同。

  5. 为 ASCS、ERS 和集群管理的任何其他应用实例服务创建 systemd 置入目录:

    [root]# mkdir /etc/systemd/system/SAP<SID>_<instance>.service.d

    使用 ASCS 实例编号运行此项,再使用 ERS 实例编号重复该命令。

    可选:使用 PAS 或 AAS 实例号重复。

  6. 在新目录中为实例创建置入文件:

    [root]# cat << EOF > /etc/systemd/system/SAP<SID>_<instance>.service.d/HA.conf
    [Service]
    Restart=no
    EOF

    使用 ASCS 实例编号运行此项,再使用 ERS 实例编号重复该命令。

    可选:使用 PAS 或 AAS 实例号重复。

  7. 重新载入 systemd 单元以激活 drop-in 配置:

    [root]# systemctl daemon-reload

验证

  1. 检查所有实例都有实例 systemd 单元,并在新节点上禁用它们:

    [root]# systemctl list-unit-files SAPS4H*
    UNIT FILE         STATE    PRESET
    SAPS4H_20.service disabled disabled
    SAPS4H_29.service disabled disabled

    可选:当您配置了应用程序服务器实例时,PAS 或 AAS 实例服务文件也会列在所有验证步骤中。

  2. 检查 sapservices 文件是否包含每个集群节点上每个实例的条目:

    [root]# cat /usr/sap/sapservices
    systemctl --no-ask-password start SAPS4H_20 # sapstartsrv pf=/sapmnt/S4H/profile/S4H_ASCS20_s4hascs
    systemctl --no-ask-password start SAPS4H_29 # sapstartsrv pf=/sapmnt/S4H/profile/S4H_ERS29_s4hers
  3. 检查所有 systemd 配置覆盖是否存在:

    [root]# systemd-delta | grep SAP
    ...
    [EXTENDED]   /etc/systemd/system/SAPS4H_20.service  /etc/systemd/system/SAPS4H_20.service.d/HA.conf
    [EXTENDED]   /etc/systemd/system/SAPS4H_29.service  /etc/systemd/system/SAPS4H_29.service.d/HA.conf
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2026 Red Hat
返回顶部