SAP NetWeaver 在 Bare Metal 解决方案中的部署指南

本指南介绍专门针对 SAP NetWeaver 和 SAP 应用或与之相关的各个方面,用于设置 Bare Metal 解决方案环境。

在 Bare Metal 解决方案环境中,您可以按照 SAP 文档操作,自行安装 SAP NetWeaver 和其他 SAP 软件。

本指南还介绍了如何安装并配置 Bare Metal 解决方案环境中的 SAP NetWeaver 所需的或可选的 Google Cloud SAP 基础服务。

如需简要了解 Bare Metal 解决方案上的 SAP NetWeaver 如何帮助您规划部署,请参阅 Bare Metal 解决方案上的 SAP NetWeaver 规划指南

简要步骤

以下列表显示了在 Google Cloud 通知您机器已就绪后,您在 Bare Metal 解决方案上部署 SAP NetWeaver 所需完成的简要步骤。

  1. 按照 Bare Metal 解决方案文档操作来完成与新机器的连接。如需查看设置过程,请参阅 Bare Metal 解决方案文档中的设置 Bare Metal 解决方案环境
  2. 验证 SAP NetWeaver 的机器配置
  3. 连接到互联网以便获取软件更新。请参阅 Bare Metal 解决方案文档中的访问互联网
  4. 与 Google Cloud API 建立连接。请参阅 Bare Metal 解决方案文档中的设置对 Google Cloud API 和服务的访问权限
  5. 设置对网络时间协议 (NTP) 服务器的访问权限,本指南未对此进行介绍。
  6. 设置域名系统 (DNS) 服务器,本指南未对此进行介绍。
  7. 在裸金属解决方案服务器上安装 Google Cloud 的 SAP 代理

验证 SAP NetWeaver 的机器配置

首次登录机器时,您需要确认您的机器配置是否与订单相匹配。

如需了解 Bare Metal 解决方案机器验证,请参阅首次登录 Bare Metal 解决方案机器

设置应用服务账号

从 Bare Metal 解决方案环境访问 Google Cloud 资源的任何应用程序、代理或进程都需要 IAM 服务账号进行身份验证和授权。

要创建服务账号,请执行以下操作:

  1. 在 Google Cloud 控制台中,转到服务账号页面。

    转到“服务账号”页面

  2. 选择您的 Google Cloud 项目。

  3. 点击创建服务账号

  4. 为服务账号指定名称并提供说明(可选)。

  5. 点击创建并继续

  6. 向此服务账号授予对项目的访问权限面板上,选择包含应用所需权限的角色。

    例如,高可用性集群中使用的 fence_gce 代理需要 baremetalsolution.service.resetInstance 权限,该权限包含在 IAM 角色 roles/baremetalsolution.editorroles/baremetalsolution.admin 中。

  7. 点击继续

  8. 根据具体情况授予其他用户访问服务账号的权限。

  9. 点击完成

  10. 在 Google Cloud 控制台中的服务账号页面上,点击您刚创建的服务账号的电子邮件地址。

  11. 在服务账号名称下,点击密钥标签页。

  12. 点击添加密钥下拉菜单,然后选择创建新密钥以创建服务账号密钥

  13. 接受 JSON 作为密钥类型,然后点击创建。私钥已保存到您的计算机。

  14. 将 JSON 密钥文件上传到 Bare Metal 解决方案服务器上的安全位置,可供需要该应用的应用访问。

  15. 配置应用以访问 JSON 密钥文件。

    例如,在创建使用 fence_gce 代理的高可用性集群资源时,您可以在 fence_gce 配置属性中指定 JSON 密钥文件的路径和文件名。

如需详细了解 IAM 服务账号,请参阅:

确认与应用服务器的连接

确认您在数据库服务器和应用服务器之间建立了网络连接。

请确保您的 Google Cloud 和客机操作系统防火墙规则允许服务器之间的流量。

安装 SAP NetWeaver

如需在 Bare Metal 解决方案主机上安装 SAP NetWeaver,您需要按照适用于您的 SAP NetWeaver 版本的 SAP 安装文档进行操作。

