Replication

是什麼同步了兩個延遲的副本,這是副本集的一部分,包含在分片集群中?

  • March 31, 2014

請在http://postimg.org/image/krzvmep4d/上查看我的 mongodb 地圖

是什麼同步了兩個延遲的副本,這是副本集的一部分,包含在分片集群中?如果我的副本集“一半”未同步,我如何使用延遲備份,因為我首先關閉了一個生產伺服器(使用 db.shutdownServer()),然後在幾分鐘後關閉了另一個伺服器?

還是我的 mongo 地圖不完美?在這種情況下,請解釋我做錯了什麼。

PS 從這裡重新添加https://stackoverflow.com/questions/22715589/what-synchronizes-two-delayed-replicas-which-is-part-of-the-replica-set-includ

您的“延遲備份”模型存在一個明顯的問題,因為您的延遲輔助節點將反映每個副本集的狀態,而不是在給定時間點分片集群的完整狀態。

一個簡單的例子:

  • 正在進行從 shard1 => shard2的塊遷移
  • 複製文件時,文件將同時存在於 shard1 和 shard2 上
  • 您的“延遲備份”沒有匹配的配置元數據來解釋集群的狀態(它會隨著時間的推移而變化,除非您禁用平衡器)

根據複製延遲的長度(您的圖表提到“小時”和“週”),集群元數據可能已經發生了多次更改,並且配置數據將非常不同步。

雖然您將獲得“數據”的延遲副本,但如果它與分片集群元數據不同步,您的完全恢復路徑將重新載入(和重新分片)數據。您還必須擔心解決由於正在進行的遷移而可能存在的重複文件。

有關更多資訊,請參閱 MongoDB 文件中的備份和還原分片集群教程。如果您有大量數據,您通常希望使用文件系統快照方法來創建近似的時間點備份。

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