這項資訊適用於 SAP HANA 向外擴充執行個體。如需擴充和 HA 1+1 設定,請參閱 SAP HANA 的備份和災難復原服務。
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 項目,即可啟用快速重新啟動功能。
掛載映像檔
使用管理主控台將備份映像檔掛載至目標伺服器:
- 以特權使用者身分登入管理控制台。
- 選取所需應用程式,然後選取「存取」。
- 選取圖片,然後按一下「掛載」。
- 停用「CREATE NEW VIRTUAL APPLICATION」選項,然後選取相應的目標節點或叢集。如果要掛載至擴展叢集,請務必啟用「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
- SYNOPSIS:
hana_lvm_recover_migrate.sh <OPERATION> [OPTIONS]
- DESCRIPTION:將 SAP HANA 資料從備份/復原裝置還原至向外擴充或獨立叢集。
- OPERATION:指定要執行的作業,這是必要參數。
- 合併:合併 Actifio 和實際生產環境的音量群組。
- Migrate:將磁碟區從 Actifio 磁碟遷移至正式版磁碟。
- Recover:執行 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>
在復原作業成功結束後,資料庫會從備份/復原機器人已掛載的裝置中執行。
merge
當資料庫從裝置 (從裝置上安裝的裝置) 執行時,這個選項可以執行步驟 A 中的復原後作業,以便將資料遷移至實際工作環境儲存空間。在這個程序中,資料庫會關閉,並將實際工作儲存空間的磁碟區群組與備份/復原機器磁碟區群組合併。合併作業成功後,資料庫就會上線。
合併選項通過後,系統會完成資料庫的復原程序。如果是手動執行復原作業而未使用此指令碼,使用者可以指定 -R 選項,確認復原作業是否已執行。如果復原作業尚未完成,指令碼就不會繼續執行合併程序。
/act/custom_apps/saphana/lvm_migrate/hana_lvm_recover_migrate.sh merge
recovermerge
如果您打算將資料遷移至正式版儲存空間,請執行 recovermerge 選項。recovermerge 選項是 recover 和 merge 程序的超集,其中 merge 作業會在復原程序中執行。這樣一來,系統就不會在遷移程序開始時重新啟動資料庫。
/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
在指令碼執行復原或 recovermerge 後執行遷移選項,系統就會準備好在資料庫執行期間,從備份/復原設備提供的儲存空間遷移資料至正式儲存空間。
/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
。
如果這個目標伺服器上最後一個工作不是掛載,則需要使用 -a 選項提供最後一個掛載工作的工作編號,以覆寫掛載工作預設值:
/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>
對於擴展設定,系統會在叢集的所有節點上同時啟動遷移作業。
工作順利完成後,系統會從備份/復原裝置提供的磁碟,將資料移至本機實際用途儲存空間 (在資料庫執行期間)。
回溯
回復選項會查看工作記錄,找出復原、合併、遷移、復原合併或復原遷移工作階段,並還原對資料庫伺服器所做的任何變更。如果在本機正式版和備份/復原機器人暫存磁碟之間合併了磁碟群組,系統會從正式版磁碟群組中移除暫存磁碟實體磁碟,以便執行復原作業。
/act/custom_apps/saphana/lvm_migrate/hana_lvm_recover_migrate.sh rollback
test
您可以使用「Test」作業,確保環境設定正確,以便在啟動任何實際復原作業前執行。由於「Test」作業不會進行任何變更,因此可視需要執行多次,或完全略過。
請確認在測試執行期間檢查下列項目:
- 節點檢查;這項工作會在所有作業中執行。
- 檢查預期節點數量是否與實際節點數量相符。
- 檢查是否可透過 SSH 存取非主節點 (如適用)。
- 檢查節點是否有共用目錄的存取權。
備份和災難復原服務:適用於 SAP HANA 向外擴充的說明文件
本頁是一系列專門說明如何使用備份和災難復原服務保護及復原 SAP HANA 向外擴充執行個體的文章之一。如需更多資訊,請參閱下列網頁:
- SAP HANA 向外擴充的備份和災難復原
- 準備 SAP HANA 向外擴充執行個體以供備份
- 新增 SAP HANA 向外擴充主機,並探索及保護其資料庫
- 為 SAP HANA 向外擴充設定暫存磁碟格式和備份方法
- 設定 SAP HANA 向外擴充執行個體的應用程式詳細資料和設定
- 備份 HANA 1+n 和 HANA 擴大資料庫
- 還原及復原 SAP HANA 向外擴充執行個體
- 將 SAP HANA 向外擴充備份掛載為標準掛載點
- 將 SAP HANA 向外擴充備份掛載為虛擬資料庫
- 掛載及遷移 SAP HANA 向外擴充備份,以便立即復原至任何目標