Повторная синхронизация участника с нуля
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 и убедитесь, что большинство остаётся доступным. Время синхронизации и нагрузка на сеть/диск высоки; для очень больших объёмов быстрее начальное заполнение из снимка файловой системы здорового участника.