SAP NetWeaver 部署到使用 RHEL 的 VPC 基础设施上的英特尔虚拟服务器
快速学习者,能够快速学习新知识的人。
这些“快速学习教程”提供了一个单一的配置示例,并附有较不详细的说明,作为喜欢动手操作的客户的入门指南,以加快他们的学习速度。
以下信息为 IBM Cloud® Virtual Private Cloud (VPC) Gen 2 环境的新客户提供了介绍。 我们提供了两个配置示例,帮助您完成从订购到开始安装 SAP 的整个过程。
第一个配置示例很简单,单节点 128 GB、32 vCPU 服务器。 第二种是在景观中添加第二个虚拟服务器,从而实现两个节点的高级配置。 示例布局可能不是您喜欢的布局。 如果您对 Linux® 操作系统或 VPC Gen 2 没有经验,本指南的目的是向您展示两种可能性。

确保访问安全
在云环境中运行关键业务应用程序时,安全是最大的问题之一。 为了确保您与 IBM® Virtual Servers 的连接安全,可按地区将公共 SSH 密钥上传到您的账户。 这些公钥被部署到虚拟服务器实例中,以允许访问服务器。
在继续之前,请创建 SSH 公钥,以便稍后创建虚拟服务器实例时将其上传到您选择的区域。 请按照 此处记录的 步骤操作。
您可以使用安全组来限制对 IP 范围、协议和端口的访问。 安全组不属于本指南的范围,与样本 VPC 一起部署的默认安全组就足够了。 不过,您可能需要为访问限制的例外情况添加额外的端口,如 SAP Software Provisioning Manager 和基于 SAP NetWeaver 的应用程序正在使用的端口。
创建 IBM Cloud VPC 和子网
IBM Cloud® 计算资源保存在 VPC 内的全局区域。 使用以下步骤创建 VPC 及其子网。
- 使用唯一凭证登录 IBM Cloud 控制台。
- 单击菜单图标 菜单
> VPC 基础设施 > 网络 > VPC,然后单击新建虚拟私有云 > 为 Gen 2 创建 VPC。

-
输入 VPC 的唯一名称,例如 sap-test-inst。
-
保留默认资源组。 使用资源组来组织帐户资源,以进行访问控制和计费。 有关更多信息,请参阅在资源组中组织资源的最佳实践。 在本例中,可以使用默认值。
-
可选:标签 输入标签,帮助您组织和查找资源。 以后可以添加更多标记。 有关更多信息,请参阅使用标记。
-
保留默认安全组设置,允许向该 VPC 中的虚拟服务器实例传输入站 SSH 和 ping 流量。
-
可选:经典通道。 选择是否要启用 VPC 访问经典基础架构资源。 更多信息,请参阅 设置对经典基础架构的访问。
您可以在创建 VPC 时将其启用为传统访问。 此外,您的账户中在任何时候都只能有一个经典访问 VPC。
-
可选:默认地址前缀。 如果不想为 VPC 中的每个区域分配默认子网地址前缀,请禁用此选项。 创建 VPC 后,可以进入其详细信息页面,设置自己的子网地址前缀。 如果您禁用此选项,则“VPC 的新子网” 部分将被隐藏,并且需要在创建 VPC 后手动定义。 保留默认值。
如果以后要创建子网和自己的子网地址前缀,请熟悉 VPC 网络的重要细节。 有关更多信息,请参阅“关于 VPC 的联网”和“为 VPC 设计寻址计划”。
新建 VPC 的子网
-
输入 VPC 子网的唯一名称,例如、sap-subnet1.
-
为子网选择一个资源组。 在本例中,保留默认值。
-
为子网选择一个位置,例如 LON ( 伦敦) 3. 位置由区域和专区组成。
选择的区域将用作 VPC 的区域。 在此 VPC 中创建的所有其他资源都将在所选区域中创建。
-
输入子网的地址前缀、地址数和 IP 范围。 IP 范围以 CIDR 符号输入,例如 10.240.0.0/24. 在大多数情况下,可以使用缺省 IP 范围。 如果要指定定制 IP 范围,那么可以使用 IP 范围计算器来选择其他地址前缀或更改地址数。
子网创建后不能调整其大小。
-
保留子网访问控制列表的默认值。 会创建一个新的默认 ACL,您可以稍后按照以下步骤进行配置:配置 ACL。
-
如果要允许所有连接的资源与公共互联网上的资源通信,则将公共网关附加到子网。 不过,请记住,公共网关是用于“出站流量”的,而“入站流量”则需要浮动 IP。 请参阅为工作负载准备虚拟服务器实例。
您还可以在创建子网后连接公共网关。
-
单击创建虚拟私有云。 VPC 会立即出现在虚拟专用云页面中。
创建虚拟服务器实例
使用以下步骤创建虚拟服务器实例。
-
单击虚拟服务器实例 > 新建实例。
-
输入虚拟服务器的唯一名称,例如
sap-app-vsi
。 输入的名称将成为主机名。SAP 主机名必须由最多 13 个字母数字字符组成。 更多详情,请参见 SAP 说明 611361。
-
选择要附加虚拟服务器实例的虚拟私有云,例如
sap-test-inst
。 -
保持资源组默认设置。
-
可选:标签 输入标签,帮助您组织和查找资源。 以后可以添加更多标记。 有关更多信息,请参阅使用标记。
-
已选择创建子网的位置。 位置由区域和专区组成。
-
选择目录映像 >
ibm-redhat-7-6-amd64-sap-applications-1
作为操作系统镜像。

