适用于 Windows 的 SAP MaxDB 部署指南

本部署指南介绍了如何部署和连接到 Compute Engine 虚拟机,该虚拟机已准备就绪,可在 Windows Server 操作系统上安装 SAP MaxDB。

本指南中的说明使用 Cloud Deployment Manager 来部署和配置虚拟机、Windows Server 操作系统以及 SAP MaxDB 所需的磁盘卷。

如需详细了解如何规划您的部署,请参阅 SAP MaxDB 规划指南

前提条件

如果您还没有已启用结算功能的 Google Cloud 项目,必须先创建一个项目,然后才能部署要安装 SAP MaxDB 的虚拟机。

如需创建项目,请执行以下操作:

  1. 登录您的 Google Cloud 帐号。如果您是 Google Cloud 新手,请创建一个帐号来评估我们的产品在实际场景中的表现。新客户还可获享 $300 赠金,用于运行、测试和部署工作负载。
  2. 在 Google Cloud Console 的项目选择器页面上,选择或创建一个 Google Cloud 项目。

    转到“项目选择器”

  3. 确保您的 Cloud 项目已启用结算功能。 了解如何确认您的项目是否已启用结算功能

配置 gcloud 命令环境

本部分中的说明使用 Cloud Shell 输入用于部署或配置 Google Cloud 资源的 gcloud 命令。您可在浏览器中通过 Cloud Console 访问 Cloud Shell。

在您每次启动 Cloud Shell 时,Cloud Shell 都会在 Google Cloud 预配的一个虚拟机上运行。第一次使用 Cloud Shell 时,Google Cloud 还会为您创建一个持久性 $HOME 目录;每当您打开 Cloud Shell 时,系统都会恢复该目录。

预配的虚拟机包含最新的 Cloud SDK,该套件提供 gcloud 命令行界面。因此,您在 Cloud Shell 中使用的 gcloud 命令与在本地安装的 Cloud SDK 实例中使用的命令相同。

如果您已安装 Cloud SDK,就可以从本地机器发出在这些说明中使用的 gcloud 命令。但是,使用本地安装的 Cloud SDK 时,您必须始终确保使用的 Cloud SDK 为最新版本。

无论是使用 Cloud Shell 还是 Cloud SDK,您都可以设置和更改 gcloud 命令环境的属性,并将它们保存为“配置”。配置是键值对的集合,它们会影响 gcloud 命令的行为。

您可以对 Cloud Shell 中的配置执行如下一些基本操作:

  • 使用 gcloud init 初始化配置。

  • 使用 gcloud config list 查看当前 gcloud 配置的设置。

  • 通过 gcloud config set project [PROJECT_ID] 更改您正在使用的 Google Cloud 项目,其中 [PROJECT_ID] 表示您的 Google Cloud 项目。

  • 使用 gcloud config set compute/region [REGION] 设置默认地区,其中 [REGION] 表示一个 Google Cloud 地区。

  • 使用 gcloud config set compute/zone [ZONE] 设置默认区域,其中 [ZONE] 表示一个 Google Cloud 区域。

  • 使用 gcloud config configurations create [NAME] 创建新配置,其中 [NAME] 表示该配置的名称。

如需详细了解如何使用配置,请参阅管理 Cloud SDK 配置

创建网络

出于安全考虑,建议您创建一个新的网络。您可以通过添加防火墙规则或使用其他访问权限控制方法来控制哪些人有权访问该网络。

如果您的项目具有默认 VPC 网络,请勿使用。 请创建自己的 VPC 网络,以保证只有您明确创建的防火墙规则在起作用。

在部署期间,虚拟机实例通常需要访问互联网来下载 Google 的监控代理。如果您使用的是由 Google Cloud 提供的某一经 SAP 认证的 Linux 映像,那么虚拟机实例还需要访问互联网来注册许可以及访问操作系统供应商代码库。具有 NAT 网关和虚拟机网络标记的配置支持这种访问,即使目标虚拟机没有外部 IP 地址,也是如此。

如需设置网络,请执行以下操作:

  1. 转到 Cloud Shell。

    转到 Cloud Shell

  2. 如需在自定义子网模式下创建新网络,请运行以下命令:

    gcloud compute networks create [YOUR_NETWORK_NAME] --subnet-mode custom

    其中,[YOUR_NETWORK_NAME] 是新网络的名称。该网络名称只能包含小写字符、数字和短划线字符 (-)。

    指定 --subnet-mode custom 可避免使用默认的自动模式,该模式会自动在每个 Compute Engine 地区创建一个子网。如需了解详情,请参阅子网创建模式

  3. 创建一个子网,并指定地区和 IP 地址范围:

    gcloud compute networks subnets create [YOUR_SUBNETWORK_NAME] \
            --network [YOUR_NETWORK_NAME] --region [YOUR_REGION] --range [YOUR_RANGE]

    其中:

    • [YOUR_SUBNETWORK_NAME] 是新的子网。
    • [YOUR_NETWORK_NAME] 是您在上一步中创建的网络的名称。
    • [REGION] 是该子网所在的地区。
    • [YOUR_RANGE]以 CIDR 格式指定的 IP 地址范围,例如 10.1.0.0/24。如果您计划添加多个子网,请为网络中的每个子网分配互不重叠的 CIDR IP 地址范围。请注意,每个子网及其内部 IP 地址范围均映射到一个地区。
  4. (可选)重复上述步骤并添加其他子网。

设置 NAT 网关

如果您需要创建一个或多个没有公共 IP 地址的虚拟机,则需要使用网络地址转换 (NAT) 以使虚拟机能够访问互联网。使用 Cloud NAT,这是 Google Cloud 提供的一项软件定义的代管式服务,可让虚拟机将出站数据包发送到互联网,并接收任何对应的已建立入站响应数据包。或者,您可以将单独的虚拟机设置为 NAT 网关。

如需为项目创建 Cloud NAT 实例,请参阅使用 Cloud NAT

为项目配置 Cloud NAT 后,虚拟机实例可以在没有公共 IP 地址的情况下安全地访问互联网。

使用 Deployment Manager 针对 SAP MaxDB 部署 Windows 虚拟机

以下说明使用 Deployment Manager 来部署 Windows 虚拟机实例以及 SAP MaxDB 所需的所有永久性磁盘。

关于 Deployment Manager

根据这些说明,您将在 Deployment Manager 配置文件模板中定义安装的资源选项。

Deployment Manager 将所有为 SAP 系统创建的资源视为单个实体,称为“部署”。您可以在 Cloud Console 的部署页面上查看和处理项目的所有部署。

使用 Deployment Manager 时,请注意以下行为:

  • 删除某一部署将删除与该部署关联的所有资源,包括虚拟机、永久性磁盘以及虚拟机上安装的任何 SAP 系统。
  • 默认情况下,Deployment Manager 使用 ACQUIRE 资源创建政策。如果您指定项目中另一个虚拟机已在使用的虚拟机名称,则 Deployment Manager 不会创建新虚拟机,而是将现有虚拟机添加到新部署中。如果原始虚拟机是之前运行 Deployment Manager 创建的,则该虚拟机将与这两个部署关联。

    如果您随后删除新部署,则其获取的虚拟机也将从最初创建它的部署中删除。为了避免这种情况,请将 Deployment Manager 资源政策设置为 CREATE,或确保在新部署中避免使用重复的资源名称。

    如需了解使用 Deployment Manager 创建资源时可使用的政策以及如何指定政策,请参阅 Deployment Manager 文档

部署过程

  1. 打开 Cloud Shell。

    转到 Cloud Shell

  2. 在 Cloud Shell 中输入以下命令,以将 template.yaml 配置文件模板下载到您的工作目录中:

    wget https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/latest/dm-templates/sap_maxdb-win/template.yaml
  3. (可选)重命名 template.yaml 文件以标识其定义的配置,例如 maxdb-win-2016.yaml。

  4. 在 Cloud Shell 代码编辑器中打开 template.yaml 文件。

    如需打开 Cloud Shell 代码编辑器,请点击 Cloud Shell 终端窗口右上角的铅笔图标。

  5. 在 template.yaml 文件中,更新以下属性值,方法是将方括号及其中的内容替换为安装所需的值。

    属性 数据类型 说明
    类型 字符串

    指定要在部署期间使用的 Deployment Manager 模板的位置、类型和版本。

    YAML 文件包含两个 type 规范,其中一个被注释掉。默认处于活跃状态的 type 规范将模板版本指定为 latest。注释掉的 type 规范使用时间戳指定特定模板版本。

    如果您需要所有部署都使用相同的模板版本,请使用包含时间戳的 type 规范。

    instanceName 字符串 安装 SAP MaxDB 的虚拟机实例的名称。 此名称不得超过 13 个字符,可包含小写字母、数字或连字符。
    instanceType 字符串 安装 SAP MaxDB 的 Compute Engine 虚拟机的类型。请指定具有两个或更多 vCPU 的机器类型。例如,“n1-standard-4”。如果要在同一虚拟机上运行 SAP MaxDB 和 SAP NetWeaver,请选择 CPU 和内存量足以支持这两个系统的机器类型。请参阅 SAP NetWeaver 规划指南
    可用区 字符串 部署 SAP MaxDB 的可用区。该可用区必须位于您为子网选择的区域。
    子网 字符串 您在先前步骤中创建的子网的名称。如果您要部署到共享 VPC,请以 [SHAREDVPC_PROJECT]/[SUBNETWORK] 的格式指定此值。例如 myproject/network1
    windowsImage 字符串 您用于 SAP MaxDB 的 Windows 操作系统映像或映像系列的名称。如需指定映像系列,请将前缀 family/ 添加到系列名称中,例如 family/windows-2016。如需指定某一特定映像,请仅指定该映像的名称。如需查看可用映像系列的列表,请参阅 Cloud Console 中的映像页面。
    windowsImageProject 字符串 您要使用的映像所属的 Google Cloud 项目。此项目可以是您自己的项目,也可以是某个 Google Cloud 映像项目,例如 windows-cloud。如需查看 GCP 映像项目的列表,请参阅 Compute Engine 文档中的映像页面。
    maxdbRootSize 整数 MaxDB (D:) 的大小(以 GB 为单位),该目录是数据库实例的根目录。maxdbRootSize 的最小值和默认值为 8 GB。
    maxdbDataSize 整数 MaxDB Data (E:) 的大小,该目录用于存放数据库数据文件。maxdbDataSize 的最小值和默认值均为 30 GB。
    maxdbLogSize 整数 MaxDB Log (L:) 的大小,该目录用于存放数据库事务日志。maxdbLogSize 的最小值和默认值均为 8 GB。
    maxdbBackupSize 整数 Backup (X:) 卷的大小。此为可选属性。如果将该属性设置为 0 或将其省略,则不会创建任何磁盘。
    maxdbDataSSD 布尔值 指定数据硬盘是使用 SSD 永久性磁盘(“Yes”)还是 HDD 永久性磁盘(“No”)。默认值为“Yes”。
    maxdbLogSSD 布尔值 指定日志硬盘是使用 SSD 永久性磁盘(“Yes”)还是 HDD 永久性磁盘(“No”)。默认值为“Yes”。对于日志硬盘,建议使用 SSD。
    usrsapSize 整数 仅当您要在同一虚拟机实例上安装 SAP MaxDB 和 SAP NetWeaver 以将其搭配运行时,才需要填写此属性。 在部署的虚拟机中,此卷被标记为 SAP (S:)
    swapSize 整数 仅当您要在同一虚拟机实例上安装 SAP MaxDB 和 SAP NetWeaver 以将其搭配运行时,才需要填写此属性。 在部署的虚拟机中,此卷被标记为 Pagefile (P:)

    以下配置文件将创建配置为运行 SAP MaxDB 数据库服务器和 SAP NetWeaver 的虚拟机。此配置文件引导 Deployment Manager 部署运行 Windows Server 2016 操作系统的 n1-standard-16 虚拟机。该虚拟机包含运行 SAP MaxDB 和 NetWeaver 所需的所有目录。

    resources:
    - name: sap_maxdb-win
      type: https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/latest/dm-templates/sap_maxdb-win/sap_maxdb-win.py
      #
      # By default, this configuration file uses the latest release of the deployment
      # scripts for SAP on Google Cloud.  To fix your deployments to a specific release
      # of the scripts, comment out the type property above and uncomment the type property below.
      #
      # type: https://storage.googleapis.com/cloudsapdeploy/deploymentmanager/202103310846/dm-templates/sap_maxdb-win/sap_maxdb-win.py
      #
      properties:
        instanceName: ex-vm-maxdb-win
        instanceType: n1-standard-16
        zone: us-central1-f
        subnetwork: example-sub-network
        windowsImage: family/windows-2016
        windowsImageProject: windows-cloud
        maxdbRootSize: 10
        maxdbDataSize: 50
        maxdbLogSize: 30
        maxdbBackupSize: 100
        maxdbDataSSD: Yes
        maxdbLogSSD: Yes
        usrsapSize: 15
        swapSize: 24
  6. 部署此虚拟机:

    gcloud deployment-manager deployments create [DEPLOYMENT-NAME] --config [TEMPLATE-NAME].yaml
    

    上述命令会调用 Deployment Manager,以完全根据 template.yaml 文件中的规范部署该虚拟机。此过程可能需要几分钟时间。如需检查部署进度,请按照下一部分中的步骤操作。

