Skip to main content
NetApp solutions for SAP
简体中文版经机器翻译而成,仅供参考。如与英语版出现任何冲突,应以英语版为准。

使用SnapCenter 克隆SAP系统

贡献者 netapp-yvonneo kevin-hoke netapp-nbauer netapp-mschoen

本节提供了SAP系统克隆操作的分步问题描述 、可用于设置修复系统以解决逻辑损坏问题。

下图总结了使用SnapCenter执行SAP系统克隆操作所需的步骤。

  1. 准备目标主机。

  2. 适用于SAP HANA共享卷的SnapCenter克隆创建工作流。

  3. 启动SAP HANA服务。

  4. 适用于SAP HANA数据卷的SnapCenter克隆创建工作流、包括数据库恢复。

  5. SAP HANA系统现在可用作修复系统。

    备注 如果必须将系统重置为其他Snapshot备份、则步骤6和步骤4就足以满足要求。可以继续挂载SAP HANA共享卷。

    如果不再需要系统,则通过以下步骤执行清理过程:

    1. 对 SAP HANA 数据卷执行 SnapCenter 克隆删除工作流,包括数据库关闭。

      备注

      默认情况下,SnapCenter 克隆删除工作流不会删除 `/etc/fstab`条目。

      为了在克隆删除过程中自动删除 /etc/fstab 条目,必须首先恢复克隆并使其成为自动发现的资源。如果未执行此步骤, /etc/fstab 条目不会自动删除,需要手动删除。

    2. 停止SAP HANA服务。

    3. 对 SAP HANA 共享卷执行 SnapCenter 克隆删除工作流。

图中显示了输入/输出对话框或表示已写入内容

前提条件和限制

以下各节中介绍的工作流在SAP HANA系统架构和SnapCenter配置方面具有一些前提条件和限制。

  • 所述工作流适用于单主机SAP HANA兼容系统。不支持多个主机系统。

  • 要执行自动化脚本、必须在目标主机上部署SnapCenter SAP HANA插件。

  • 此工作流已针对NFS进行验证。用于挂载SAP HANA共享卷的自动化 `script sc-mount-volume.sh`不支持FCP。此步骤必须手动完成、也可以通过扩展脚本完成。

  • 所述工作流仅适用于SnapCenter 5.0或更高版本。

实验室设置

下图显示了用于系统克隆操作的实验室设置。

使用的软件版本如下:

  • SnapCenter 5.0

  • SAP HANA系统:HANA 2.0 SPS6修订版61

  • SLES 15

  • ONTAP 9.7P7

所有 SAP HANA 系统都必须按照配置指南进行配置。 "采用NFS的NetApp AFF 系统上的SAP HANA"。SnapCenter和 SAP HANA 资源均按照最佳实践指南进行配置。 "使用 SnapCenter 实现 SAP HANA 备份和恢复"

图中显示了输入/输出对话框或表示已写入内容

目标主机准备

本节介绍用作系统克隆目标的服务器所需的准备步骤。

在正常运行期间、目标主机可能会用于其他目的、例如用作SAP HANA QA或测试系统。因此、在请求系统克隆操作时、必须执行所述的大部分步骤。另一方面,只需复制配置文件,即可准备相关的配置文件(如 /etc/fstab/usr/sap/sapservices),然后将其投入生产。

目标主机准备工作还包括关闭SAP HANA QA或测试系统。

目标服务器主机名和IP地址

目标服务器的主机名必须与源系统的主机名相同。IP 地址可以不同。

备注 必须正确隔离目标服务器,使其无法与其他系统通信。如果未设置适当的隔离、则克隆的生产系统可能会与其他生产系统交换数据。
备注 在实验室设置中、我们仅从目标系统的角度在内部更改了目标系统的主机名。在外部、仍可使用主机名ha-7访问此主机。登录到主机时、主机本身为HANA 1。

安装所需软件

SAP 主机代理软件必须安装在目标服务器上。有关完整信息、请参见 "SAP 主机代理" SAP帮助门户上的。

必须使用SnapCenter中的添加主机操作在目标主机上部署SnapCenter SAP HANA插件。

配置用户、端口和SAP服务