如需查找适用于您的 SAP NetWeaver 版本的安装文档,请参阅 SAP 帮助门户

安装 Google Cloud 的 Agent for SAP

若要为裸金属解决方案服务器上运行的 SAP 系统提供 SAP 支持,需要使用 Google Cloud 的 Agent for SAP。

如果您使用 Google Cloud 提供的以下 RHEL 或 SLES“for SAP”操作系统映像,则 Google Cloud 的 SAP for Agent 会与操作系统映像打包在一起:

  • RHEL:所有“for SAP”映像
  • SLES:SLES 15 SP4 for SAP 及更高版本

如需了解可用于在裸金属解决方案服务器上运行 SAP 的操作系统,请参阅以下内容:

如需在裸金属解决方案服务器上安装 Google Cloud 的 Agent for SAP,请按照以下步骤操作:

  1. 与裸金属解决方案服务器建立 SSH 连接。

  2. 在您的终端中,通过运行特定于您的操作系统的命令来安装代理:

    • (推荐)如需安装代理 3.2 版(最新版),请运行以下命令:

      RHEL

      sudo tee /etc/yum.repos.d/google-cloud-sap-agent.repo << EOM
         [google-cloud-sap-agent]
         name=Google Cloud Agent for SAP
         baseurl=https://packages.cloud.google.com/yum/repos/google-cloud-sap-agent-el$(cat /etc/redhat-release | cut -d . -f 1 | tr -d -c 0-9)-\\$basearch
         enabled=1
         gpgcheck=1
         repo_gpgcheck=1
         gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
         EOM
         sudo yum install google-cloud-sap-agent

      SLES15

      sudo zypper addrepo --refresh https://packages.cloud.google.com/yum/repos/google-cloud-sap-agent-sles15-\\$basearch google-cloud-sap-agent
         sudo zypper install google-cloud-sap-agent

      SLES 12

      sudo zypper addrepo --refresh https://packages.cloud.google.com/yum/repos/google-cloud-sap-agent-sles12-\\$basearch google-cloud-sap-agent
         sudo zypper install google-cloud-sap-agent
    • 如需安装代理的特定版本,请运行以下命令:

      RHEL

      sudo tee /etc/yum.repos.d/google-cloud-sap-agent.repo << EOM
         [google-cloud-sap-agent]
         name=Google Cloud Agent for SAP
         baseurl=https://packages.cloud.google.com/yum/repos/google-cloud-sap-agent-el$(cat /etc/redhat-release | cut -d . -f 1 | tr -d -c 0-9)-\\$basearch
         enabled=1
         gpgcheck=1
         repo_gpgcheck=1
         gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
         EOM
         sudo yum install google-cloud-sap-agent-VERSION_NUMBER.x86_64

      SLES15

      sudo zypper addrepo --refresh https://packages.cloud.google.com/yum/repos/google-cloud-sap-agent-sles15-\\$basearch google-cloud-sap-agent
         sudo zypper install google-cloud-sap-agent-VERSION_NUMBER.x86_64

      SLES 12

      sudo zypper addrepo --refresh https://packages.cloud.google.com/yum/repos/google-cloud-sap-agent-sles12-\\$basearch google-cloud-sap-agent
         sudo zypper install google-cloud-sap-agent-VERSION_NUMBER.x86_64

      VERSION_NUMBER 替换为您要安装的代理的版本号,例如 3.1-606637668。如需了解您可以安装的代理版本,请参阅列出代理的所有可用版本

  3. 打开以下配置文件:

    /etc/google-cloud-sap-agent/configuration.json

  4. 修改以下参数或将其添加到配置文件中:

    • 在第一部分中:
      • bare_metal:设置为 true
    • 添加 cloud_properties 部分并指定以下参数:
      • project_id:指定您的 Google Cloud 项目
      • instance_name:指定裸金属解决方案服务器的名称
      • region:指定裸金属解决方案服务器的区域
  5. 保存配置文件。

  6. 重启代理:

    sudo systemctl restart google-cloud-sap-agent

