Resincronizar un miembro desde cero
MongoDBReplica SetComando
// 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()Qué hace
MongoDB no tiene un comando resync aparte; detener el secundario, vaciar su directorio de datos y reiniciarlo inicia una nueva sincronización inicial desde el primario (o una sync source).
Cuándo usarlo
Cuando un miembro se retrasa tanto que queda fuera de la ventana del oplog (RECOVERING / too stale) o sus datos se vuelven inconsistentes.
Precaución
Todos los datos locales del miembro se borran y se vuelven a extraer; hágalo solo en un secundario y asegúrese de que la mayoría sigue activa. El tiempo de sincronización y la carga de red/disco son altos; para conjuntos de datos muy grandes, sembrar desde un snapshot del sistema de archivos de un miembro sano es más rápido.