SAP HANA 数据库所需的用户和组必须在目标服务器上可用。通常使用中央用户管理;因此,不需要在目标服务器上执行任何配置步骤。必须在目标主机上配置SAP HANA数据库所需的端口。可以通过将/etc/services文件复制到目标服务器来从源系统复制配置。

所需的 SAP 服务条目必须在目标主机上可用。可通过将 ` /usr/sapservices` 文件复制到目标服务器来从源系统复制配置。以下输出显示了在实验室设置中使用的 SAP HANA 数据库所需的条目。

#!/bin/sh
LD_LIBRARY_PATH=/usr/sap/SS1/HDB00/exe:$LD_LIBRARY_PATH;export LD_LIBRARY_PATH;/usr/sap/SS1/HDB00/exe/sapstartsrv pf=/usr/sap/SS1/SYS/profile/SS1_HDB00_hana-1 -D -u ss1adm
limit.descriptors=1048576

准备日志和日志备份卷

由于您不需要从源系统克隆日志卷、并且使用Clear log选项执行任何恢复、因此必须在目标主机上准备一个空的日志卷。

由于源系统已配置一个单独的日志备份卷、因此必须准备一个空的日志备份卷并将其挂载到源系统上的相同挂载点。

hana-1:/# cat /etc/fstab
192.168.175.117:/SS1_repair_log_mnt00001 /hana/log/SS1/mnt00001 nfs rw,vers=3,hard,timeo=600,rsize=1048576,wsize=1048576,intr,noatime,nolock 0 0
192.168.175.117:/SS1_repair_log_backup /mnt/log-backup nfs rw,vers=3,hard,timeo=600,rsize=1048576,wsize=1048576,intr,noatime,nolock 0 0

在日志卷hdb*中、必须按照与源系统相同的方式创建子目录。

hana-1:/ # ls -al /hana/log/SS1/mnt00001/
total 16
drwxrwxrwx 5 root root 4096 Dec 1 06:15 .
drwxrwxrwx 1 root root 16 Nov 30 08:56 ..
drwxr-xr-- 2 ss1adm sapsys 4096 Dec 1 06:14 hdb00001
drwxr-xr-- 2 ss1adm sapsys 4096 Dec 1 06:15 hdb00002.00003
drwxr-xr-- 2 ss1adm sapsys 4096 Dec 1 06:15 hdb00003.00003

在日志备份卷中、必须为系统和租户数据库创建子目录。

hana-1:/ # ls -al /mnt/log-backup/
total 12
drwxr-xr-- 2 ss1adm sapsys 4096 Dec 1 04:48 .
drwxr-xr-- 2 ss1adm sapsys 4896 Dec 1 03:42 ..
drwxr-xr-- 2 ss1adm sapsys 4096 Dec 1 06:15 DB_SS1
drwxr-xr-- 2 ss1adm sapsys 4096 Dec 1 06:14 SYSTEMDB

准备文件系统挂载

您必须为数据和共享卷准备挂载点。

在本示例中,必须创建目录 /hana/data/SS1/mnt00001/hana/sharedusr/sap/SS1

准备脚本执行

您必须将应在目标系统上执行的脚本添加到SnapCenter允许的命令配置文件中。

hana-7:/opt/NetApp/snapcenter/scc/etc # cat /opt/NetApp/snapcenter/scc/etc/allowed_commands.config
command: mount
command: umount
command: /mnt/sapcc-share/SAP-System-Refresh/sc-system-refresh.sh
command: /mnt/sapcc-share/SAP-System-Refresh/sc-mount-volume.sh
hana-7:/opt/NetApp/snapcenter/scc/etc #

克隆HANA共享卷

  1. 从源系统SS1共享卷中选择一个Snapshot备份、然后单击克隆。

图中显示了输入/输出对话框或表示已写入内容

  1. 选择已准备好目标修复系统的主机。NFS导出IP地址必须是目标主机的存储网络接口。作为目标SID、与源系统保持相同的SID。在我们的示例SS1中。

图中显示了输入/输出对话框或表示已写入内容

  1. 使用所需的命令行选项输入挂载脚本。

    备注 SAP HANA系统会使用一个卷作为 /hana/shared`和作为 `/usr/sap/SS1,并按照配置指南中的建议在子目录中分隔"采用NFS的NetApp AFF 系统上的SAP HANA"。该脚本 sc-mount-volume.sh 使用一个特殊的命令行选项对挂载路径支持此配置。如果挂载路径命令行选项等于usr-sap-and-shared,则该脚本会相应地将共享的子目录和usr-sap挂载到卷中。

图中显示了输入/输出对话框或表示已写入内容

  1. SnapCenter 中的"作业详细信息"屏幕显示操作的进度。

图中显示了输入/输出对话框或表示已写入内容

  1. sc-mount-volume.sh脚本的日志文件显示了为挂载操作执行的不同步骤。

20201201041441###hana-1###sc-mount-volume.sh: Adding entry in /etc/fstab.
20201201041441###hana-1###sc-mount-volume.sh: 192.168.175.117://SS1_shared_Clone_05132205140448713/usr-sap /usr/sap/SS1 nfs rw,vers=3,hard,timeo=600,rsize=1048576,wsize=1048576,intr,noatime,nolock 0 0
20201201041441###hana-1###sc-mount-volume.sh: Mounting volume: mount /usr/sap/SS1.
20201201041441###hana-1###sc-mount-volume.sh: 192.168.175.117:/SS1_shared_Clone_05132205140448713/shared /hana/shared nfs rw,vers=3,hard,timeo=600,rsize=1048576,wsize=1048576,intr,noatime,nolock 0 0
20201201041441###hana-1###sc-mount-volume.sh: Mounting volume: mount /hana/shared.
20201201041441###hana-1###sc-mount-volume.sh: usr-sap-and-shared mounted successfully.
20201201041441###hana-1###sc-mount-volume.sh: Change ownership to ss1adm.
  1. SnapCenter工作流完成后、目标主机上会挂载/usr/SAP/SS1和/HAA/shared文件系统。

hana-1:~ # df
Filesystem 1K-blocks Used Available Use% Mounted on
192.168.175.117:/SS1_repair_log_mnt00001 262144000 320 262143680 1% /hana/log/SS1/mnt00001
192.168.175.100:/sapcc_share 1020055552 53485568 966569984 6% /mnt/sapcc-share
192.168.175.117:/SS1_repair_log_backup 104857600 256 104857344 1% /mnt/log-backup
192.168.175.117:/SS1_shared_Clone_05132205140448713/usr-sap 262144064 10084608 252059456 4% /usr/sap/SS1
192.168.175.117:/SS1_shared_Clone_05132205140448713/shared 262144064 10084608 252059456 4% /hana/shared
  1. 在SnapCenter 中、可以看到克隆卷的新资源。

图中显示了输入/输出对话框或表示已写入内容

  1. 现在、可以使用/HAA/Shared卷、从而启动SAP HANA服务。

hana-1:/mnt/sapcc-share/SAP-System-Refresh # systemctl start sapinit
  1. 此时将启动SAP Host Agent和sapstartsrv进程。

hana-1:/mnt/sapcc-share/SAP-System-Refresh # ps -ef |grep sap
root 12377 1 0 04:34 ? 00:00:00 /usr/sap/hostctrl/exe/saphostexec pf=/usr/sap/hostctrl/exe/host_profile
sapadm 12403 1 0 04:34 ? 00:00:00 /usr/lib/systemd/systemd --user
sapadm 12404 12403 0 04:34 ? 00:00:00 (sd-pam)
sapadm 12434 1 1 04:34 ? 00:00:00 /usr/sap/hostctrl/exe/sapstartsrv pf=/usr/sap/hostctrl/exe/host_profile -D
root 12485 12377 0 04:34 ? 00:00:00 /usr/sap/hostctrl/exe/saphostexec pf=/usr/sap/hostctrl/exe/host_profile
root 12486 12485 0 04:34 ? 00:00:00 /usr/sap/hostctrl/exe/saposcol -l -w60 pf=/usr/sap/hostctrl/exe/host_profile
ss1adm 12504 1 0 04:34 ? 00:00:00 /usr/sap/SS1/HDB00/exe/sapstartsrv pf=/usr/sap/SS1/SYS/profile/SS1_HDB00_hana-1 -D -u ss1adm
root 12582 12486 0 04:34 ? 00:00:00 /usr/sap/hostctrl/exe/saposcol -l -w60 pf=/usr/sap/hostctrl/exe/host_profile
root 12585 7613 0 04:34 pts/0 00:00:00 grep --color=auto sap
hana-1:/mnt/sapcc-share/SAP-System-Refresh #

