你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
适用于 SAP 工作负荷的 IBM Db2 Azure 虚拟机 DBMS 部署
使用 Microsoft Azure,可以将运行于 IBM DB2 for Linux、UNIX 和 Windows (LUW) 的现有 SAP 应用程序迁移到 Azure 虚拟机。 借助 IBM DB2 for LUW 上的 SAP,管理员和开发人员仍然可以使用在本地可用的相同开发和管理工具。 有关在 IBM Db2 for LUW 上运行 SAP Business Suite 的常规信息,请通过 IBM Db2 for Linux、UNIX 和 Windows 上的 SAP 中的 SAP 社区网络 (SCN) 获取。
有关 Azure 中 DB2 for LUW 上的 SAP 的其他信息和更新,请参阅 SAP 说明 2233094。
有大量文章介绍 Azure 上的 SAP 工作负载。 建议先参阅 Azure 上的 SAP VM 入门,然后阅读其他相关领域的文章。
以下 SAP 说明与 Azure 上的 SAP 有关,涉及本文档中介绍的领域:
说明文档编号 | 标题 |
---|---|
1928533 | Azure 上的 SAP 应用程序:支持的产品和 Azure VM 类型 |
2015553 | Microsoft Azure 上的 SAP:支持先决条件 |
1999351 | 适用于 SAP 的增强型 Azure 监视故障排除 |
2178632 | Microsoft Azure 上的 SAP 关键监视度量值 |
1409604 | Windows 上的虚拟化:增强型监视 |
2191498 | Azure 的 Linux 上的 SAP:增强型监视 |
2233094 | DB6:Azure 上使用 IBM DB2 for Linux、UNIX 和 Windows 的 SAP 应用程序 - 附加信息 |
2243692 | Microsoft Azure (IaaS) VM 上的 Linux:SAP 许可证问题 |
1984787 | SUSE LINUX Enterprise Server 12:安装说明 |
2002167 | Red Hat Enterprise Linux 7.x:安装和升级 |
1597355 | 适用于 Linux 的交换空间建议 |
在阅读本文档之前,请查看适用于 SAP 工作负载的 Azure 虚拟机 DBMS 部署的注意事项。 查看 Azure 上的 SAP 工作负载中的其他指南。
IBM DB2 for Linux、UNIX 和 Windows 版本支持
自 DB2 版本 10.5 起,支持 Microsoft Azure 虚拟机服务中 IBM DB2 for LUW 上的 SAP。
若要了解受支持的 SAP 产品和 Azure 虚拟机 (VM) 类型,请查看 SAP 说明 1928533。
在 Azure VM 中安装 SAP 的 IBM DB2 for Linux、UNIX 和 Windows 配置准则
存储配置
有关 SAP 工作负载的 Azure 存储类型概述,请查看适用于 SAP 工作负载的 Azure 存储类型一文。所有数据库文件都必须存储在 Azure 块存储的已装载磁盘上(Windows:NTFS,Linux:xfs [自 Db2 11.1 起受支持] 或 ext3)。
Db2 数据库文件不支持远程共享卷(如列出的方案中的 Azure 服务):
适用于所有来宾 OS 的 Microsoft Azure 文件服务。
适用于在 Windows 来宾操作系统中运行的 Db2 的 Azure NetApp 文件。
Db2 数据库文件支持远程共享卷(如列出的方案中的 Azure 服务):
- 支持在 Azure NetApp 文件上托管的 NFS 共享文件上托管基于 Linux 来宾操作系统的 Db2 数据和日志文件!
如果使用的是基于 Azure 页 BLOB 存储的磁盘或托管磁盘,那么适用于 SAP 工作负载的 Azure 虚拟机 DBMS 部署的注意事项中的表述也适用于 Db2 DBMS(数据库管理系统)部署。
如本文档前面的常规部分所述,Azure 磁盘存在 IOPS(每秒 I/O 操作数)吞吐量配额。 确切的配额因所用 VM 类型而异。 可以在此处 (Linux) 和此处 (Windows) 找到 VM 类型及其配额的列表。
只要每个磁盘当前的 IOPS 配额够用,就可以将所有数据库文件存储在装载的单个磁盘上。 但应该始终在不同的磁盘/VHD 上分隔数据文件和事务日志文件。
有关性能注意事项,另请参阅 SAP 安装指南中的“数据库目录的数据安全和性能注意事项”一章。
或者,可以使用 Windows 存储池(仅适用于 Windows Server 2012 及更高版本),如适用于 SAP 工作负载的 Azure 虚拟机 DBMS 部署的注意事项中所述。 在 Linux 上,可以使用 LVM 或 mdadm 基于多个磁盘创建一个大型逻辑设备。
对于 Azure M 系列 VM,与 Azure 高级存储性能相比,使用 Azure 写入加速器时可通过多种因素减少写入事务日志的延迟。 因此,应该为形成 Db2 事务日志卷的一个或多个 VHD 部署 Azure 写入加速器。 有关详细信息,请阅读文档写入加速器。
IBM Db2 LUW 11.5 已发布对 4 KB 扇区大小的支持。 尽管需要在 11.5 中通过配置设置 db2set DB2_4K_DEVICE_SUPPORT=ON 来启用使用 4-KB 扇区大小,如下所示:
在较旧的 Db2 版本中,必须使用 512 个字节的扇区大小。 高级 SSD 盘为原生 4 KB,具备 512 个字节的仿真。 默认情况下,超级磁盘使用 4 KB 的扇区大小。 在创建超级磁盘期间,可以启用 512 个字节的扇区大小。 有关详细信息,请参阅使用 Azure 超级磁盘。 低于 11.5 的 IBM Db2 LUW 版本只支持 512 个字节的扇区大小。
在 Windows 上,将存储池用于 log_dir
、sapdata
和 saptmp
目录的 Db2 存储路径时,必须将物理磁盘扇区大小指定为 512 个字节。 使用 Windows 存储池时,必须通过命令行界面使用参数 -LogicalSectorSizeDefault
,以手动方式创建存储池。 有关详细信息,请参阅 New-StoragePool。
针对 IBM Db2 部署的 VM 和磁盘结构的建议
SAP 支持说明 1928533 中列出的任何 VM 类型都支持 IBM Db2 for SAP NetWeaver 应用程序。 建议用于运行 IBM Db2 数据库的 VM 系列是用于大型多 TB 数据库的 Esd_v4/Eas_v4/Es_v3 和 M/M_v2 系列。 通过启用 M 系列写入加速器,可以提升 IBM Db2 事务日志磁盘写入性能。
下面是 Db2 部署上 SAP 的各种大小和用途的基准配置(从小型到特大型)。
重要
下面列出的 VM 类型是满足每个类别的 vCPU 和内存标准的示例。 存储配置基于 Azure 高级存储 v1。 高级 SSD v2 和 Azure 超级磁盘也完全支持 IBM Db2,因此可用于进行部署。 使用容量、突发吞吐量和突发 IOPS 的值来定义超级磁盘或高级 SSD v2 配置。 可以将/db2/<SID>
/log_dir 的 IOPS 限制为大约 5000 IOPS。 如果这些基线建议不符合要求,请根据特定的工作负载调整吞吐量和 IOPS
超小型 SAP 系统:数据库大小 50 - 200 GB:示例解决方案管理器
VM 大小/示例 | Db2 装入点 | Azure 高级磁盘 | 磁盘数量 | IOPS | 吞吐 量 [MB/s] |
大小 [GB] | 突发 IOPS | 突发 吞吐量 [GB] |
条带大小 | 缓存 |
---|---|---|---|---|---|---|---|---|---|---|
vCPU:4 | /db2 | P6 | 1 | 240 | 50 | 64 | 3,500 | 170 | ||
RAM:~32 GiB | /db2/<SID> /sapdata |
P10 | 2 | 1,000 | 200 | 256 | 7,000 | 340 | 256 KB |
ReadOnly |
E4(d)s_v5 | /db2/<SID> /saptmp |
P6 | 1 | 240 | 50 | 128 | 3,500 | 170 | ||
E4(d)as_v5 | /db2/<SID> /log_dir |
P6 | 2 | 480 | 100 | 128 | 7,000 | 340 | 64 KB |
|
... | /db2/<SID> /offline_log_dir |
P10 | 1 | 500 | 100 | 128 | 3,500 | 170 |
小型 SAP 系统:数据库大小为 200 - 750 GB:小型企业套件
VM 大小/示例 | Db2 装入点 | Azure 高级磁盘 | 磁盘数量 | IOPS | 吞吐 量 [MB/s] |
大小 [GB] | 突发 IOPS | 突发 吞吐量 [GB] |
条带大小 | 缓存 |
---|---|---|---|---|---|---|---|---|---|---|
vCPU:16 | /db2 | P6 | 1 | 240 | 50 | 64 | 3,500 | 170 | ||
RAM:~128 GiB | /db2/<SID> /sapdata |
P15 | 4 | 4,400 | 500 | 1.024 | 14,000 | 680 | 256 KB | ReadOnly |
E16(d)s_v5 | /db2/<SID> /saptmp |
P6 | 2 | 480 | 100 | 128 | 7,000 | 340 | 128 KB | |
E16(d)as_v5 | /db2/<SID> /log_dir |
P15 | 2 | 2,200 | 250 | 512 | 7,000 | 340 | 64 KB |
|
... | /db2/<SID> /offline_log_dir |
P10 | 1 | 500 | 100 | 128 | 3,500 | 170 |
中型 SAP 系统:数据库大小为 500 - 1000 GB:小型企业套件
VM 大小/示例 | Db2 装入点 | Azure 高级磁盘 | 磁盘数量 | IOPS | 吞吐 量 [MB/s] |
大小 [GB] | 突发 IOPS | 突发 吞吐量 [GB] |
条带大小 | 缓存 |
---|---|---|---|---|---|---|---|---|---|---|
vCPU:32 | /db2 | P6 | 1 | 240 | 50 | 64 | 3,500 | 170 | ||
RAM:~256 GiB | /db2/<SID> /sapdata |
P30 | 2 | 10,000 | 400 | 2.048 | 10,000 | 400 | 256 KB | ReadOnly |
E32(d)s_v5 | /db2/<SID> /saptmp |
P10 | 2 | 1,000 | 200 | 256 | 7,000 | 340 | 128 KB | |
E32(d)as_v5 | /db2/<SID> /log_dir |
P20 | 2 | 4,600 | 300 | 1.024 | 7,000 | 340 | 64 KB |
|
M32ls | /db2/<SID> /offline_log_dir |
P15 | 1 | 1,100 | 125 | 256 | 3,500 | 170 |
大型 SAP 系统:数据库大小为 750 - 2000 GB:企业套件
VM 大小/示例 | Db2 装入点 | Azure 高级磁盘 | 磁盘数量 | IOPS | 吞吐 量 [MB/s] |
大小 [GB] | 突发 IOPS | 突发 吞吐量 [GB] |
条带大小 | 缓存 |
---|---|---|---|---|---|---|---|---|---|---|
vCPU:64 | /db2 | P6 | 1 | 240 | 50 | 64 | 3,500 | 170 | ||
RAM:~512 GiB | /db2/<SID> /sapdata |
P30 | 4 | 20,000 | 800 | 4.096 | 20,000 | 800 | 256 KB | ReadOnly |
E64(d)s_v5 | /db2/<SID> /saptmp |
P15 | 2 | 2,200 | 250 | 512 | 7,000 | 340 | 128 KB | |
E64(d)as_v5 | /db2/<SID> /log_dir |
P20 | 4 | 9,200 | 600 | 2.048 | 14,000 | 680 | 64 KB |
|
M64ls | /db2/<SID> /offline_log_dir |
P20 | 1 | 2,300 | 150 | 512 | 3,500 | 170 |
大型多 TB SAP 系统:数据库大小为 2 TB 起:全局业务套件系统
尤其是对于此类较大的系统,请务必评估当前运行系统的基础结构以及这些系统的资源消耗数据,以找到最适合的 Azure 计算和存储基础结构及配置。
VM 名称/大小 | Db2 装入点 | Azure 高级磁盘 | 磁盘数量 | IOPS | 吞吐 量 [MB/s] |
大小 [GB] | 突发 IOPS | 突发 吞吐量 [GB] |
条带大小 | 缓存 |
---|---|---|---|---|---|---|---|---|---|---|
vCPU:=>128 | /db2 | P10 | 1 | 500 | 100 | 128 | 3,500 | 170 | ||
RAM:=>2,048 GiB | /db2/<SID> /sapdata |
P40 | 4 | 30,000 | 1.000 | 8.192 | 30,000 | 1.000 | 256 KB | ReadOnly |
M128s_v2 | /db2/<SID> /saptmp |
P20 | 2 | 4,600 | 300 | 1.024 | 7,000 | 340 | 128 KB | |
M176s_2_v3 | /db2/<SID> /log_dir |
P30 | 4 | 20,000 | 800 | 4.096 | 20,000 | 800 | 64 KB |
写入 加速器 |
M176s_3_v3、 M176s_4_v3 |
/db2/<SID> /offline_log_dir |
P30 | 1 | 5,000 | 200 | 1.024 | 5,000 | 200 |
使用 Azure NetApp 文件
托管在 Suse 或 Red Hat Linux 来宾 OS 中的 IBM Db2 支持使用基于 Azure NetApp 文件 (ANF) 的 NFS v4.1 卷。 应创建至少四个不同的卷,如下所示:
- 用于 saptmp1、sapmnt、usr_sap、
<sid>
_home、db2<sid>
_home、db2_software 的共享卷 - 用于 sapdata1 到 sapdatan 的一个数据卷
- 用于重做日志目录的一个日志卷
- 用于日志存档和备份的一个卷
第五个可能的卷可以是用于实现更长期备份的 ANF 卷,可用于拍摄快照并将快照存储在 Azure Blob 存储中。
配置可能如下所示:
必须基于性能要求选择 ANF 托管的卷的性能层和大小。 但是,建议对数据和日志卷采用超高性能级别。 不支持将块存储和共享存储类型混合用于数据和日志卷。
对于装载选项,装载这些卷可能如下所示(需要将 <SID>
和 <sid>
替换为 SAP 系统的 SID):
vi /etc/idmapd.conf
# Example
[General]
Domain = defaultv4iddomain.com
[Mapping]
Nobody-User = nobody
Nobody-Group = nobody
mount -t nfs -o rw,hard,sync,rsize=262144,wsize=262144,sec=sys,vers=4.1,tcp 172.17.10.4:/db2shared /mnt
mkdir -p /db2/Software /db2/AN1/saptmp /usr/sap/<SID> /sapmnt/<SID> /home/<sid>adm /db2/db2<sid> /db2/<SID>/db2_software
mkdir -p /mnt/Software /mnt/saptmp /mnt/usr_sap /mnt/sapmnt /mnt/<sid>_home /mnt/db2_software /mnt/db2<sid>
umount /mnt
mount -t nfs -o rw,hard,sync,rsize=262144,wsize=262144,sec=sys,vers=4.1,tcp 172.17.10.4:/db2data /mnt
mkdir -p /db2/AN1/sapdata/sapdata1 /db2/AN1/sapdata/sapdata2 /db2/AN1/sapdata/sapdata3 /db2/AN1/sapdata/sapdata4
mkdir -p /mnt/sapdata1 /mnt/sapdata2 /mnt/sapdata3 /mnt/sapdata4
umount /mnt
mount -t nfs -o rw,hard,sync,rsize=262144,wsize=262144,sec=sys,vers=4.1,tcp 172.17.10.4:/db2log /mnt
mkdir /db2/AN1/log_dir
mkdir /mnt/log_dir
umount /mnt
mount -t nfs -o rw,hard,sync,rsize=262144,wsize=262144,sec=sys,vers=4.1,tcp 172.17.10.4:/db2backup /mnt
mkdir /db2/AN1/backup
mkdir /mnt/backup
mkdir /db2/AN1/offline_log_dir /db2/AN1/db2dump
mkdir /mnt/offline_log_dir /mnt/db2dump
umount /mnt
注意
需要硬装载选项提交和同步
备份/还原
支持通过 IBM DB2 for LUW 提供备份/还原功能,其方式与在标准 Windows Server 操作系统和 Hyper-V 上一样。
请确保已经设置了有效的数据库备份策略。
与裸机部署一样,备份/还原的性能取决于可以并行读取的卷数目,以及这些卷可能的吞吐量。 此外,备份压缩所使用的 CPU 使用率可能会在最多只有八个 CPU 线程的 VM 上扮演重要角色。 因此,可以假设:
- 存储数据库设备所用的磁盘数目越少,读取的总体吞吐量就越小
- VM 中的 CPU 线程数目越少,备份压缩的影响就越大
- 要写入备份的目标(带区目录、磁盘)越少,吞吐量就越低
要增加要写入的目标数目,可以使用/结合使用以下两个选项,具体视需求而定:
- 基于多个磁盘对备份目标卷划分带区,以改善该带区卷上的 IOPS 吞吐量
- 使用多个目标目录来写入备份
注意
Windows 上的 Db2 不支持 Windows VSS 技术。 因此,Azure 备份服务的应用程序一致 VM 备份不适用于 DB2 DBMS 所部署到的 VM。
高可用性和灾难恢复
Linux Pacemaker
重要
对于 Db2 版本 11.5.6 及更高版本,强烈建议使用 IBM 中使用 Pacemaker 的集成解决方案。
- 使用 Pacemaker 的集成解决方案
- Microsoft Azure 上提供的替代或其他配置支持具有 pacemaker 的 Db2 高可用性灾难恢复 (HADR)。 支持 SLES 和 RHEL 操作系统。 此配置可实现 IBM Db2 for SAP 的高可用性。 部署指南:
- SLES:具有 Pacemaker 的 SUSE Linux Enterprise Server 上 Azure VM 中的 IBM Db2 LUW 的高可用性
- RHEL:Red Hat Enterprise Linux Server 上 Azure VM 中 IBM Db2 LUW 的高可用性
Windows 群集服务器
不支持 Windows Server 故障转移群集 (WSFC),它也称为 Microsoft 群集服务器 (MSCS)。
支持 DB2 高可用性灾难恢复 (HADR)。 如果 HA 配置的虚拟机具有有效的名称解析,Azure 中的设置将与任何本地设置无任何差别。 建议不要完全依赖于 IP 解析。
请勿将异地复制用于存储数据库磁盘的存储帐户。 有关详细信息,请参阅文档:适用于 SAP 工作负荷的 Azure 虚拟机 DBMS 部署的注意事项。
加速网络
对于 Window 上的 Db2 部署,强烈建议使用加速网络的 Azure 功能,如 Azure 加速网络所述。 也可考虑适用于 SAP 工作负载的 Azure 虚拟机 DBMS 部署的注意事项中的建议。
Linux 部署的详细信息
只要每个磁盘当前的 IOPS 配额够用,就可以将所有数据库文件存储在单个磁盘上。 但应该始终在不同的磁盘上分隔数据文件和事务日志文件。
如果单个 Azure VHD 的 IOPS 或 I/O 吞吐量不足,可使用 LVM(逻辑卷管理器)或 MDADM(如适用于 SAP 工作负载的 Azure 虚拟机 DBMS 部署的注意事项中所述),在多个磁盘上创建一个大型逻辑设备。
对于包含了 sapdata
和 saptmp
目录的 Db2 存储路径的磁盘,必须指定大小为 512 KB 的物理磁盘扇区。
其他
Azure 可用性集或 SAP 监视等所有其他常规领域也适用于使用 IBM 数据库进行的 VM 部署。 有关这些常规领域,请参阅适用于 SAP 工作负载的 Azure 虚拟机 DBMS 部署注意事项。
后续步骤
阅读文章: