Ressincronizar um membro do zero
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()O que faz
O MongoDB não tem um comando de resync separado; parar o secundário, esvaziar seu diretório de dados e reiniciá-lo inicia um novo initial sync a partir do primário (ou de uma sync source).
Quando usar
Quando um membro fica tão atrasado que sai da janela do oplog (RECOVERING / too stale) ou seus dados ficam inconsistentes.
Atenção
Todos os dados locais do membro são apagados e puxados novamente; faça isso apenas em um secundário e garanta que a maioria continue no ar. O tempo de sincronização e a carga de rede/disco são altos; para volumes de dados muito grandes, fazer o seeding a partir de um snapshot de file system de um membro saudável é mais rápido.