DBAtlas · Атлас эксплуатации баз данных

Повторная синхронизация участника с нуля

MongoDBReplica Set

Команда

// On the SECONDARY to be resynced (NEVER on the PRIMARY):
db.getSiblingDB("admin").shutdownServer()
// At the OS level: empty the dbPath contents (or move them elsewhere as a backup)
// and restart mongod with the same configuration; the member starts an initial sync automatically.
// Monitor progress (stateStr: STARTUP2 -> SECONDARY):
rs.status()

Что делает

В MongoDB нет отдельной команды resync; остановка secondary, очистка его каталога данных и перезапуск запускают новую начальную синхронизацию с primary (или источника синхронизации).

Когда использовать

Когда участник отстал настолько, что вышел за окно oplog (RECOVERING / too stale), или его данные стали несогласованными.

Внимание

Все локальные данные участника удаляются и загружаются заново; делайте это только на secondary и убедитесь, что большинство остаётся доступным. Время синхронизации и нагрузка на сеть/диск высоки; для очень больших объёмов быстрее начальное заполнение из снимка файловой системы здорового участника.

Открыть в DBAtlas →

Связанные материалы