Мы обновляем наше программное обеспечение, что потребует обновления нашей базы данных MongoDB. Мы планируем сделать это, сделав копию существующего ReplicaSet с новым именем и сделав наши обновления до нового, а затем переключившись, когда все будет готово. Оба набора ReplicaSet будут находиться на одних и тех же серверах.
Я уже создал новую автономную базу данных под ее новым именем (сделал mongodumop из первичной базы данных, а затем восстановил ее как отдельную базу данных под своим новым именем на том же томе, что и первичный). Сейчас я хочу изменить эту новую базу данных с отдельной на ReplicaSet, не затрагивая исходный Production ReplicaSet.
Я нашел - Преобразование автономного набора в набор реплик http://docs.mongodb.org/manual/tutorial/convert-standalone-to-replica-set/
Но в этом примере показан только один ReplicaSet, и я просто хочу убедиться, что процедура по-прежнему работает с двумя базами данных на одних и тех же серверах. Имя ReplicaSet, которое нужно преобразовать из автономного, является одним из параметров запуска mongo (--replSet) в этом примере. Требуется ли для этого параметра как исходное, так и новое имя ReplicaSrt или только новое, которое нужно преобразовать из автономного?
Это очень странный способ обновления набора реплик. Обычный метод называется «скользящее обновление» и работает следующим образом:
rs.stepDown(3600)
Обновление выполнено с минимальным временем простоя (фактически, всего около 2 секунд для выборов после того, как первичный ушел), без копирования отсюда туда.
Чтобы преобразовать автономный набор реплик во второй, не влияя на исходный набор реплик, вы должны следовать инструкциям по настройке обычного набора реплик, принимая во внимание следующее:
Если все вышеперечисленное учтено, то ваши 2 набора будут разными, и между ними не будет никаких попыток установить связь друг с другом. Также внимательно выполняйте операции с rs.add (), указывая порты нового участника, а не старого.