這項資訊適用於 SAP HANA 向外擴充執行個體。如要瞭解如何使用備份和災難復原服務,備份及復原 Scale-Up 和 HA 1+1 設定,請參閱這篇文章。
SAP HANA 向外擴充系統即時復原 (掛接及遷移)
使用 LVM 遷移方法,自動將 HANA 資料從備份/復原設備暫存磁碟遷移至正式版磁碟。在向上擴充設定或非共用 LVM 多節點向外擴充叢集上,於備份/還原設備暫存磁碟還原 SAP HANA 資料庫後,請使用 LVM 遷移方法。
復原指令碼
復原指令碼為 /act/custom_apps/saphana/lvm_migrate/hana_lvm_recover_migrate.sh
請參閱指令碼詳細資料。
資料庫復原和遷移
開始復原程序前的必要條件
- 停止 SAP HANA 資料庫 (向外擴充設定的所有節點)
sapcontrol -nr <instance number> -function StopSystem
sapcontrol -nr <instance number> -function GetSystemInstanceList
- 確認 /etc/fstab 含有 /hana/data 和 /hana/log 掛接點的 /dev/mapper 項目。
- 使用
df -kh
取得 /hana/data 和 /hana/log 的 /dev/mapper 項目。
- 使用
- 確認任何程序都未保留 /hana/data 和 /hana/log。
- 卸載並重新掛接 /hana/data 和 /hana/log,然後進行檢查。
- 如果已設定 HANA 快速重新啟動,請註解 /etc/fstab 下的 HANA 快速重新啟動項目,並卸載快速重新啟動掛接點。完成復原和合併兩步驟掛接的第一個步驟後,請掛接快速重新啟動掛接點,並取消註解 /etc/fstab 中快速重新啟動掛接點的項目,啟用快速重新啟動。
掛接映像檔
使用管理主控台將備份映像檔掛接至目標伺服器:
- 以具備權限的使用者身分登入管理控制台。
- 選取所需應用程式,然後選取「存取權」。
- 選取映像檔,然後按一下「掛接」。
- 停用「建立新的虛擬應用程式」選項,然後選取對應的目標節點或叢集。如果掛接至擴充叢集,請確保已啟用「MOUNT TO ALL CLUSTER SERVERS」(掛接至所有叢集伺服器) 選項。
- 提供掛接點位置,然後按一下「提交」。
掛接工作完成後,映像檔會掛接到目標 HANA 伺服器上的指定位置。
掛接和遷移應用實例
兩種用途
單一步驟即可掛接及遷移。復原資料庫,然後在資料庫執行期間,將備份/復原設備提供的儲存空間中的資料,遷移至生產儲存空間。
分兩階段掛接及遷移。復原資料庫副本。從備份/復原設備復原的資料庫可正常運作。準備好正式環境儲存空間後,您就可以在資料庫執行期間,開始將資料遷移至正式環境儲存空間。
一鍵掛接及遷移
掛接映像檔後,即可一次復原及移轉資料。
在映像檔掛接的目標伺服器上執行這個指令碼。
/act/custom_apps/saphana/lvm_migrate/hana_lvm_recover_migrate.sh recovermigrate
如要復原至特定時間點,請使用
-r
選項:/act/custom_apps/saphana/lvm_migrate/hana_lvm_recover_migrate.sh recovermigrate -r <time>
選擇這個選項後,系統會復原資料庫,將從備份/復原設備佈建的磁碟磁碟區群組與本機儲存空間合併,然後開始遷移資料庫。
作業成功後,資料會從備份/還原設備佈建的磁碟移至本機正式版儲存空間,同時資料庫也會執行。
如果 HANA 來源和目標 SID 不同
如果 HANA 來源和目標 SID 不同,請先在資料和記錄掛接點中將 SID 目錄重新命名為目標 SID,再執行 hana_lvm_recover_migrate.sh
指令碼。
例如:
來源 SID:HPR 目標 SID:HSR 掛接點:/mmrestore
- 執行
hana_lvm_recover_migrate.sh
指令碼前,必須先將 /mmrestore/hana/data 掛接點中的/mmrestore/hana/data/HPR
目錄重新命名為/mmrestore/hana/data/HSR
。 - 執行
hana_lvm_recover_migrate.sh
指令碼前,必須先將 /mmrestore/hana/log 掛接點中的/mmrestore/hana/log/HPR
目錄重新命名為/mmrestore/hana/log/HSR
。
分兩階段掛接及遷移
掛接映像檔後,即可復原資料庫副本。 從備份/復原設備還原的資料庫可正常運作。
執行 recovermerge 選項,從已掛接的映像檔中,將資料庫副本帶回執行狀態:
/act/custom_apps/saphana/lvm_migrate/hana_lvm_recover_migrate.sh recovermerge
如要復原至特定時間點,請使用
-r
選項:/act/custom_apps/saphana/lvm_migrate/hana_lvm_recover_migrate.sh recovermerge -r <time>
成功復原後,資料庫會在備份/復原設備掛接的裝置上執行。資料庫已啟動,可供應用程式使用。
正式版儲存空間可用時,請在資料庫執行期間,開始將資料遷移至正式版儲存空間。
/act/custom_apps/saphana/lvm_migrate/hana_lvm_recover_migrate.sh migrate
從備份/復原設備卸載並刪除已掛接的映像檔
指令碼詳細資料 (hana_lvm_recover_migrate.sh)
指令碼包含下列詳細資料。
- NAME:SAP HANA 還原輔助指令碼
- PATH:/act/custom_apps/saphana/lvm_migrate/hana_lvm_recover_migrate.sh
- 劇情簡介:
hana_lvm_recover_migrate.sh <OPERATION> [OPTIONS]
- DESCRIPTION:將備份/復原設備中的 SAP HANA 資料還原至向外擴充或獨立叢集。
- OPERATION:指定要執行的作業,這是必要欄位。
- 合併:合併 Actifio 和生產磁碟區群組。
- 遷移:將磁碟區從 Actifio 磁碟遷移至生產環境磁碟。
- 復原:執行 Actifio 擴充復原指令碼。
- RecoverMerge:執行「Recover」和「Merge」。
- RecoverMigrate。執行「復原」和「遷移」。
- 復原。讓叢集處於可再次嘗試還原的狀態。
- 測試。可用於測試工作設定。
選用參數
指令碼也提供這些選用參數,可覆寫任何值。
-a \<name\>: mount job name override
-A \<log|params\>: Method to discover job name, log file or params file
-C \<count\>: Expected node count override
-D \<path\>: Path to the HANA data mount point, expected to be the same
for all nodes
-h: Display help documentation and exit, specify operation for more info
-I \<name\>: HANA database SID override
-K \<user\>: HANA keystore user to use for the restore
-L \<path\>: Path to the HANA log mount point, expected to be the same
for all nodes
-r \<time\>: Timepoint to which to recover the HANA database
-R: Assert that the recover script has already been run
-S \<path\>: Path to the shared directory, expected to be the same for
all nodes
-t \<minutes\>: Number of minutes without an update before a job is
considered timed out
-T \<minutes\>: Number of minutes to allow for starting the HANA DB
service
-u \<user\>: HANA service account username \<adm user\>
-v: Enable verbose logging
-V \<version\>: HANA version
-w \<seconds\>: Base wait time, job status checks 1x, file system
operations 4x
指令碼選項
復原
如果不想將資料遷移至正式版儲存空間,請執行復原選項。
/act/custom_apps/saphana/lvm_migrate/hana_lvm_recover_migrate.sh recover
根據預設,指令碼會從 UDSAgent 記錄檔擷取最新的 Job#,並收集工作所需的所有資訊,例如目標掛接點和資料庫 SID。如果目標伺服器上的最後一個工作不是掛接,則需要提供最後一個掛接工作的工作編號 (使用 -a 選項) 來覆寫掛接工作的預設值:
/act/custom_apps/saphana/lvm_migrate/hana_lvm_recover_migrate.sh recover -a <Job_#>
將資料庫復原至特定時間點 (使用 -r 選項)
/act/custom_apps/saphana/lvm_migrate/hana_lvm_recover_migrate.sh recover -a <Job_#> -r <time>
成功復原後,資料庫會從備份/復原設備掛接的裝置執行。
合併
如果資料庫是從設備掛接的裝置執行,您可以在從步驟 A 執行還原作業後,執行這個選項,將資料遷移至正式環境儲存空間。在此程序中,資料庫會關閉,且生產儲存空間的磁碟區群組會與備份/復原設備磁碟區群組合併。合併作業完成後,資料庫就會上線。
傳遞合併選項時,預期資料庫的復原程序會完成。如果使用者未透過這個指令碼手動執行復原作業,可以指定 -R 選項,確認已執行復原作業。如果復原作業未完成,指令碼不會繼續執行合併程序。
/act/custom_apps/saphana/lvm_migrate/hana_lvm_recover_migrate.sh merge
recovermerge
如果您打算將資料遷移至正式版儲存空間,請執行 recovermerge 選項。recovermerge 選項是 recover 和合併程序的超集,其中合併作業是復原程序的一部分。這樣一來,資料庫就不會在遷移程序開始時重新啟動。
/act/custom_apps/saphana/lvm_migrate/hana_lvm_recover_migrate.sh recovermerge
如果目標伺服器上的最後一項工作不是掛接,則需要使用 -a 選項提供最後一項掛接工作的「工作編號」,以覆寫掛接工作的預設值:
/act/custom_apps/saphana/lvm_migrate/hana_lvm_recover_migrate.sh recovermerge -a <Job_#>
如要將資料庫復原至特定時間點,請使用 -r 選項:
/act/custom_apps/saphana/lvm_migrate/hana_lvm_recover_migrate.sh recovermerge -a <Job_#> -r <time>
成功復原後,指令碼會繼續執行合併作業,將生產儲存空間的磁碟區群組與備份/復原裝置的磁碟區群組合併。在此程序中,資料庫會關閉,合併作業成功後,資料庫就會上線。
migrate
在指令碼的復原或復原合併作業執行完畢後,執行遷移選項,系統即可開始將備份/復原設備提供的儲存空間中的資料,遷移至資料庫執行期間的生產儲存空間。
/act/custom_apps/saphana/lvm_migrate/hana_lvm_recover_migrate.sh migrate
如果復原作業未完成,指令碼不會繼續執行遷移程序。在遷移程序中,指令碼會檢查合併作業是否完成,然後繼續遷移,不會重新啟動資料庫;否則,指令碼會將生產儲存空間的磁碟區群組與備份/復原設備的磁碟區群組合併。在此程序中,資料庫會關閉,合併作業成功後,資料庫就會上線。
recovermigrate
recovermigrate 是 recover、recovermerge 和 migrate 作業的超集。 這個程序會復原資料庫、將從備份/復原設備佈建的磁碟磁碟區群組與本機儲存空間合併,並啟動資料庫遷移作業。
指令碼為 /act/custom_apps/saphana/lvm_migrate/hana_lvm_recover_migrate.sh recovermigrate
。
如果目標伺服器上的最後一個 Job 不是掛接,則需要使用 -a 選項提供最後一個掛接作業的 Job #,以覆寫掛接作業的預設值:
/act/custom_apps/saphana/lvm_migrate/hana_lvm_recover_migrate.sh recovermigrate -a <Job_#>
如要將資料庫復原至特定時間點,請使用 -r 選項:
/act/custom_apps/saphana/lvm_migrate/hana_lvm_recover_migrate.sh recovermigrate -a <Job_#> -r <time>
如果是向外擴充設定,系統會針對叢集的所有節點,同時啟動遷移作業。
工作完成後,資料會從備份/復原裝置佈建的磁碟移至本機正式版儲存空間,資料庫也會同時執行。
rollback
回溯選項會檢查工作記錄,找出 recover、merge、migrate、recovermerge 或 recovermigrate 工作的階段,並還原資料庫伺服器所做的任何變更。如果本機生產環境和備份/復原設備暫存磁碟之間合併了磁碟區群組,系統會從生產環境磁碟區群組中移除暫存磁碟實體磁碟區,以執行復原作業。
/act/custom_apps/saphana/lvm_migrate/hana_lvm_recover_migrate.sh rollback
測試
您可以使用「測試」作業,確保環境設定正確無誤,再啟動任何實際的復原作業。由於「測試」作業不會進行任何變更,因此可視需要多次執行,或完全略過。
請確保在測試期間檢查下列項目:
- 節點檢查:這項工作會在所有作業中執行。
- 檢查預期節點數量是否與實際節點數量相符。
- 檢查非主要節點是否可透過 SSH 存取 (如適用)。
- 確認節點是否可存取共用目錄。
適用於 SAP HANA 向外擴充的備份和災難復原服務說明文件
本頁面是系列文章之一,專門介紹如何使用備份和災難復原服務,保護及復原 SAP HANA 向外擴充執行個體。如要進一步瞭解 SAR,請見下列網頁:
- SAP HANA 向外擴充的備份和災難復原
- 準備備份 SAP HANA 向外擴充執行個體
- 新增 SAP HANA 向外擴充主機,並探索及保護其資料庫
- 設定 SAP HANA 向外擴充的暫存磁碟格式和備份方法
- 設定 SAP HANA 向外擴充執行個體的應用程式詳細資料和設定
- 備份 HANA 1+n 和 HANA 擴充資料庫
- 還原及復原 SAP HANA 向外擴充執行個體
- 將 SAP HANA 向外擴充備份掛接為標準掛接點
- 將 SAP HANA 向外擴充備份掛接為虛擬資料庫
- 掛接及遷移 SAP HANA 向外擴充備份,以便立即復原至任何目標