使用SnapCenter 克隆SAP系统
本节提供了SAP系统克隆操作的分步问题描述 、可用于设置修复系统以解决逻辑损坏问题。
|
实验室设置和验证不包括SAP应用程序服务。但是、本文档重点介绍了SAP应用程序服务所需的步骤。 |
前提条件和限制
以下各节所述的工作流具有一些与HANA系统架构和SnapCenter 配置相关的前提条件和限制。
-
所述工作流适用于具有单个租户的单主机SAP HANA MDC系统。
-
要执行自动化脚本、必须在目标主机上部署SnapCenter HANA插件。无需在HANA源系统主机上安装HANA插件。
-
此工作流已针对NFS进行验证。用于挂载HANA共享卷的自动化脚本`sc-mount-volume.sh`不支持FCP。此步骤必须手动完成、也可以通过扩展脚本完成。
-
所述工作流仅适用于SnapCenter 4.6 P1版本或更高版本。较旧版本的工作流略有不同。
实验室设置
下图显示了用于系统克隆操作的实验室设置。
使用的软件版本如下:
-
SnapCenter 4.6 P1
-
HANA系统:HANA 2.0 SPS6修订版61
-
VMware 6.7.0
-
SLES 15 SP2
-
ONTAP 9.7P7所有HANA系统均根据配置指南进行配置 "采用NFS的NetApp AFF 系统上的SAP HANA"。SnapCenter 和HANA资源是根据最佳实践指南进行配置的 "使用 SnapCenter 实现 SAP HANA 备份和恢复"。
目标主机准备
本节介绍用作系统克隆目标的服务器所需的准备步骤。
在正常操作期间、目标主机可能会用于其他目的、例如HANA QA或测试系统。因此、在请求系统克隆操作时、必须执行所述的大部分步骤。另一方面、只需复制配置文件、即可准备相关配置文件、例如`/etc/fstab`和` usr/sap/sapservices`、然后将其投入生产。
目标主机准备工作还包括关闭HANA QA或测试系统。
目标服务器主机名和 IP 地址
目标服务器的主机名必须与源系统的主机名相同。IP 地址可以不同。
|
必须正确隔离目标服务器,使其无法与其他系统通信。如果未设置适当的隔离、则克隆的生产系统可能会与其他生产系统交换数据。 |
|
在实验室设置中、我们仅从目标系统的角度在内部更改了目标系统的主机名。在外部、仍可使用主机名ha-7访问此主机。登录到主机时、主机本身为HANA 1。 |
安装所需的软件
SAP 主机代理软件必须安装在目标服务器上。有关完整信息,请参见 "SAP 主机代理" 在 SAP 帮助门户上。
必须使用SnapCenter 中的添加主机操作在目标主机上部署SnapCenter HANA插件。
配置用户,端口和 SAP 服务
SAP HANA 数据库所需的用户和组必须在目标服务器上可用。通常使用中央用户管理;因此,不需要在目标服务器上执行任何配置步骤。必须在目标主机上配置 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-x 4 root root 4096 Dec 1 04:48 . drwxr-xr-x 1 root root 48 Dec 1 03:42 .. drwxrwxrwx 2 root root 4096 Dec 1 06:15 DB_SS1 drwxrwxrwx 2 root root 4096 Dec 1 06:14 SYSTEMDB
准备文件系统挂载
您必须为数据和共享卷准备挂载点。
在我们的示例中、必须创建目录`/ha/data/ss1/mnt00001`、/ha/shared`和`usr/sap/ss1
。
为SnapCenter 脚本准备SID专用的配置文件
您必须为SnapCenter 自动化脚本`sc-system-refresh.sh`创建配置文件。
hana- 1:/mnt/sapcc-share/SAP-System-Refresh # cat sc-system-refresh-SS1.cfg # --------------------------------------------- # Target database specific parameters # --------------------------------------------- # hdbuserstore key, which should be used to connect to the target database KEY="SS1KEY" # Used storage protocol, NFS or FCP PROTOCOL
克隆HANA共享卷
-
从源系统SS1共享卷中选择Snapshot备份、然后单击从备份克隆。
-
选择已准备好目标修复系统的主机。NFS导出IP地址必须是目标主机的存储网络接口。由于目标SID与源系统保持相同的SID;在我们的示例中、这是SS1。
-
使用所需的命令行选项输入挂载脚本。
HANA系统会根据配置指南中的建议在子目录中为`、HANA或Shared 以及
、usr/sap/ss1`使用一个卷 "采用NFS的NetApp AFF 系统上的SAP HANA"。此脚本`sc-mount-volume.sh`可使用特殊的命令行选项来支持此配置。如果mount path命令行选项等于`usr-sap-and-shared`、则该脚本会相应地将子目录`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 工作流完成后、会在目标主机上挂载`us/sap/ss1`和`/ha/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 中、可以看到克隆卷的新资源。
-
现在、` HANA或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共享卷相同、如"一节所述克隆HANA共享卷。" 当然、SAP应用程序服务器所需的存储卷也必须使用SnapCenter 进行保护。
您必须将所需的服务条目添加到`/usr/sapservices`中、并且必须准备端口、用户和文件系统挂载点(例如、` usr/sap/SID`)。
克隆数据卷并恢复HANA数据库
-
从源系统SS1中选择HANA Snapshot备份。
-
选择已准备好目标修复系统的主机。NFS导出IP地址必须是目标主机的存储网络接口。目标SID与源系统保持相同的SID;在我们的示例中、这是SS1。
-
使用所需的命令行选项输入挂载和克隆后脚本。
用于恢复操作的脚本会将HANA数据库恢复到Snapshot操作的时间点、而不会执行任何正向恢复。如果需要正向恢复到特定时间点、则必须手动执行恢复。手动前向恢复还要求目标主机可以使用源系统的日志备份。
SnapCenter 中的作业详细信息屏幕将显示操作进度。
`sc-system-refresh.sh`脚本的日志文件显示了为挂载和恢复操作执行的不同步骤。
20201201052114###hana-1###sc-system-refresh.sh: Adding entry in /etc/fstab. 20201201052114###hana-1###sc-system-refresh.sh: 192.168.175.117:/SS1_data_mnt00001_Clone_0421220520054605 /hana/data/SS1/mnt00001 nfs rw,vers=3,hard,timeo=600,rsize=1048576,wsize=1048576,intr,noatime,nolock 0 0 20201201052114###hana-1###sc-system-refresh.sh: Mounting data volume: mount /hana/data/SS1/mnt00001. 20201201052114###hana-1###sc-system-refresh.sh: Data volume mounted successfully. 20201201052114###hana-1###sc-system-refresh.sh: Change ownership to ss1adm. 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
挂载和恢复操作后、HANA数据卷将挂载到目标主机上。
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
HANA系统现已推出、可用作修复系统等。