For every SUSE Linux® Enterprise and Red Hat® Enterprise Linux® version there are two different Catalog Images available each: one for SAP HANA and one for SAP NetWeaver (Applications). In these images, the specific repositories are enabled, so you can install the OS packages that are required to install SAP HANA or SAP NetWeaver.
{: note}
- 单击所有剖面 > 平衡,然后选择 bx2-32x128. 有关 SAP 认证配置文件的更多信息,请参阅 适用于 SAP NetWeaver 的 Intel Virtual Server 认证配置文件。

设置 SSH 密钥
如果上传了 VPC 区域的公钥,请选择该公钥并跳至下一节(附加存储)。 否则,请按照以下步骤操作。
-
单击新建密钥。
-
输入一个唯一的名称,例如 sap-sh-key。
-
保留默认资源组。
-
已选择创建子网的区域。
-
可选:标签 输入标签,帮助您组织和查找资源。 以后可以添加更多标记。 有关更多信息,请参阅使用标记。
-
粘贴根据 " 确保访问安全 "中提到的指南 创建的公钥。
-
单击添加 SSH 密钥。
-
可选: 用户数据,留空。
附加块存储卷
要想获得超出操作系统要求的可用文件系统空间,就需要为虚拟服务器实例附加一个块存储卷。 该存储卷由您正在安装的应用程序使用。 在本例中,应用程序是 SAP NetWeaver 堆栈所需的关系数据库管理系统 (RDBMS)。
- 单击新建卷。
- 输入 sap-app-vol1 为姓名。
- 为配置文件选择自定义。
- 输入 500 表示大小。
- 输入 10000 作为 IOPS。 吞吐量默认为 156.25 MiBps.
- 保持加密和自动删除默认设置。

- 单击连接。
- 保持网络接口默认设置。
- 单击创建虚拟服务器实例。 Virtual Servers for VPC 已配置并可通过 SSH 登录后,就可以开始安装 SAP NetWeaver 应用程序了。
为工作负载准备虚拟服务器实例
IBM® Virtual Servers 通过 IPsec 连接访问您的 VPC。 配置基于 IPsec 的虚拟服务器实例访问超出了本指南的范围。 为简化操作并快速访问已部署的实例,可为虚拟服务器实例分配浮动 IP。 此 IP 分配给一个网关,该网关根据定义的安全组转发端口和协议。

通过分配 IP,您可以直接 ssh
进入虚拟服务器实例--在我们的示例中,命令是
ssh -i ~/.ssh/sap-ssh-key root@158.176.180.39
要将虚拟服务器实例的操作系统更新到最新级别,请运行 yum update
并重新启动虚拟服务器实例。
SAP NetWeaver Software Provisioning Manager (SWPM) 不允许将产品安装到无法解析服务器实例外部 IP 的主机名上。 由于这一限制,需要调整虚拟服务器实例中的默认设置。 编辑 /etc/hosts
并注释掉将主机名解析为 IPv4 和 IPv6 localhost 地址的行。 相反,主机名必须解析到虚拟服务器的外部 IP 地址(见示例)。 在我们的示例中,主机名解析为 10.242.128.8
,即图
6 中显示的专用 IP。 在本例中,我们添加了一个默认域示例。 根据您的具体环境调整本示例。
这些行是 /etc/hosts
文件的例子。 注意 localhost 对主机名、IPv4 和 IPv6 的引用都在注释中(或已删除)。
# The following lines are desirable for IPv4 capable hosts
#127.0.0.1 sap-app-vsi sap-app-vsi
127.0.0.1 localhost.localdomain localhost
127.0.0.1 localhost4.localdomain4 localhost4
# The following lines are desirable for IPv6 capable hosts
#::1 sap-app-vsi sap-app-vsi
::1 localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6
10.242.128.8 sap-app-vsi.saptest.com sap-app-vsi
要防止 IBM Cloud cloudinit
进程在下一次重启时将 /etc/hosts
的内容恢复到以前的值,请更改 /etc/cloud/cloud.cfg
中的配置。 将 manage_etc_host
从 True
改为 False
。
最后,您需要在附加存储卷上创建文件系统,以调整存储。 输入 /sbin/fdisk -l
并检查大小,即可根据大小识别新连接的卷。 要安全地识别它,请单击 VPC 虚拟服务器实例页面上的设备,找到设备 ID。

- 在“概览”页面,检查“设备”中的前 20 位数字,并在
/dev/disk/by-id
下找到相同的 ID。 我们的示例设备是07a7-184b...
。[root@sap-app-vsi ~]# ls -als /dev/disk/by-id/ | grep 07a7-184b4a2f-d768-4 0 lrwxrwxrwx 1 root root 11 May 3 08:30 virtio-07a7-184b4a2f-d786-4 -> ../../vdb
在我们的示例中,它是 virtio-07a7-184b4a2f-d786-4
,与 /dev/vdb
相链接。
-
在此路径上创建文件系统:
[root@sap-app-vsi ~]# mkfs.xfs /dev/vdb
-
在
/dev/disk/by-uuid
中查找相关的 UUID:[root@sap-app-vsi ~]# ls -als /dev/disk/by-uuid/ | grep vdb 0 lrwxrwxrwx 1 root root 11 May 10 08:31 1350230e-8058-4fe5-bbc0-cc27253ff778 -> ../../vdb
-
将 UUID 添加到
/etc/fstab
,在我们的示例中:UUID=1350230e-8058-4fe5-bbc0-cc27253ff778 /db2 xfs defaults 0 0
-
创建一个文件系统,用于安装的大部分内容,因为我们使用的是 IBM Db2,所以我们选择它:
[root@sap-app-vsi ~]# mkdir /db2 [root@sap-app-vsi ~]# mount /db2
-
为 SWPM 增加交换空间。 我们正在为系统添加最小交换空间。
[root@sap-app-vsi ~]# dd if=/dev/zero of=/swapfile bs=1M count=8192 8192+0 records in 8192+0 records out 8589934592 bytes (8.6 GB) copied, 24.701 s, 348 MB/s [root@sap-app-vsi ~]# chmod 0600 /swapfile [root@sap-app-vsi ~]# mkswap /swapfile Setting up swapspace version 1, size = 8388604 KiB no label, UUID=e7a63777-521a-44a7-abcc-0d17e1876a78
-
在
/etc/fstab
中添加以下一行/swapfile none swap sw 0 0
-
激活交换空间:
[root@sap-app-vsi ~]# swapon -a
现在您可以安装自己选择的 SAP 产品了。 下一步是 下载并安装 SAP 软件和应用程序( 如果单个虚拟服务器样本就能满足您的需求)。
在 3 层设置中安装两个虚拟服务器实例
更复杂的情况是安装两个虚拟服务器。 一台服务器是 SAP NetWeaver 应用服务器 (sap-app-vsi
),另一台服务器是 SAP NetWeaver 的数据库服务器。 根据示例,我们有两个布局相同的虚拟服务器,图 8 和图 9 是虚拟服务器的概览。


两个虚拟服务器都有一个附加卷和一个浮动 IP。 sap-app-vsi
sap-app2-vsi
有一个稍大的卷,用于托管 RDBMS 和 Central Services (ASCS) 实例。SAP sap-app2-vsi
上需要第二个卷来托管 SAP NetWeaver 堆栈。 从“VPC 的块存储卷”页面创建另一个卷,并将其命名为 sap-app2-vol2
。
选择 sap-app2-vol2
的详细信息屏幕,将其附加到我们的虚拟服务器。

准备网络
要隔离网络流量,SAP,建议部署第二个子网。 一个网络用于客户端访问,另一个网络用于 SAP ABAP 堆栈和 RDBMS 之间的通信。
以图 11 为指导,创建名为 sap-test-net2
的新子网。
单击菜单图标 菜单 > VPC 基础设施 > 网络 > 子网,然后单击新建子网。

创建新子网后,它会显示在“VPC 子网”页面上。

两个虚拟服务器需要连接到新网络。 返回虚拟服务器概览并单击新界面。

根据目标设置维护 /etc/hosts
文件。 下面是 sap-app2-vsi
的示例。
# The following lines are desirable for IPv4 capable hosts
#127.0.0.1 sap-app2-vsi sap-app2-vsi
127.0.0.1 localhost.localdomain localhost
127.0.0.1 localhost4.localdomain4 localhost4
# The following lines are desirable for IPv6 capable hosts
#::1 sap-app2-vsi sap-app2-vsi
::1 localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6
10.243.128.9 sap-app2-vsi.saptest.com sap-app2-vsi
10.243.129.6 sap-app2-vsi-priv.saptest.com sap-app2-vsi-priv
10.243.128.7 sap-app-vsi.saptest.com sap-app-vsi
10.243.129.4 sap-app-vsi-priv.saptest.com sap-app-vsi-priv
准备存储
您需要在数据库虚拟服务器上为数据库和 SAP 安装配置两个卷的文件系统。 此外,/sapmnt
还需要将网络文件系统 ( NFS ) 导出到应用服务器虚拟服务器。
应用服务器虚拟服务器只有一个附加的 20 GB 卷。 无需查看资源 ID 即可识别卷。
Disk /dev/vdd: 21.5 GB, 21474836480 bytes, 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
我们会在卷上创建文件系统,并在确定 /dev/disk/by-uuid
路径后将其挂载。
ls -als /dev/disk/by-uuid/ | grep vdd
0 lrwxrwxrwx 1 root root 9 May 13 03:23 cf5d6692-4176-47c4-b799-039c11103fd4 -> ../../vdd
由此产生的 /etc/fstab
条目见下例。
UUID=cf5d6692-4176-47c4-b799-039c11103fd4 /usr/sap xfs defaults 0 0
您需要创建挂载点并进行挂载。
[root@sap-app-vsi ~]# mkdir /usr/sap
[root@sap-app-vsi ~]# mount -a
在数据库虚拟服务器上,需要创建三个文件系统。 一个用于安装 RDBMS,两个用于 /usr/sap
和 /sapmnt
。 两个附加卷的创建方式相同,显示为 /dev/vdb
和 /dev/vde
。 在我们的示例中,我们将第一个文件系统分成两个分区。
[root@sap-app2-vsi ~]# /sbin/fdisk /dev/vdb
Welcome to fdisk (util-linux 2.23.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0x8f5f8b5e.
Command (m for help): n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-419430399, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-419430399, default 419430399): +100G
Partition 1 of type Linux and of size 100 GiB is set
Command (m for help): n
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
Select (default p): p
Partition number (2-4, default 2):
First sector (209717248-419430399, default 209717248):
Using default value 209717248
Last sector, +sectors or +size{K,M,G} (209717248-419430399, default 419430399):
Using default value 419430399
Partition 2 of type Linux and of size 100 GiB is set
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
创建三个文件系统(本例中不显示输出)。
[root@sap-app2-vsi ~]# mkfs.xfs /dev/vdb1
[root@sap-app2-vsi ~]# mkfs.xfs /dev/vdb2
[root@sap-app2-vsi ~]# mkfs.xfs /dev/vde
[root@sap-app2-vsi ~]# mkdir /usr/sap /sapmnt /db2
同样,您需要确定 /dev/disk/by-uuid
路径(如前所述),并维护 /etc/fstab
条目。 最后一步,您需要设置 NFS 以安装 SAP。
-
在两个虚拟服务器上安装 NFS 实用程序。
[root@sap-app-vsi ~]# yum install nfs-utils
[root@sap-app2-vsi ~]# yum install nfs-utils
-
在数据库虚拟服务器上启动 NFS 服务器。
[root@sap-app2-vsi ~]# systemctl enable nfs-server [root@sap-app2-vsi ~]# systemctl start nfs-server
-
通过在数据库服务器的 /etc/exports 中添加所需条目,使用 NFS 将 /sapmnt 和 /usr/sap/trans 从数据库服务器导出到应用程序服务器:
/sapmnt/C10 10.243.129.0/24(rw,no_root_squash,sync,no_subtree_check) /usr/sap/trans 10.17.139.0/24(rw,no_root_squash,sync,no_subtree_check)
您需要根据实际 IP 范围和子网掩码调整上一示例中的子网。 将
C10
替换为 SAP 系统的 SAP 系统 ID。C10
是一个示例值。 必须先创建目录,然后再进行导出。 -
在命令行中运行以下命令。
[root@sap-app2-vsi ~]# mkdir /sapmnt/C10 [root@sap-app2-vsi ~]# mkdir -p /usr/sap/trans [root@sap-app2-vsi ~]# exportfs -a
-
在
/etc/fstab
中添加以下条目,在应用程序服务器上挂载 NFS 共享,并使用以下命令从命令行挂载应用程序服务器。[root@sap-app-vsi ~]# vi /etc/fstab ... sap-app2-vsi-priv:/sapmnt/C10 /sapmnt/C10 nfs defaults 0 0 sap-app2-vsi-priv:/usr/sap/trans /usr/sap/trans nfs defaults 0 0
-
创建并挂载目标目录
[root@sap-app-vsi ~]# mkdir /sapmnt/C10 [root@sap-app-vsi ~]# mkdir /usr/sap/trans [root@sap-app-vsi ~]# mount /sapmnt/C10 [root@sap-app-vsi ~]# mount /usr/sap/trans
您的服务器现在已准备好托管分布式 SAP 安装的组件。 有关更多安装准备工作的详细信息,请参阅 下载和安装 SAP 软件和应用程序。
安装 SAP 场景
RPM 软件包的先决条件
SAP 安装需要满足与操作系统上安装的软件包和正在运行的操作系统守护进程有关的某些先决条件。 有关这些先决条件的最新列表,请参阅 SAP 提供的最新安装指南和支持说明。 目前,SAP NetWeaver 安装需要以下额外软件包:
compat-sap-c++-7
C++:实现 C++ 运行时与编译器的兼容性。SAPuuidd
维护操作系统对创建 UUID 的支持csh
为操作系统提供 C shell 支持
-
按照 SAP 注释 2195019 安装软件包
compat-sap-c++-7
。 创建 SAP 二进制文件所需的特定软链接。[root@sap-app-vsi ~]# yum install compat-sap-c++-7 ... [root@sap-app-vsi tmp]# mkdir -p /usr/sap/lib [root@sap-app-vsi tmp]# ln -s /opt/rh/SAP/lib64/compat-sap-c++-7.so /usr/sap/lib/libstdc++.so.6
-
检查是否安装了 uuid 守护进程 (uuidd)。 如果没有,请安装并启动它。
[root@sap-app-vsi ~]# rpm -qa | grep uuidd [root@sap-app-vsi ~]# yum install uuidd [root@sap-app-vsi ~]# systemctl enable uuidd [root@sap-app-vsi ~]# systemctl start uuidd
-
安装 C shell 支持所需的 tcsh 软件包
[root@sap-app-vsi ~]# yum install tcsh
安装 IBM Cloud Metrics Collector for SAP
SAP 需要安装 Metrics Collector for,以便在提交支持案例时分析您的基础架构。IBM Cloud SAP 使用 IBM Cloud Metrics Collector for SAP 中的说明安装收集器。
下载 SAP 软件
登录 SAP for Me 下载软件,将所需的数字多功能光盘(DVD)下载到本地共享驱动器,然后将 DVD 传输到已配置的服务器。 另一种方法是下载 SAP 软件下载管理器,将其安装到目标服务器上,然后直接将 DVD 映像下载到服务器上。 有关 SAP 软件下载管理器的更多信息,请参阅 SAP 下载管理器。
从 SAP Service Marketplace 下载 DVD 时,您需要 S-User ID 和下载软件授权。 要申请 S-USer ID,请访问 SAP 支持门户。
准备使用 SAP 的软件供应管理器 (SWPM)
根据网络带宽和延迟情况,您可能需要在虚拟网络计算(VNC)会话中远程运行 SAP SWPM GUI。 另一种方法是在本地运行图形用户界面,并将其连接到目标计算机上的 SWPM。 对于第一种方案,必须在虚拟服务器中运行 X11,并安装 VNC 服务器和浏览器。 您可以在本地桌面上运行浏览器,并连接到虚拟服务器中的 SWPM。 要连接 SWPM,请检查 SWPM 正在监听的端口。 SWPM 在启动过程中列出访问 URL 时会显示端口。 端口(通常为 4237)需要在 VPC 的安全组中打开。
您需要为 IP 源范围(或 0.0.0.0/0 )和端口号添加新的入站规则。 另一种更安全的方法是通过 ssh
开通端口隧道。
[root@sap-app-vsi ~]# ssh -L 4237:localhost:4237 <your virtual server IP>
-L 选项用于本地隧道,并将浏览器连接到本地主机端口,而不是远程 IP。 切记将 SAP 应用程序所需的端口(例如:端口 3200-3299,取决于 SAP NetWeaver 实例编号)添加到安全组。 有关端口的详细信息,请参阅 SAP ports。

安装 SAP 软件
下载安装介质后,请按照 SAP 安装指南中为 SAP 版本和组件记录的标准 SAP 安装程序进行操作。 此外,请查看相应的 SAP 注释。 有关 SAP NetWeaver 安装使用 Db2 作为 RDBMS 的更多详细信息,请参阅 IBM 的注意事项 Db2。