自動化範例指令碼
貢獻者
在本文件中、有兩個指令碼可用於進一步自動化SnapCenter 建立及複製刪除作業。
-
指令碼「shc-system-refresh.sh」用於系統更新和系統複製工作流程、以執行HANA資料磁碟區的掛載和卸載作業、以及HANA資料庫的還原和關機作業。
-
指令碼「shc-mount-volume.sh」可用於系統實體複製工作流程、以執行HANA共享磁碟區的掛載和卸載作業。
|
範例指令碼是以原樣提供、NetApp不支援。您可以透過電子郵件向mailto:ng-sapcc@netapp.com [ng-sapcc@netapp.com ^]索取指令碼。 |
指令碼sc-system-refresh.sh
範例指令碼「shc-system-refresh.sh」用於執行SAP HANA資料磁碟區的掛載和卸載作業、以及還原和關機作業。指令碼是以SnapCenter 特定命令列選項在「創建及複製刪除流程」中呼叫、如下圖所示。
指令碼為一般指令碼、並設定有特定於SID的組態檔和環境變數、SnapCenter 這些變數可在執行指令碼時由S時 使用。指令碼和組態檔必須在系統重新整理作業的目標主機上可用。如果指令碼用於多個目標主機、您可以提供NFS共用、讓指令碼可供所有目標主機使用。
|
目前版本的指令碼支援單一容器、單一用戶租戶或多個用戶配置的單一主機系統。不支援SAP HANA多主機系統。 |
|
指令碼支援使用NFS或Fibre Channel(FC)作為儲存傳輸協定的HANA系統。 |
支援的租戶還原作業
如一節所述 "「使用儲存快照備份的SAP HANA系統更新作業流程」" 目標系統上可能的租戶還原作業取決於來源系統的租戶組態。指令碼「shc-system-refresh.sh」支援所有租戶還原作業、這些作業可能取決於來源系統組態、如下表所示。
如果目標系統需要不同的租戶名稱、則必須在恢復作業之後手動重新命名租戶。
Hana系統 | 來源系統的租戶組態 | 目標系統的租戶組態 |
---|---|---|
單一容器 |
不適用 |
不適用 |
單一租戶 |
來源租戶名稱等於來源SID |
目標租戶名稱等於目標SID |
單一租戶 |
來源租戶名稱不等於來源SID |
目標租戶名稱等於來源租戶名稱 |
多個用戶的MDC |
任何租戶名稱 |
只會恢復第一個租戶、並與來源租戶具有相同的名稱。 |
特定於SID的組態檔
此指令碼使用組態檔來設定數個目標系統專屬的參數。組態檔必須具有特定於SID的檔案名稱「sc-system-refresh- sID.cfg/」。
|
使用目標系統的hdbuserstore金鑰設定的資料庫使用者、必須存在於來源資料庫中、且必須擁有正確的權限才能允許資料庫還原。 |
下表顯示組態檔參數。
參數 | 說明 | |
---|---|---|
金鑰 |
例如:QS1KEY |
SAP HANA hdbuserstore金鑰、應用於目標SAP HANA資料庫的還原作業。必須為目標主機上的使用者<SID>adm設定金鑰。 |
傳輸協定 |
NFS或FCP |
儲存傳輸協定、用於連接HANA資料庫資料Volume。 |
下列輸出顯示SAP HANA系統的範例組態檔:「ID=QS1」。
ss1adm@hana-1:/mnt/sapcc-share/SAP-System-Refresh> cat sc-system-refresh-QS1.cfg # --------------------------------------------- # Target database specific parameters # --------------------------------------------- # hdbuserstore key, which should be used to connect to the target database KEY="QS1KEY" # Used storage protocol, NFS or FCP PROTOCOL="NFS" ss1adm@hana-1:/mnt/sapcc-share/SAP-System-Refresh>
局部環境變數SnapCenter
提供一組環境變數、可在目標主機上執行的指令碼中使用。SnapCenter指令碼會使用這些變數來判斷相關的組態設定。
-
指令碼變數「HANA架構」是用來判斷單一容器或MDC系統所需的還原作業。
-
衍生自’HANA資料庫類型’環境變數
-
例如:「mDC\SS1_HANA資料庫類型=多重容器」
-
-
指令碼變數「租戶名單、來源租戶」和「OURCE_SID」可用來判斷恢復作業的目標租戶名稱。
-
衍生自’租 戶資料庫名稱’環境變數
-
例如:「MDC\SM1_租 戶資料庫名稱= TENANT1、TENANT2」
-
-
指令碼變數「torage、jane_path」用於掛載作業。
-
衍生自’Clone磁碟區_mount_path’環境變數
-
例如:
-
CLONED_VOLUMES_MOUNT_PATH=192.168.175.117:/SS1_data_mnt00001_Clone_05112206115489411
指令碼sc-mount-volume.sh
範例指令碼「shc - mount-volume.sh」用於執行任何Volume的掛載和卸載。指令碼可用來掛載HANA共享磁碟區與SAP HANA系統實體複製作業。指令碼是以SnapCenter 特定命令列選項在「創建及複製刪除流程」中呼叫、如下圖所示。
|
指令碼支援使用NFS做為儲存傳輸協定的HANA系統。 |
局部環境變數SnapCenter
提供一組環境變數、可在目標主機上執行的指令碼中使用。SnapCenter指令碼會使用這些變數來判斷相關的組態設定。
-
指令碼變數「torage、jane_path」用於掛載作業。
-
衍生自’Clone磁碟區_mount_path’環境變數。
-
例如:
-
CLONED_VOLUMES_MOUNT_PATH=192.168.175.117:/SS1_shared_Clone_05112206115489411
取得SnapCenter 局部環境變數的指令碼
如果不應使用自動化指令碼、而且應手動執行這些步驟、您必須知道FlexClone Volume的儲存系統交會路徑。交叉路徑在SnapCenter 視覺上看不到、因此您需要直接在儲存系統上查詢交會路徑、或是使用簡單的指令碼、在SnapCenter 目標主機上提供各種版本的支援環境變數。此指令碼必須新增為SnapCenter 執行此動作的掛載作業指令碼、才能執行此動作。
ss1adm@hana-1:/mnt/sapcc-share/SAP-System-Refresh> cat get-env.sh #!/bin/bash rm /tmp/env-from-sc.txt env > /tmp/env-from-sc.txt ss1adm@hana-1:/mnt/sapcc-share/SAP-System-Refresh>
在「env-from sc.txt"檔案中、尋找變數「clone Volume _mount_path」、以取得FlexClone Volume的儲存系統IP位址和交會路徑。
例如:
CLONED_VOLUMES_MOUNT_PATH=192.168.175.117:/SS1_data_mnt00001_Clone_05112206115489411