Backup

mongodump:總數據大小為 575 GB 的 4 個分片是否考慮為小型分片集群?

  • May 23, 2017

我需要使用 Ops Manager 測試恢復。為此,我“複製”了生產分片集群。我創建具有與生產相同大小的 VM 並執行mongodump/mongorestore(Ops Manager 部署)。我的測試(用於恢復)不需要是一致的副本,如果缺少大約 5 GB 對我來說沒問題。

DATA SIZE: 573.6 GB

shard0
142.6 GB

shard1
145.94 GB

shard2
142.55 GB

shard3
142.52 GB

為簡單起見,我希望使用mongodump 並將其通過管道傳輸mongos.

我找到了一個舊文件 (v3.0) Backup a Small Sharded Cluster with mongodump。該文件在新的 MongoDB 版本中不再存在。

如果您的分片集群擁有一個小數據集,您可以使用 mongodump 連接到 mongos。

什麼是 GB 的小數據集?有關我的部署,請參見上文。

如果您在未指定數據庫或集合的情況下使用 mongodump,則 mongodump 將從配置伺服器擷取集合數據和集群元數據。

我不需要顯式備份配置RS?

將數據恢復到分片集群時,必須先部署和配置分片,然後再從備份中恢復數據。有關更多資訊,請參閱部署分片集群。

這意味著用簡單的英語我需要定義shard key (and enable sharding)之前的恢復?

我錯過了任何步驟/重要的事情嗎?

我找到了一個舊文件 (v3.0) Backup a Small Sharded Cluster with mongodump。該文件在新的 MongoDB 版本中不再存在。

此過程僅用於備份小型分片集群中的數據,不包括重新創建分片環境或擷取時間點備份。正如您所注意到的,沒有提及備份配置伺服器數據或分片環境所需的其他基本步驟(例如,停止平衡器)。此過程可能適用於從開發或暫存環境備份數據,但不推薦用於典型的生產環境。

有關使用 的更完整的分片備份過程mongodump,請參閱:使用數據庫轉儲備份分片集群。請確保您引用的文件版本與您的 MongoDB 發行系列相匹配,因為可能存在顯著差異。

但是,您提到使用 MongoDB Ops Manager,其中包含用於備份分片集群的特定功能。如果您選擇手動恢復選項,Ops Manager 將提供存檔文件來恢復配置伺服器和分片。由於 Ops Manager 許可是 MongoDB Enterprise 訂閱的一部分,因此如果您需要有關任何程序或要求的建議或說明,我建議您向 MongoDB 提出商業支持案例。

什麼是 GB 的小數據集?

沒有絕對的數字。一般因素包括資源挑戰,例如相對於 RAM 的數據大小、可用網路頻寬以及數據更改的速度。通常,如果您有足夠的數據或工作負載來保證分片,那麼您也已經過時mongodump作為備份方法。

mongodump會將所有數據讀入記憶體,如果您的數據遠大於可用 RAM,這將對分片的工作集產生重大影響。您還需要有足夠的磁碟空間來保存通過單個轉儲的數據的完整備份(或 MongoDB 3.2+ 的壓縮備份)mongos、足夠的網路頻寬來應對增加的流量等。

對於您的特定案例mongodump,絕對不是一個值得推薦的策略,原因有幾個:

  • 這是一個生產環境
  • 您想在另一個環境中複製/重新創建分片集群
  • 您可以訪問 MongoDB Ops Manager 進行備份

引用自:https://dba.stackexchange.com/questions/173555