如需详细了解配置参数,请参阅在裸金属解决方案服务器上安装 Google Cloud 的 Agent for SAP

安装 Google Cloud 的 Agent for SAP 和 SAP Host Agent 后,请按照验证代理安装情况中的说明验证 Google Cloud 的 Agent for SAP 的安装情况。

验证 Google Cloud 的 Agent for SAP 的安装情况

  1. 与裸金属解决方案服务器建立 SSH 连接。

  2. 运行以下命令:

    systemctl status google-cloud-sap-agent

    如果代理正常运行,则输出包含 active (running)。例如:

    google-cloud-sap-agent.service - Google Cloud Agent for SAP
    Loaded: loaded (/usr/lib/systemd/system/google-cloud-sap-agent.service; enabled; vendor preset: disabled)
    Active:  active (running)  since Fri 2022-12-02 07:21:42 UTC; 4 days ago
    Main PID: 1337673 (google-cloud-sa)
    Tasks: 9 (limit: 100427)
    Memory: 22.4 M (max: 1.0G limit: 1.0G)
    CGroup: /system.slice/google-cloud-sap-agent.service
           └─1337673 /usr/bin/google-cloud-sap-agent
    

如果代理未在运行,请重启代理

验证 SAP Host Agent 正在接收指标

如需验证基础架构指标是否由 Google Cloud's Agent for SAP 收集并正确发送到 SAP Host Agent,请按照以下步骤操作:

  1. 在您的 SAP 系统中,输入事务 ST06
  2. 在概览窗格中,检查以下字段的可用性和内容,以确保 SAP 与 Google 监控基础架构的端到端设置正确无误:

    • Cloud ProviderGoogle Cloud Platform
    • Enhanced Monitoring AccessTRUE
    • Enhanced Monitoring DetailsACTIVE

配置高可用性集群

为业务关键型工作负载配置集群或合适的高可用性解决方案。我们建议使用 Pacemaker 聚类。

除了几个要求和建议之外,请按照操作系统供应商提供的聚类说明在 Bare Metal 解决方案机器上配置高可用性集群。

如需详细了解在裸金属解决方案上配置高可用性 SAP NetWeaver 系统的 Google Cloud 要求和建议,请参阅裸金属解决方案上的 SAP NetWeaver 高可用性集群

浮动 IP 地址

SAP NetWeaver 的高可用性集群使用两个浮动或虚拟 IP 地址 (VIP):一个将网络通信定向到 SAP 中央服务组件,另一个用于节点之间的 Enqueue Replication Server 通信。配置 VIP 时,请使用标准 IPaddr2 Pacemaker 资源,该资源使用免费 ARP 请求在主机之间移动 VIP。如需了解详情,请参阅地址解析协议

以下示例展示了 SUSE 上的 SAP Central Services 的 IPaddr2 资源定义:

crm configure primitive scs-vip-rsc-name IPaddr2 \
    params ip=10.0.0.79 \
    op monitor interval=10 timeout=20

请将每个 IPaddr2 资源添加到包含 SAP 中央服务资源或其对应的 Enqueue Replication Server 资源的资源组,以便这些资源在故障切换期间一起移动。例如,以下命令会为 SAP Central Services 创建一个组:

crm configure group scs-rsc-group-name \
  scs-file-system-rsc-name \
  scs-vip-rsc-name \
  scs-instance-sap-rsc-name \
  meta resource-stickiness=3000

同样,以下命令会为 Enqueue Replication Server 创建另一个组:

crm configure group ers-rsc-group-name \
  ers-file-system-rsc-name \
  ers-vip-rsc-name \
  ers-instance-rsc-name

配置 fence_gce 代理