克隆其他SAP应用程序服务

其他SAP应用程序服务的克隆方式与SAP HANA共享卷相同、如"克隆SAP HANA共享卷"一节所述。当然、SAP应用程序服务器所需的存储卷也必须使用SnapCenter进行保护。

您必须将所需的服务条目添加到/usr/sap/sapservices中、并且必须准备好端口、用户和文件系统挂载点(例如、/usr/sap/sid)。

克隆数据卷并恢复HANA数据库

  1. 从源系统SS1中选择SAP HANA Snapshot备份。

图中显示了输入/输出对话框或表示已写入内容

  1. 选择已准备好目标修复系统的主机。NFS导出IP地址必须是目标主机的存储网络接口。作为目标SID、与源系统保持相同的SID。在我们的示例SS1中

图中显示了输入/输出对话框或表示已写入内容

  1. 输入克隆后脚本以及所需的命令行选项。

    备注 用于恢复操作的脚本会将SAP HANA数据库恢复到Snapshot操作的时间点、而不会执行任何正向恢复。如果需要正向恢复到特定时间点、则必须手动执行恢复。手动前向恢复还要求目标主机可以使用源系统的日志备份。

图中显示了输入/输出对话框或表示已写入内容

SnapCenter 中的作业详细信息屏幕将显示操作进度。

图中显示了输入/输出对话框或表示已写入内容

该脚本的日志文件 sc-system-refresh 显示了为挂载和恢复操作执行的不同步骤。

20201201052124###hana-1###sc-system-refresh.sh: Recover system database.
20201201052124###hana-1###sc-system-refresh.sh: /usr/sap/SS1/HDB00/exe/Python/bin/python /usr/sap/SS1/HDB00/exe/python_support/recoverSys.py --command "RECOVER DATA USING SNAPSHOT CLEAR LOG"
20201201052156###hana-1###sc-system-refresh.sh: Wait until SAP HANA database is started ....
20201201052156###hana-1###sc-system-refresh.sh: Status: GRAY
20201201052206###hana-1###sc-system-refresh.sh: Status: GREEN
20201201052206###hana-1###sc-system-refresh.sh: SAP HANA database is started.
20201201052206###hana-1###sc-system-refresh.sh: Source system has a single tenant and tenant name is identical to source SID: SS1
20201201052206###hana-1###sc-system-refresh.sh: Target tenant will have the same name as target SID: SS1.
20201201052206###hana-1###sc-system-refresh.sh: Recover tenant database SS1.
20201201052206###hana-1###sc-system-refresh.sh: /usr/sap/SS1/SYS/exe/hdb/hdbsql -U SS1KEY RECOVER DATA FOR SS1 USING SNAPSHOT CLEAR LOG
0 rows affected (overall time 34.773885 sec; server time 34.772398 sec)
20201201052241###hana-1###sc-system-refresh.sh: Checking availability of Indexserver for tenant SS1.
20201201052241###hana-1###sc-system-refresh.sh: Recovery of tenant database SS1 succesfully finished.
20201201052241###hana-1###sc-system-refresh.sh: Status: GREEN
After the recovery operation, the HANA database is running and the data volume is mounted at the target host.
hana-1:/mnt/log-backup # df
Filesystem 1K-blocks Used Available Use% Mounted on
192.168.175.117:/SS1_repair_log_mnt00001 262144000 760320 261383680 1% /hana/log/SS1/mnt00001
192.168.175.100:/sapcc_share 1020055552 53486592 966568960 6% /mnt/sapcc-share
192.168.175.117:/SS1_repair_log_backup 104857600 512 104857088 1% /mnt/log-backup
192.168.175.117:/SS1_shared_Clone_05132205140448713/usr-sap 262144064 10090496 252053568 4% /usr/sap/SS1
192.168.175.117:/SS1_shared_Clone_05132205140448713/shared 262144064 10090496 252053568 4% /hana/shared
192.168.175.117:/SS1_data_mnt00001_Clone_0421220520054605 262144064 3732864 258411200 2% /hana/data/SS1/mnt00001

SAP HANA系统现已推出、可用作修复系统等。