Mongodb

在相同的儲存卷上創建第二個(複製)MongoDB ReplicaSet

  • November 19, 2014

我們正在升級我們的軟體,這將需要更新我們的 MongoDB 數據庫。我們計劃通過使用新名稱複製現有 ReplicaSet 並更新新名稱,然後在一切準備就緒時切換。這兩個 ReplicaSet 將在同一台伺服器上。

我已經以新名稱創建了新的獨立數據庫(從主數據庫中進行了 mongodumop,然後在與主數據庫相同的捲上以新名稱將其恢復為獨立數據庫)。我現在要做的是將這個新數據庫從獨立數據庫更改為 ReplicaSet,而不會影響原始 Production ReplicaSet

我發現 - 將獨立轉換為副本集 http://docs.mongodb.org/manual/tutorial/convert-standalone-to-replica-set/

但是這個例子只顯示了一個 ReplicaSet,我只是想確保該過程仍然適用於同一伺服器上的兩個數據庫。要從獨立版本轉換的 ReplicaSet 的名稱是本範例中的 mongo 啟動選項 (–replSet) 之一。該選項是否需要原始和新的 ReplicaSrt 名稱,或者只需要從 Standalone 轉換的新名稱

要將獨立副本集轉換為第二個副本集,而不影響原始副本集,您應該按照正常副本集設置的說明進行操作,並考慮以下幾點:

  1. 為新集合使用不同的 replSet 名稱
  2. 對任何新集合成員使用不同的 dbpath
  3. 為任何新集合成員使用不同的日誌路徑
  4. 使用不同的埠設置新成員

如果考慮到上述情況,那麼您的 2 組將是不同的,並且 2 組之間不會嘗試相互通信。請仔細執行您的 rs.add() 操作,指定新成員的埠而不是舊的。

引用自:https://serverfault.com/questions/644166