導致資料庫備份耗時過長的原因

什麼是低閃光備份?

在一般情況下,備份和災難復原服務會花費大量時間對資料庫進行初始完整攝入備份,之後所有後續備份都是增量備份,速度會快得多。增量備份會比較目前快照和先前快照的位圖,並只套用增量變更。

低閃爍備份是一種特殊類型的備份工作,會在先前備份工作中的某些系統錯誤導致點陣圖無法讀取或不穩定時發生。讀取點陣圖的服務是 Linux 環境中的 cbt_server,以及 Windows 環境中的 AAMService。

低閃爍備份比在正常情況下備份所需的時間更長,因為這類備份必須再次執行完整擷取作業,才能重新建立可靠的點陣圖。接著,它就能套用增量變更,而不需要取代完整圖片。

不會導致低閃爍備份的因素

  • 連接器升級
  • 安全重新啟動系統
  • 假設服務在備份時仍在執行,則會優雅重新啟動 cbt_server 或 AAMService
  • 未發生導致不穩定位圖的錯誤的備援機制。

造成不穩定點陣圖的原因

當備份工作遭到中斷時,就會產生不可靠的位圖,包括以下情況:

  • 主機未正常關機
    • 由於位圖不穩定,非正常關機會導致低閃現效果。這包括在實體機器上拔除電源,或以其他方式關閉 Windows 而未經過正常關機程序,或發生藍色畫面錯誤。即使叢集中的一台機器發生藍色畫面錯誤而觸發備援程序,也會發生這種情況,因為故障機器的點陣圖不可靠。
    • 如果叢集中所有 Windows 伺服器在先前備份後,已不再託管資料庫,且未執行 Actifio 服務。我們會從每個叢集主機中提取位圖,這些主機自上次備份後就已代管資料庫,以便找出變更內容。如果沒有所有位圖,我們就必須執行低閃現效果,以維持資料完整性。請注意,如果代管資料庫的叢集主機發生 BSOD,位塊圖可能會在備份時可用,但仍不可靠,因此會顯示低亮度彈出式訊息。
  • 核心模組更新失敗
  • 使用者模式 Daemon 發生當機或重新啟動
  • 執行備份時發生指紋錯誤。(備份和災難復原服務會對每個備份工作執行「指紋檢查」,以檢查錯誤。)
  • 如果在作業系統關機時,儲存磁碟已滿,且系統無法將所有資料寫入儲存庫,就會發生儲存庫期間錯誤。
  • SAP HANA 節點容錯,導致備份重新導向至其他節點。
  • 備份功能無法載入核心模組,因此以降級模式執行。這通常是因為作業系統是系統不支援的版本。
  • 如果在備份期間停止 cbt_server 或 AAMService,就無法擷取位圖,且備份工作會以低閃現模式執行。如果 AAMService 並未長時間停機,啟動 AAMService 後,系統就會提供可用於正常備份的點陣圖。
    • 如果 cbt_server 或 AAMService 已停止一段時間,且驅動程式已將幾 GB 的事件排入佇列,則無法重新建立位元組合圖,備份會處於低閃現模式。這項作業所需的時間取決於資料庫的磁碟 I/O 量。這通常需要數天的 AAMService 服務中斷時間。
  • 如果 cbt_server 或 AAMService 非正常關閉,可能會導致目前載入的任何位圖變得不穩定。如果追蹤的檔案在過去 15 分鐘內已寫入,系統就會載入位元資料,因此對於繁忙的資料庫,這通常會導致低閃現效果。
  • 如果含有追蹤檔案 (例如 SQL Server .mdf 檔案) 的磁碟區在主機上解除掛載,然後重新掛載,則無法得知檔案在解除掛載時寫入了什麼內容,因此無法信賴位元資料。