Mongodb

創建一個 mongodb 副本集的副本

  • November 19, 2021

我有一個 mongodb 副本集(1 個主實例,2 個輔助實例):vm1、vm2、vm3。

我需要第二個副本集,所以我創建了上述 vms 的副本:vm4、vm5、vm6。

啟動虛擬機後

$$ 4-6 $$ 並連接到他們,顯然,當檢查集群的成員時rs.status(),我仍然可以看到 vm$$ 1-3 $$列為集群的成員,而不是新的虛擬機。我的問題是: 我可以使用rs.reconfig()一次更新第二個三元組中的所有成員,以便在保持數據完整的同時擁有 2 個獨立的集群嗎?預期結果是有兩個獨立的集群:

  • 集群 1:vm1、vm2、vm3
  • 集群 2:vm4、vm5、vm6

(最初)具有相同的數據和獨立的功能。

我的方法是正確的還是我應該以不同的方式做這件事?我應該只從初始集群中導出數據,創建一個新的副本集,然後將數據導入回新集群嗎?

最簡單的方法是創建 vm4、vm5、vm6 的空實例。啟動它們並將它們添加到您的副本集中rs.add()。它將觸發初始同步,並且在短時間內您將正確複製所有內容。

或者你要求一個獨立的第二個 3 個成員的副本集?在這種情況下,僅將數據從一台輔助伺服器複製到集群 2 中的一台虛擬機

連接到新的虛擬機並刪除local數據庫。rs.init()然後你可以rs.add()再次使用。

遵循以下說明:從 MongoDB 備份中恢復副本集

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