Mongodb
創建一個 mongodb 副本集的副本
我有一個 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 備份中恢復副本集