使用SnapCenter 克隆SAP系统
本节提供了SAP系统克隆操作的分步问题描述 、可用于设置修复系统以解决逻辑损坏问题。
下图总结了使用SnapCenter执行SAP系统克隆操作所需的步骤。
-
准备目标主机。
-
适用于SAP HANA共享卷的SnapCenter克隆创建工作流。
-
启动SAP HANA服务。
-
适用于SAP HANA数据卷的SnapCenter克隆创建工作流、包括数据库恢复。
-
SAP HANA系统现在可用作修复系统。
如果必须将系统重置为其他Snapshot备份、则步骤6和步骤4就足以满足要求。可以继续挂载SAP HANA共享卷。 如果不再需要该系统、则执行清理过程时需执行以下步骤。
-
适用于SAP HANA数据卷的SnapCenter克隆删除工作流、包括数据库关闭。
-
停止SAP HANA服务。
-
适用于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/shared
和 usr/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共享卷
-
从源系统SS1共享卷中选择一个Snapshot备份、然后单击克隆。
-
选择已准备好目标修复系统的主机。NFS导出IP地址必须是目标主机的存储网络接口。作为目标SID、与源系统保持相同的SID。在我们的示例SS1中。
-
使用所需的命令行选项输入挂载脚本。
SAP HANA系统会使用一个卷作为 /hana/shared`和作为 `/usr/sap/SS1
,并按照配置指南中的建议在子目录中分隔"采用NFS的NetApp AFF 系统上的SAP HANA"。该脚本sc-mount-volume.sh
使用一个特殊的命令行选项对挂载路径支持此配置。如果挂载路径命令行选项等于usr-sap-and-shared,则该脚本会相应地将共享的子目录和usr-sap挂载到卷中。
-
SnapCenter 中的"作业详细信息"屏幕显示操作的进度。
-
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.
-
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
-
在SnapCenter 中、可以看到克隆卷的新资源。
-
现在、可以使用/HAA/Shared卷、从而启动SAP HANA服务。
hana-1:/mnt/sapcc-share/SAP-System-Refresh # systemctl start sapinit
-
此时将启动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数据库
-
从源系统SS1中选择SAP HANA Snapshot备份。
-
选择已准备好目标修复系统的主机。NFS导出IP地址必须是目标主机的存储网络接口。作为目标SID、与源系统保持相同的SID。在我们的示例SS1中
-
输入克隆后脚本以及所需的命令行选项。
用于恢复操作的脚本会将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系统现已推出、可用作修复系统等。