共用方式為


適用於資料庫一致性快照集的增強型前置指令碼和後置指令碼

Azure 備份提供內建的 prescript 和 postscript 架構 ,以確保 Linux VM 在備份期間的應用程式一致性。 此架構會自動執行預先指令碼,以在磁碟快照之前將應用程式靜音,並在快照之後自動執行後繼指令,以將應用程式還原為正常作業。

管理自訂前例和後箋通常既複雜又耗時。 為了簡化此流程,Azure 備份會為熱門資料庫提供現成的前置指令碼和後置指令碼,以最少的工作量和維護來啟用應用程式一致性快照集。

下圖說明 Azure 備份如何使用增強的 Prescript 和 Postscript 來達到 Linux 資料庫的應用程式一致快照集,以確保可靠的備份和復原。

顯示 Azure 備份的 Linux 應用程式一致快照的圖表。

增強型前置指令碼和後置指令碼架構的主要優點

新的 增強型 prescript 和 postscript 架構具有下列主要優點:

  • 這些前置腳本和後置腳本會與備份延伸模組一起直接安裝在 Azure VM 中,這有助於消除撰寫與從外部位置下載它們的需求。
  • prescripts 和 postscripts 的定義和內容可以在 GitHub 上查看。 您可以透過 GitHub 提交建議和變更,這些建議和變更會進行分類和新增,以造福更廣泛的社群。
  • 其他資料庫的新 prescripts 和 postscripts 可透過 GitHub 取得,這些 prescripts 和 postscript 經過分類和解決,以造福更廣泛的社群。
  • 強大的框架可以有效地處理場景,例如預指令執行失敗或崩潰。 在任何情況下,後置腳本都會自動執行,以復原在前置腳本中所做的所有變更。
  • 該框架還為外部工具提供了一個 消息傳遞 通道,以獲取更新並準備他們自己的任何消息或事件的行動計劃。

增強型前置指令碼和後置指令碼架構的解決方案流程

下圖說明資料庫一致性快照集的增強型前置指令碼和後置指令碼架構的解決方案流程。

顯示解決方案流程的圖表。

支援矩陣

增強型架構涵蓋下列資料庫:

先決條件

您只需要修改 /etc/azure 中的組態檔 workload.conf,即可提供連線詳細資料。 如此一來,Azure 備份就可以連線到相關的應用程式,並執行 Prescript 和 Postscript。 組態檔具有下列參數:

[workload]
# valid values are mysql, oracle
workload_name =
command_path = 
linux_user =
credString = 
ipc_folder = 
timeout =

下表說明參數。

參數 強制性 說明
workload_name 包含您需要應用程式一致備份的資料庫名稱。 目前支援的值包括 oraclemysql
command_path/configuration_path 包含工作負載二進位檔的路徑。 如果工作負載二進位檔設定為路徑變數,則此欄位不是必要的。
linux_user 包含具有資料庫使用者登入存取權的 Linux 使用者使用者名稱。 如果未設定此值,則會將 root 視為預設使用者。
credString 代表連接至資料庫的認證字串。 包含整個登入字串。
ipc_folder 工作負載只能寫入特定檔案系統路徑。 提供此資料夾路徑,以便 prescript 可以將狀態寫入此資料夾路徑。
timeout 資料庫處於靜音狀態的時間限制上限。 預設值為 90 秒。 請勿設定小於 60 秒的值。

附註

JSON 定義是 Azure 備份可能會修改的範本,以符合特定資料庫。 若要瞭解每個資料庫的組態檔,請參閱 每個資料庫的手冊

使用增強的 prescript 和 postscript 架構的整體體驗是:

  • 準備資料庫環境。
  • 編輯組態檔。
  • 觸發 VM 備份。
  • 視需要從應用程式一致的復原點還原虛擬機器、磁碟或檔案。

建立資料庫備份策略

使用快照而不是串流

資料庫管理員通常會在其備份策略中使用資料流 (例如,完整、差異或增量備份) 來進行備份和記錄。 設計中的要點是:

  • 效能和成本:每日完整備份加上記錄在還原期間最快,但成本很高。 包含差異或累加串流備份類型可降低成本,但可能會影響還原效能。 但是,快照集可以提供效能與成本的最佳組合。 由於快照本質上是增量的,因此它們在備份期間對效能的影響最小,可以快速還原,並且還可以節省成本。
  • 對資料庫或基礎結構的影響:串流備份的效能取決於基礎儲存體 IOPS,以及資料流程以遠端位置為目標時可用的網路頻寬。 快照沒有這種相依性,而且對 IOPS 和網路頻寬的需求會減少。
  • 可重複使用性:每個資料庫觸發不同串流備份類型的命令都不同,因此腳本無法輕鬆重複使用。 此外,如果您使用不同的備份類型,請務必評估相依性鏈結以維護生命週期。 對於快照,編寫腳本很容易,因為沒有依賴鏈。
  • 長期保留:完整備份始終有利於長期保留,因為您可以獨立移動和恢復它們。 對於具有短期保留的作業備份,快照是有利的。

每日快照加上日誌,偶爾進行完整備份以進行長期保留,是資料庫的最佳備份策略。

記錄備份策略

增強的 prescript 和 postscript 架構是以 Azure VM 備份為基礎,每天排程一次備份。 因此,復原點目標(RPO)為 24 小時的資料遺失窗口不適合生產用資料庫。 這個解決方案會輔以記錄備份策略,該策略會明確地將記錄備份以資料流外送的方式處理。

Azure Blob 儲存體上的網路檔案系統 (NFS)AFS 上的 NFS (預覽版) 可協助直接在資料庫 VM 上輕鬆掛接磁碟區,並使用資料庫用戶端來傳輸記錄備份。 「資料遺失時間範圍」(即 RPO) 取決於記錄備份的頻率。 此外,NFS 目標不需要具有高性能。 在擁有資料庫一致性快照集後,您可能不需要觸發作業備份的定期串流 (完整和增量)。

附註

通常,增強型前置指令碼會在靜止資料庫以擷取快照集之前,負責將傳輸中的所有記錄交易排清至記錄備份目的地。 因此,在復原期間,快照集就是資料庫一致性且可靠的復原依據。

復原策略

建立資料庫一致的快照集,並將記錄備份串流至 NFS 磁碟區之後,資料庫的復原策略可以使用 Azure VM 備份的復原功能。 記錄備份的功能也會使用資料庫用戶端套用至它。 下列復原策略選項如下:

  • 從資料庫一致的復原點建立新的 VM。 VM 應該已經與記錄掛接點連線。 使用資料庫用戶端來執行時間點復原的復原命令。
  • 從資料庫一致的復原點建立磁碟,並將其連結至另一個目標 VM。 接著,掛接記錄目的地,再使用資料庫用戶端來執行時間點復原的復原命令。
  • 使用檔案復原選項並產生指令碼。 在目標 VM 上執行指令碼,然後將復原點連結為 iSCSI 磁碟。 然後,使用資料庫用戶端在連結的磁碟上執行資料庫特定的驗證功能,並驗證備份資料。 此外,使用資料庫用戶端匯出或復原一些資料表或檔案,而不是復原整個資料庫。
  • 使用跨區域還原功能,在區域災難期間從次要配對區域執行上述動作。

摘要

透過資料庫一致的快照集,以及使用自訂解決方案備份的日誌,您可以建置高效能且符合成本效益的資料庫備份解決方案。 此解決方案會使用 Azure VM 備份的優點,也會重複使用資料庫用戶端的功能。