你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

获取 SAP 安装介质

使用 Azure SAP 解决方案中心为新的 SAP 系统创建基础结构后,需要在 SAP 系统上安装 SAP 软件。 但是,在执行此安装之前,需要获取并上传 SAP 安装介质,以便与 Azure SAP 解决方案中心配合使用。

本操作指南介绍如何通过不同的方法获取 SAP 软件安装介质。 你还将了解如何将 SAP 介质上传到 Azure 存储帐户以准备安装。

先决条件

  • Azure 订阅。
  • 对(存在 SAP 解决方案虚拟实例的)订阅和资源组具有“参与者”角色访问权限的 Azure 帐户。
  • 用户分配的托管标识,在具有 SAP 软件的存储帐户上具有“存储 Blob 数据读者”或“读者和数据访问”角色。
  • 为基础结构部署设置的网络
  • S/4HANA 基础结构部署。
  • SAP 系统中虚拟机的 SSH 私钥。 此密钥在基础结构部署期间生成。
  • 如果要安装高可用性 (HA) SAP 系统,请获取服务主体标识符 (SPN ID) 和密码,以授予 Azure 隔离代理(隔离设备)对 Azure 资源的权限。
    • 有关详细信息,请参阅使用 Azure CLI 创建 Microsoft Entra 应用并将其配置为访问媒体服务 API。
    • 有关示例,请参阅 Red Hat 文档的创建 Microsoft Entra 应用程序
    • 若要避免密码频繁过期,请使用 Azure 命令行接口 (Azure CLI) 而不是 Azure 门户来创建服务主体标识符和密码。

必需的组件

SAP 安装需要以下组件。

  • SAP 软件安装介质(本文后面介绍的 sapbits 容器的一部分)
    • 所有基本 SAP 包(SWPM、SAPCAR 等)
    • SAP 软件(例如,S/4HANA 2021 ISS 00)
  • 支持安装过程的软件包。 (这些包会在安装过程中自动下载,并由 Azure SAP 解决方案中心使用。)
    • pip3 版本 pip-21.3.1.tar.gz
    • wheel 版本 0.38.1
    • jq 版本 1.6
    • ansible 版本 2.11.12
    • netaddr 版本 0.8.0
  • 由Azure SAP 解决方案中心生成的 SAP 物料清单 (BOM)。 这些 YAML 文件列出了 SAP 软件安装所需的所有 SAP 包。 有主 BOM(S41909SPS03_v0011ms.yamlS42020SPS03_v0003ms.yamlS4HANA_2021_ISS_v0001ms.yamlS42022SPS00_v0001ms.yaml)和从属 BOM(HANA_2_00_059_v0004ms.yamlHANA_2_00_067_v0005ms.yamlSUM20SP18_latest.yamlSWPM20SP16_latest.yaml)。 它们提供以下信息:
    • SAP 包的全名 (name)
    • 下载的包名称及其文件扩展名 (archive)
    • SAP 指定的包的校验和 (checksum)
    • 包的简写文件名 (filename)
    • 用于下载软件的 SAP URL (url)
  • 模板或 INI 文件,是运行 SAP 包所需的堆栈 XML 文件。

脚本上传方法

若要准备 SAP 安装,可以使用脚本将 SAP 组件上传到 Azure 存储帐户。

设置存储帐户

下载 SAP 软件之前,请设置 Azure 存储帐户来存储组件。

  1. 通过 Azure 门户创建 Azure 存储帐户。 请确保在 SAP 系统基础结构所在的同一订阅中创建存储帐户。

  2. 在名为 sapbits 的 Azure 存储帐户中创建容器。

    1. 在存储帐户的边栏菜单中,选择“数据存储”下的“容器”

    2. 选择“+ 容器”。

    3. 在“新建容器”窗格的“名称”中输入 sapbits

    4. 选择创建

  3. 为此存储帐户授予用户分配的托管标识(在基础结构部署期间使用)、“存储 Blob 数据读取者”和“读取者和数据访问”角色访问权限。

创建虚拟机

接下来,设置虚拟机 (VM),稍后将在此处下载 SAP 组件。

  1. 在 Azure 中创建 Ubuntu 20.04 VM。 有关详细信息,请参阅如何在 Azure 门户中创建 Linux VM

  2. 登录 VM。

  3. 在 VM 上安装 Azure CLI。

    curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash
    
  4. 如果 Azure CLI 版本不是版本 2.30.0 或更高版本,请更新 Azure CLI。 可以运行以下命令来检查版本

    az --version
    
  5. 登录 Azure。

    az login
    
  6. 安装 PIP3

    sudo apt install python3-pip
    
  7. 在 VM 上安装 Ansible 2.11.12。

    sudo pip3 install ansible-core==2.11.12
    
  8. 安装 Ansible galaxy 集合模块

    sudo ansible-galaxy collection install ansible.netcommon:==5.0.0 -p /opt/ansible/collections
    sudo ansible-galaxy collection install ansible.posix:==1.5.1 -p /opt/ansible/collections
    sudo ansible-galaxy collection install ansible.utils:==2.9.0 -p /opt/ansible/collections
    sudo ansible-galaxy collection install ansible.windows:==1.13.0 -p /opt/ansible/collections
    sudo ansible-galaxy collection install community.general:==6.4.0 -p /opt/ansible/collections
    
  9. 从 GitHub 克隆 SAP 自动化示例存储库。

    git clone https://github.com/Azure/SAP-automation-samples.git
    
  10. 从 GitHub 克隆 SAP 自动化存储库。

    git clone https://github.com/Azure/sap-automation.git
    
  11. 切换到 sap-automation 目录

    cd sap-automation/
    
  12. 将分支更改为 main

    git checkout main
    
  13. (可选)检查当前分支是否为 main

    git status
    

使用脚本下载 SAP 介质

接下来,使用脚本将 SAP 安装介质下载到 VM。

  1. 提供自己的信息运行 Ansible 脚本 playbook_bom_download。 除 s_password 变量外,请在双引号内输入实际值,但不要在尖括号内输入。 对于 s_password 变量,请使用单引号。 运行的 Ansible 命令应如下所示:

    export bom_base_name="<Enter bom base name>"
    export s_user="<s-user>"
    export s_password='<password>'
    export storage_account_access_key="<storageAccountAccessKey>"
    export sapbits_location_base_path="<containerBasePath>"
    export BOM_directory="<BOM_directory_path>"
    export orchestration_ansible_user="root"
    export playbook_path="<playbook_bom_downloader_yaml_path>"
    sudo ansible-playbook ${playbook_path} \
    -e "bom_base_name=${bom_base_name}" \
    -e "deployer_kv_name=dummy_value" \
    -e "s_user=${s_user}" \
    -e "s_password=${s_password}" \
    -e "sapbits_access_key=${storage_account_access_key}" \
    -e "sapbits_location_base_path=${sapbits_location_base_path}" \
    -e "BOM_directory=${BOM_directory}" \
    -e "orchestration_ansible_user=${orchestration_ansible_user}"
    
  2. 如果系统提示“if you have a storage account”,请输入 Y

  3. 其中 playbook_bom_downloader_yaml_path 是 sap-automation/deploy/ansible/playbook_bom_downloader.yaml 的绝对路径。 例如 /home/loggedinusername/sap-automation/deploy/ansible/playbook_bom_downloader.yaml

  4. 对于 <bom_base_name>,请使用要安装的 SAP 版本,即 S41909SPS03_v0011ms 或 S42020SPS03_v0003ms 或 S4HANA_2021_ISS_v0001ms 或 S42022SPS00_v0001ms

  5. 对于 <s_user>,使用 SAP 用户名。

  6. 对于 <s_password>,使用 SAP 密码。

  7. 对于 <storageAccountAccessKey>,使用存储帐户的访问密钥。 若要查找存储帐户的密钥:

    1. 在 Azure 门户中查找你创建的存储帐户。

    2. 在存储帐户的边栏菜单上,选择“安全性 + 网络”下的“访问密钥”

    3. 对于“key1”,请选择“显示”密钥

    4. 复制“密钥”值。

  8. 对于 <containerBasePath>,使用 sapbits 容器的路径。 若要查找容器路径:

    1. 查找在 Azure 门户中创建的存储帐户。

    2. 查找名为 sapbits 的容器。

    3. 在容器的边栏菜单上,选择“设置”下的“属性”。

    4. 复制 URL 值。 格式为 https://<your-storage-account>.blob.core.windows.net/sapbits。 格式为 https://<your-storage-account>.blob.core.windows.net/sapbits

  9. 其中 BOM_directory_path 是 SAP-automation-samples/SAP 的绝对路径。 例如 /home/loggedinusername/SAP-automation-samples/SAP

  10. 其中 orchestration_ansible_user 是具有管理员权限(例如)的用户。

现在,可以通过 Azure SAP 解决方案中心安装 SAP 软件

手动上传方法

若要准备 SAP 安装,可以手动将 SAP 组件上传到 Azure 存储帐户。

手动设置存储帐户

首先,为 SAP 组件设置 Azure 存储帐户:

注意

请勿更改此过程任何步骤中的文件夹名称结构。 否则,安装过程会失败。

  1. 创建新的 Azure 存储帐户来存储软件组件。

  2. 将角色“存储 Blob 数据读者”和“读者和数据访问”授予你在基础结构部署期间使用的用户分配的托管标识。

  3. 在存储帐户中创建容器。 可以选择任何容器名称,例如 sapbits

  4. 在容器中创建名为 sapfiles 的文件夹。

  5. 转到 sapfiles 文件夹。

  6. 创建两个名为 archivesboms 的子文件夹。

  7. boms 文件夹中,创建四个具有以下名称的子文件夹,具体取决于你使用的 SAP 版本:

    1. S/4HANA 1909 SPS 03:

      1. HANA_2_00_059_v0003ms

      2. S41909SPS03_v0011ms

      3. SWPM20SP12_latest

      4. SUM20SP14_latest

    2. S/4HANA 2020 SPS 03:

      1. HANA_2_00_064_v0001ms

      2. S42020SPS03_v0003ms

      3. SWPM20SP12_latest

      4. SUM20SP14_latest

    3. S/4HANA 2021 ISS 00:

      1. HANA_2_00_067_v0005ms

      2. S4HANA_2021_ISS_v0001ms

      3. SWPM20SP16_latest

      4. SUM20SP18_latest

    4. S/4HANA 2022 ISS 00:

      1. HANA_2_00_071_v0001ms

      2. S42022SPS00_v0001ms

      3. SWPM20SP15_latest

      4. SUM20SP17_latest

上传 SAP 介质

接下来,将 SAP 软件文件上传到存储帐户:

  1. 将以下 YAML 文件分别上传到同名的文件夹。 请确保使用与你所用的 SAP 版本对应的文件。

    1. S/4HANA 1909 SPS 03:

      1. S41909SPS03_v0011ms.yaml

      2. HANA_2_00_059_v0004ms.yaml

    2. S/4HANA 2020 SPS 03:

      1. S42020SPS03_v0003ms.yaml

      2. HANA_2_00_064_v0001ms.yaml

  2. 根据你的 SAP 版本,转到文件夹 S41909SPS03_v0011msS42020SPS03_v0003msS4HANA_2021_ISS_v0001msS42022SPS00_v0001ms

  3. 创建名为“templates”的子文件夹。

  4. 根据 SAP 版本下载以下文件。

    1. S/4HANA 1909 SPS 03:

      1. HANA_2_00_055_v1_install.rsp.j2

      2. S41909SPS03_v0011ms-app-inifile-param.j2

      3. S41909SPS03_v0011ms-dbload-inifile-param.j2

      4. S41909SPS03_v0011ms-ers-inifile-param.j2

      5. S41909SPS03_v0011ms-generic-inifile-param.j2

      6. S41909SPS03_v0011ms-pas-inifile-param.j2

      7. S41909SPS03_v0011ms-scs-inifile-param.j2

      8. S41909SPS03_v0011ms-scsha-inifile-param.j2

      9. S41909SPS03_v0011ms-web-inifile-param.j2

    2. S/4HANA 2020 SPS 03:

      1. HANA_2_00_055_v1_install.rsp.j2

      2. HANA_2_00_install.rsp.j2

      3. S42020SPS03_v0003ms-app-inifile-param.j2

      4. S42020SPS03_v0003ms-dbload-inifile-param.j2

      5. S42020SPS03_v0003ms-ers-inifile-param.j2

      6. S42020SPS03_v0003ms-generic-inifile-param.j2

      7. S42020SPS03_v0003ms-pas-inifile-param.j2

      8. S42020SPS03_v0003ms-scs-inifile-param.j2

      9. S42020SPS03_v0003ms-scsha-inifile-param.j2

  5. 上传下载到 templates 文件夹的所有文件。

  6. 返回到 sapfiles 文件夹,然后转到 archives 子文件夹。

  7. 从主 BOM URL 下载未标记为 download: false 的所有包。 根据 SAP 版本选择包。 可以使用 BOM 中提到的 URL 下载每个包。 请确保下载每个 BOM 中列出的准确的包版本。

    1. S/4HANA 1909 SPS 03:

      1. HANA_2_00_059_v0004ms.yaml
    2. S/4HANA 2020 SPS 03:

      1. HANA_2_00_064_v0001ms.yaml
  8. 对主要和依赖 BOM 文件重复之前的步骤。

  9. 上传下载到 archives 文件夹的所有包。 不要重命名文件。

  10. (可选)安装其他非必需的包。

    1. 下载包文件。

    2. 将文件上传到 archives 文件夹。

    3. 打开 BOM 的 S41909SPS03_v0011msS42020SPS03_v0003msS4HANA_2021_ISS_v0001msS42022SPS00_v0001ms YAML 文件。

    4. 将每个可选包的信息编辑为 download:true

    5. 保存并重新加载 YAML 文件。 请确保 boms 文件夹的子文件夹(S41909SPS03_v0011msS42020SPS03_v0003msS4HANA_2021_ISS_v0001msS42022SPS00_v0001ms)中只有一个 YAML 文件。

现在,可以通过 Azure SAP 解决方案中心安装 SAP 软件

后续步骤