验证部署

以下步骤使用 Cloud Logging,这可能会产生费用。如需了解详情,请参阅 Cloud Logging 价格

  1. 打开 Cloud Logging,检查是否存在错误并监控安装进度。

    转到 Cloud Logging

  2. 资源标签页上,选择全局作为日志资源。如果某个虚拟机显示为 INSTANCE DEPLOYMENT COMPLETE,则表示 Deployment Manager 已完成对该虚拟机的处理。

    显示 Cloud Logging。

  3. 在部署 SAP MaxDB 系统后,按照下一部分连接到虚拟机中所述连接到虚拟机,以确认所有必需的数据卷都已存在并且具有预期的容量。Pagefile 硬盘空间应该接近完全占用。

    Deployment Manager 为 MaxDB 创建的磁盘驱动器。

如果任何验证步骤显示安装失败,请执行以下操作:

  1. 更正该错误。
  2. 部署页面上,删除该部署以从失败的安装中清除虚拟机和永久性磁盘。
  3. 重新运行部署。

连接到您的虚拟机

如需连接到基于 Windows 的虚拟机,必须首先为虚拟机生成密码,然后使用 RDP 或 PowerShell 连接到虚拟机。

生成密码

创建 Windows 虚拟机后,您必须先为该虚拟机生成一个密码,然后才能与其建立连接。

  1. 转到虚拟机实例页面。

    打开虚拟机实例

  2. 点击您刚刚创建的虚拟机的名称,打开“虚拟机实例详情”页面。

    “虚拟机实例”页面上的虚拟机名称。

  3. 在实例详情页面上,点击设置 Windows 密码按钮。系统会为您生成一个密码。复制密码并将其存储在安全的地方。

    通过点击“虚拟机实例详情”页面上的按钮来设置 Windows 密码。

使用 RDP

如果您的防火墙允许通过端口 3389 进行访问,则您可以使用 RDP 连接到 Windows 实例并启动远程桌面会话。如需使用 PowerShell 连接到虚拟机,请参阅使用 PowerShell

使用以下方法之一连接到 Windows 实例上的远程桌面:

  • 使用安装了 Chrome RDP for Google Cloud 扩展程序的 Chrome 浏览器,然后通过 Cloud Console 建立 RDP 连接。
  • 下载 RDP 文件并通过 Windows 远程桌面连接客户端或第三方客户端手动连接。

控制台

  1. 如果您的 Chrome 浏览器中尚未安装 Chrome RDP for Google Cloud 扩展程序,请立即安装。

    如需查找 Chrome RDP for Google Cloud Platform 扩展程序,请在浏览器地址栏中输入 chrome://extensions/,然后在 Chrome 浏览器的扩展程序页面上的 Chrome 应用下查找该扩展程序。

  2. 转到 Cloud Console 中的虚拟机实例页面。

    转至“虚拟机实例”页面

  3. 点击要连接到的实例旁边的 RDP 按钮。 一个新的浏览器窗口随即会打开,上面显示 Chrome RDP for Google Compute Engine 扩展程序。

  4. 输入用户名和密码。如果这是您第一次连接到该实例,或者忘记了密码,请创建或重置 Windows 密码

  5. 点击确定进行连接。

RDP 客户端

  1. 安装 RDP 客户端。如果您没有偏好,请安装 Chrome RDP for Google Compute Engine 扩展程序。
  2. 获取 Windows 虚拟机的外部 IP 地址。转到 Cloud Console 中的“虚拟机实例”页面,或运行 gcloud compute instances list 来查看实例及其外部 IP 地址值的列表。
  3. 在 RDP 客户端中,提供虚拟机的外部 IP 地址作为要连接的 IP 地址。例如,在 Chrome RDP 扩展程序中,按以下格式输入 IP 地址:

    已设置好所需选项的实例创建窗口的屏幕截图

  4. 输入您的登录信息,并将“网域”字段留空。如果这是您第一次连接到该虚拟机,或者如果您忘记了密码,请创建或重置 Windows 密码

    已设置好所需选项的实例创建窗口的屏幕截图

使用 PowerShell

  1. 如果您尚未在 Windows 虚拟机上创建用户名和密码,请创建 Windows 密码
  2. 添加防火墙规则或修改现有防火墙规则,以在 Windows Server 虚拟机所在的 GCP 网络上打开端口 5986。
  3. 在本地工作站上,打开 PowerShell 终端。
  4. (可选)您可以初始化变量以保留用户凭据,这样您就无需在每次连接到实例时输入它们。如果您跳过此步骤,系统之后会提示您输入用户名和密码。

    $credentials = Get-Credential
    
  5. 使用 Enter-PSSession 命令启动远程 PowerShell 会话,然后添加相应标志以使用 SSL 并跳过凭据检查。

    Enter-PSSession -ComputerName [IP_ADDRESS] -UseSSL -SessionOption
    (New-PSSessionOption -SkipCACheck -SkipCNCheck) -Credential $credentials
    

安装数据库

现在,您的操作系统已配置完毕,接下来您就可以安装 SAP MaxDB 数据库。MaxDB 通常会与使用它的 SAP 产品一起安装。

如需在您的虚拟机上安装 SAP MaxDB,请执行以下操作:

  1. 使用 RDP 或 Windows PowerShell 连接到基于 Windows 的虚拟机。
  2. 根据 SAP 安装指南下载 SAP Software Provisioning Manager (SWPM)、SAP 产品安装媒体和 MaxDB 安装媒体。
  3. 根据针对您所用 SAP 产品的 SAP 安装指南,安装 SAP 产品和 AP MaxDB 数据库。如需获取更多指导信息,请参阅 SAP MaxDB 文档

SAP 在 SAP 说明 1020175 - 常见问题解答:SAP MaxDB 安装、升级或应用补丁程序中提供了更多安装信息。

执行部署后任务

在使用 SAP MaxDB 实例之前,我们建议您先执行以下几个部署后步骤:

  1. 使用最新的补丁程序更新 SAP MaxDB 软件(如果有)。
  2. 安装其他任何组件。
  3. 配置新的 SAP MaxDB 数据库并进行备份。

如需了解详情,请参阅 SAP MaxDB 数据库管理