以下高级步骤可帮助您为使用 fence_gce 代理(包含在 Linux 操作系统中)的高可用性集群配置防护资源。

  1. 在 Google Cloud 项目中,将一个包含 baremetalsolution.service.resetInstance 权限的 IAM 角色分配给您已拥有 JSON 密钥文件的新 IAM 或现有 IAM 服务账号。

    预定义角色 roles/baremetalsolution.editor 包含所需的权限,您也可以创建自定义角色,以便更精确地控制角色包含的权限。

    有关详情,请参阅:

  1. 将服务账号 JSON 密钥文件上传到高可用性集群中的所有 Bare Metal 解决方案服务器。

  2. 确认您的 fence_gce 代理版本是否支持 Bare Metal 解决方案。

    1. 通过 SSH 连接到您的 Bare Metal 解决方案服务器

    2. 显示 fence_gce 代理帮助:

      $ sudo fence_gce --help
    3. fence_gce 帮助中,查找以下属性:

      --baremetalsolution            Enable on bare metal
      ...
      --serviceaccount=[filename]    Service account json file location e.g.
                                         serviceaccount=/somedir/service_account.json
      

      如果 --baremetalsolution--serviceaccount=[filename] 属性均未显示,则需要更新代理。如需获取修补说明,请与 Cloud Customer Care 联系。修补步骤因使用的 Linux 版本而异。

  3. 根据操作系统供应商提供的聚类说明配置集群资源时,请将 fence_gce 代理指定为每个集群节点的防护设备。

    定义资源时,请指定以下 fence_gce 参数,以便为 Bare Metal 解决方案环境启用代理:

    • baremetalsolution="true"
    • serviceaccount="file_path/key_file.json"

    以下示例展示了在 SUSE 中定义的 fence_gce 防护设备资源:

    crm configure primitive STONITH-"server_name" stonith:fence_gce \
     op monitor interval="300s" timeout="60s" on-fail="restart" \
     op start interval="0" timeout="60s" onfail="restart" \
     params port="server_name" zone="Google_Cloud_zone" project="Google_Cloud_project_ID" \
       baremetalsolution="true" method="cycle" \
       serviceaccount="file_path/key_file.json"

    防护资源示例使用以下定义:

    定义 说明
    baremetalsolution=true 配置防护代理,以便在裸金属解决方案环境中运行。
    serviceaccount=file_path/key_file.json JSON 密钥文件的文件路径,该文件包含防护代理用于访问 Google Cloud API 的服务账号的密钥。
    port=server_name 防护设备可以重置的裸金属解决方案服务器的原始主机名。
    method=cycle 定义重置失败服务器的方法。
  4. 定义每个防护资源后,请将防护设备的位置设置为除您希望重置服务器之外的服务器:

    crm configure location LOC_STONITH_server_name STONITH-server_name -inf: server_name

重启 Bare Metal 解决方案服务器

您可以发出 resetInstance API 调用来重启您的 Bare Metal 解决方案服务器,这表示对服务器进行不安全的硬重启。

在重启服务器之前,请停止在服务器上运行的所有应用和数据库。

如需了解如何启用 Bare Metal Solution API 以及发出 resetInstance API 调用的说明,请参阅重启 Bare Metal 解决方案机器

获取 Bare Metal 解决方案上的 SAP NetWeaver 支持

如果您在解决 Bare Metal 解决方案上的 SAP NetWeaver 和 SAP 应用部署问题时需要帮助,请收集所需的诊断信息并与 Cloud Customer Care 联系。如需了解详情,请参阅 Bare Metal 解决方案上的 SAP 诊断信息

支持

如有 Google Cloud 基础架构或服务方面的问题,请与 Customer Care 联系。您可以在 Google Cloud 控制台中的“支持概览”页面上找到联系信息。如果 Customer Care 确定问题在于您的 SAP 系统,会将您引荐给 SAP 支持。

对于与 SAP 产品有关的问题,请通过 SAP 支持记录您的支持请求。 SAP 会评估支持服务工单,如果该问题似乎是 Google Cloud 基础架构问题,则将工单转移到 Google Cloud 组成团队 BC-OP-LNX-GOOGLEBC-OP-NT-GOOGLE

支持要求

您必须满足最低支持方案要求,才能获得对 SAP 系统及其使用的 Google Cloud 基础架构和服务的支持。

如需详细了解 Google Cloud 上的 SAP 的最低支持要求,请参阅: