DBAtlas · Atlas de operações de banco de dados

Ressincronizar um membro do zero

MongoDBReplica Set

Comando

// 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.

Abrir no DBAtlas →

Relacionados