Initial Configuration
-
Install the SAP HANA Scale Up system on both compute 1 and compute 2.
- Use the same instance SID for both installations.
- Use the same <sid>adm user password on both systems.
- Ensure the data and log volumes are mounted to the same location.
-
Configure the data, catalog, and log streaming backup location on both SAP HANA systems.
- If using backint ensure that both systems have access to the same backup set in the ISV.
- If using a filesystem based backup ensure that either a shared filesystem or NFS mount point is used, ensure that any subfolders in the backup location are owned by the <sid>adm user.
-
Stop the SAP HANA instances on all systems by running the following command on each of them:
/usr/sap/hostctrl/exe/sapcontrol -nr <instance number> -function Stop4. Wait until the instances have stopped on each system by using the following command:
/usr/sap/hostctrl/exe/sapcontrol -nr <instance number> -function GetProcessList5. Unmount, Disconnect and Delete any SAP HANA Log and Data volumes from compute 2 (and/or 3). The only remaining data and log volumes should be those from Compute 1.
6. Connect the arrays using synchronous replication, optionally add a third array for asynchronous replication.
7. On Array 1, In Protection->ActiveCluster Create a new POD, add the volumes to the POD and then add in Array 2 to stretch the pod. At this point the volumes will begin initial synchronization. Once Initial synchronization is complete both Arrays should as online.
8. At this point the volumes are online on both arrays, connect the host for compute 1 and compute 2 to the volumes in the POD on array 1 and array 2.
9. Ensure that the correct configuration for ActiveCluster DM-Multipath has been done on all nodes - find the configuration in the ActiveCluster Requirements and Best Practices.
10. If required, set the preferred paths for each host in FlashArray.
11. Start the SAP HANA Instance on Compute 1 using the following command:
/usr/sap/hostctrl/exe/sapcontrol -nr <instance number> -function Stop12. If required for third site availability add the POD to a Protection Group with Array 3 as the target.
Failover Process
In the event of losing a single array (array 1 or 2) there will be no impact on application availability as failover is transparent.
In the event of losing the compute upon which the SAP HANA instance is running at that point in time - the below process will need to be followed to bring the SAP HANA instance up on alternative compute.
Note:If restoring service to compute 1 or compute 2 (systems attached to the synchronous replication volumes) then the volumes will already exist on the array and should be connected to the relevant host. If the SAP HANA instance is being failed over to a third site replicated to using asynchronous replication then the snapshots must first be restored to volumes and connected to the relevant host(s).
Step 1. Ensure the log and data volumes are not mounted anywhere else.
Use the "umount" command in a terminal or ssh connection to unmount any mounted volumes.
umount /hana/data umount /hana/logStep 2. Mount the log and data volume to the system being failed over to. This assumes the volumes were already connected previously.
To identify the volumes use the multipath -ll command:
multipath -ll 3624a93701b16eddfb96a4c3800011c31 dm-5 PURE,FlashArray size=1.0T features='0' hwhandler='1 alua' wp=rw |-+- policy='queue-length 0' prio=50 status=active | |- 6:0:5:2 sdp 8:240 active ready running | |- 6:0:3:2 sdl 8:176 active ready running | |- 6:0:9:2 sdx 65:112 active ready running | |- 6:0:7:2 sdt 65:48 active ready running `-+- policy='queue-length 0' prio=10 status=enabled |- 6:0:0:2 sdj 8:144 active ready running |- 6:0:4:2 sdn 8:208 active ready running |- 6:0:6:2 sdr 65:16 active ready running |- 6:0:8:2 sdv 65:80 active ready running 3624a93701b16eddfb96a4c3800011c30 dm-6 PURE,FlashArray size=5.0T features='0' hwhandler='1 alua' wp=rw |-+- policy='queue-length 0' prio=50 status=active | |- 6:0:7:1 sds 65:32 active ready running | |- 6:0:3:1 sdk 8:160 active ready running | |- 6:0:5:1 sdo 8:224 active ready running | |- 6:0:9:1 sdw 65:96 active ready running `-+- policy='queue-length 0' prio=10 status=enabled |- 6:0:8:1 sdu 65:64 active ready running |- 6:0:0:1 sdi 8:128 active ready running |- 6:0:4:1 sdm 8:192 active ready running |- 6:0:6:1 sdq 65:0 active ready runningUsing the above wwids (the text at the beginning of each device starting with 3624a9370) the data and log volume can be mounted to the standby SAP HANA system:
mount /dev/mapper/3624a93701b16eddfb96a4c3800011c30 /hana/data mount/dev/mapper/3624a93701b16eddfb96a4c3800011c31 /hana/logVerify the volumes are mounted correctly by using the "df" command:
df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 1.5T 0 1.5T 0% /dev tmpfs 2.2T 32K 2.2T 1% /dev/shm tmpfs 1.5T 13M 1.5T 1% /run tmpfs 1.5T 0 1.5T 0% /sys/fs/cgroup /dev/mapper/3624a9370c49a4cb0e2944f4400038775-part2 60G 17G 44G 28% / /dev/mapper/3624a9370c49a4cb0e2944f4400031d31 512G 43G 470G 9% /hana/shared fileserver.puredoes.local:/mnt/nfs/HANA_Backup 1.0T 153G 872G 15% /hana/backup tmpfs 290G 20K 290G 1% /run/user/469 tmpfs 290G 0 290G 0% /run/user/468 tmpfs 290G 0 290G 0% /run/user/1001 tmpfs 290G 0 290G 0% /run/user/0 /dev/mapper/3624a93701b16eddfb96a4c3800011c30 5.0T 625G 4.4T 13% /hana/data /dev/mapper/3624a93701b16eddfb96a4c3800011c31 1.0T 362G 663G 36% /hana/logStep 3. As the <sid>adm user use the hdbnsutil to change the system name.
hdbnsutil -convertTopology nameserver sarah:30001 not responding. Opening persistence ... sh1adm: no process found hdbrsutil: no process found run as transaction master converting topology from cloned instance... - keeping instance 00 - changing host hannah to sarah done.Step 4. Start the SAP HANA system.
Use the sapcontrol utility to start the SAP HANA system:
/usr/sap/hostctrl/exe/sapcontrol -nr <instance number> -function StartA successful start request will respond as follows:
09.07.2020 08:46:57 Start OKTo check on the status of the startup process for SAP HANA use the sapcontrol command with the GetProcessList function:
/usr/sap/hostctrl/exe/sapcontrol -nr <instance number> -function GetProcessListOnce each process has been started, each should be shown as "GREEN".
09.07.2020 08:47:39 GetProcessList OK name, description, dispstatus, textstatus, starttime, elapsedtime, pid hdbdaemon, HDB Daemon, GREEN, Running, 2020 07 09 08:46:58, 0:00:41, 102275 hdbcompileserver, HDB Compileserver, GREEN, Running, 2020 07 09 08:47:05, 0:00:34, 102544 hdbindexserver, HDB Indexserver-SH1, GREEN, Running, 2020 07 09 08:47:05, 0:00:34, 102599 hdbnameserver, HDB Nameserver, GREEN, Running, 2020 07 09 08:46:58, 0:00:41, 102293 hdbpreprocessor, HDB Preprocessor, GREEN, Running, 2020 07 09 08:47:05, 0:00:34, 102547 hdbwebdispatcher, HDB Web Dispatcher, GREEN, Running, 2020 07 09 08:47:21, 0:00:18, 114411 hdbindexserver, HDB Indexserver-SH2, GREEN, Running, 2020 07 09 08:47:05, 0:00:34, 102602 hdbindexserver, HDB Indexserver-SH3, GREEN, Running, 2020 07 09 08:47:05, 0:00:34, 102605 hdbindexserver, HDB Indexserver-SH4, GREEN, Running, 2020 07 09 08:47:05, 0:00:34, 102608