掛載及遷移 SAP HANA 向外擴充備份,以便立即復原至任何目標

這項資訊適用於 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 中快速重新啟動掛接點的項目,啟用快速重新啟動。

掛接映像檔

  1. 使用管理主控台將備份映像檔掛接至目標伺服器:

    1. 以具備權限的使用者身分登入管理控制台。
    2. 選取所需應用程式,然後選取「存取權」
    3. 選取映像檔,然後按一下「掛接」
    4. 停用「建立新的虛擬應用程式」選項,然後選取對應的目標節點或叢集。如果掛接至擴充叢集,請確保已啟用「MOUNT TO ALL CLUSTER SERVERS」(掛接至所有叢集伺服器) 選項。
    5. 提供掛接點位置,然後按一下「提交」

掛接工作完成後,映像檔會掛接到目標 HANA 伺服器上的指定位置。

掛接和遷移應用實例

兩種用途

  • 單一步驟即可掛接及遷移。復原資料庫,然後在資料庫執行期間,將備份/復原設備提供的儲存空間中的資料,遷移至生產儲存空間。

  • 分兩階段掛接及遷移。復原資料庫副本。從備份/復原設備復原的資料庫可正常運作。準備好正式環境儲存空間後,您就可以在資料庫執行期間,開始將資料遷移至正式環境儲存空間。

一鍵掛接及遷移

掛接映像檔後,即可一次復原及移轉資料。

  1. 在映像檔掛接的目標伺服器上執行這個指令碼。

    /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>

    選擇這個選項後,系統會復原資料庫,將從備份/復原設備佈建的磁碟磁碟區群組與本機儲存空間合併,然後開始遷移資料庫。

  2. 作業成功後,資料會從備份/還原設備佈建的磁碟移至本機正式版儲存空間,同時資料庫也會執行。

如果 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

分兩階段掛接及遷移

掛接映像檔後,即可復原資料庫副本。 從備份/復原設備還原的資料庫可正常運作。

  1. 執行 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>

    成功復原後,資料庫會在備份/復原設備掛接的裝置上執行。資料庫已啟動,可供應用程式使用。

  2. 正式版儲存空間可用時,請在資料庫執行期間,開始將資料遷移至正式版儲存空間。

/act/custom_apps/saphana/lvm_migrate/hana_lvm_recover_migrate.sh migrate

從備份/復原設備卸載並刪除已掛接的映像檔

  1. 以具備權限的使用者身分登入管理控制台。
  2. 選取步驟 1 中掛接的映像檔。
  3. 按一下「卸載並刪除」

指令碼詳細資料 (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,請見下列網頁: