瞭解 Databases for MongoDB 的高可用性及災難回復

高可用性服務或工作負載承受故障並根據某些預先定義的服務等級繼續提供處理能力的能力。 (HA) 是指服務在發生意外故障時仍能維持運作和存取的能力。 災難復原服務或工作負載從罕見的重大事故和大規模故障(如服務中斷)中恢復的能力。 這包括影響整個區域的實體災難、資料庫損毀或對工作負載有貢獻的服務遺失。 其影響超出了高可用性設計的處理能力。是將服務實例還原到工作狀態的過程。

Databases for MongoDB 是一項區域服務,可與標準和企業計劃一起達成已定 義的服務層級目標(SLO)。 如需詳細資訊,請參閱 服務層級協議(SLA)。 如需 Databases for MongoDB 可用 IBM Cloud 區域和資料中心的詳細資訊,請參閱 依地點列出的服務和基礎架構 可用性。

高可用性架構

架構
MongoDB 高可用性架構

Databases for MongoDB 提供複製、故障移轉和高可用性功能,保護您的資料庫和資料不受基礎結構維護、升級和某些故障的影響。 部署包含一個群集,其中有三個資料成員 - 一個主要成員和兩個次要成員。 兩個成員複製集使用異步複製保持更新。 分散式共識機制用於維護叢集狀態和處理故障轉移。 如果主用戶不可用,複製集會選擇副用戶作為主用戶,並繼續正常運作。 當可用時,舊主要重新加入集。 主要和次要成員總是在 MZR 的不同區域。 如果區域故障導致成員失敗,則會在存活的區域中建立新的複製本。

高可用性功能

Databases for MongoDB 支援下列高可用性功能。

高可用性功能
特性 說明
自動故障移轉 所有集群的標準配備,可抵禦區域或單一成員故障。
成員計數 最少 3 名成員。 預設為標準的三個成員部署。 三人群集將自動從單一實體或區域故障中恢復(資料遺失達到滯後閾值)。
非同步抄寫 次級伺服器複製主伺服器的作業,並以非同步方式將作業套用至其資料集。 由於次要資料集會反映主要資料集,因此即使一個或多個成員發生故障,複製集仍能繼續運作。

災難復原架構

災難復原的一般策略是建立新資料庫,例如以下 MongoDB Restore 資料庫。 新資料庫的內容可以是災難發生前建立的來源資料庫備份。 如果生產資料庫可用,則可使用企業方案的時間點功能建立新資料庫。

架構
MongoDB 災難復原架構

災難復原功能

Databases for MongoDB 支援下列災難復原功能。

災難復原功能
特性 說明 考量
備份還原 從先前建立的備份建立資料庫;請參閱 管理 Cloud Databases 備份 還原資料庫的新連線字串必須在整個工作負載中引用。
復原點還原 使用 時間點恢復 從即時生產建立資料庫。 這只適用於企業方案,且使用中的資料庫可用,且 RPO (災難) 在支援的視窗內。 如果生產群集不可用,它就沒有用處。 還原資料庫的新連線字串必須在整個工作負載中引用。

規劃災難回復

災難復原步驟必須定期練習。 當您建立計劃時,請考慮以下的失敗情況和解決方案。

故障情境與解決方案
失敗 解決方法
硬體故障(單點) IBM 提供可避免區域內單點硬體故障的資料庫 - 無需設定。
區域故障 自動故障移轉。 資料庫成員分佈在區域之間。 配置三個成員將提供額外的彈性,以應對多個區域故障。
資料毀損 備份還原。 將已還原的資料庫用於生產或源資料,以修正已還原資料庫中的損毀。

時間點還原。 將已還原的資料庫用於生產或源資料,以修正已還原資料庫中的損毀。

區域失敗 備份還原。 在生產中使用還原的資料庫。

應用層級的高可用性

透過網路和雲端服務進行通訊的應用程式會受到瞬間連線故障的影響。 您要設計您的應用程式,以便在因暫時失去與部署或 IBM Cloud 的連線而造成錯誤時,重新嘗試連線。

您的應用程式必須設計成可以處理資料庫的暫時中斷、實作失敗資料庫指令的錯誤處理,以及實作重試邏輯以從暫時中斷中恢復。

預期不會出現數分鐘的資料庫無法使用或連線中斷情況。 如果您有超過一分鐘無法連線的情況,請開啟 支援個案 並說明詳細資料,以便我們進行調查。

您對 HA 和 DR 的責任

以下資訊可協助您建立並持續實作 HA 和 DR 的計劃。

從備份還原資料庫或使用時間點還原時,會使用新的連線字串建立新資料庫。 現有的工作負載和程序必須調整,以使用新的連線串。 將讀取複本升級到群集也會有類似的影響,不過工作負載的現有唯讀部分不會受到影響。

復原的資料庫也可能需要與災難資料庫相同的客戶建立的依賴 - 確保復原區域中存在下列及其他服務:

  • IBM® Key Protect for IBM Cloud®

請記住,刪除資料庫也會刪除其相關的備份。 不過,已刪除的資料庫可能會在有限的時間內復原。 有關資料庫復原程序的具體詳情,請參閱 常見問題備份說明文件

不可能從 IBM Cloud 複製備份,因此可考慮使用資料庫特定工具來進行額外的備份。 它可能需要從惡意資料庫刪除後的資料庫復原中復原。 對資料庫的 IAM 存取進行仔細管理,有助於降低此問題的風險。

以下與每個特徵相關的核對表可以幫助您建立和實踐您的計劃。

  • 備份還原
    • 確認備份的頻率是否符合 RPO 要求。 管理 Cloud Databases 備份 文件備份頻率。 如果資料庫的關鍵性和大小允許,可考慮使用 IBM Cloud® Code Engine- 與定期定時器(cron)事件製作器合作,建立額外的按需備份,以改善 RPO。
    • 資料庫還原區域有一些限制 - 請閱讀 管理 Cloud Databases 備份,確認您的還原目標可以達成。
    • 確認備份的保留期限符合您的需求。
    • 定期安排測試還原,以驗證實際還原時間是否符合定義的 RTO。 請記住,資料庫大小會顯著影響還原時間。 考慮將還原時間縮到最短的策略,例如將大型資料庫分解成較小、較易管理的單元,以及清除未使用的資料。
    • 驗證 Key Protect 服務。
  • 復原點還原
    • 驗證之前涵蓋的程序。
    • 確認視窗中有所需的備份。

如需更多關於客戶與 IBM Cloud 之間使用 Databases for MongoDB 的責任所有權的資訊,請參閱 Cloud Databases 的共同責任

隨時掌握最新資訊:IBM 通知

影響客戶工作負載的更新會透過 IBM Cloud 通知。 若要隨時瞭解與此服務相關的計劃維護、公告和發行說明,請參閱「監控通知和狀態」。 此外,請定期檢閱版本 政策,以瞭解有關生命週期結束版本和日期的最新更新。

其他指引