DBA BRABOMentoria Técnica para DBAs

Recuperação de dados MongoDB

BRABO DATA RECOVERY

Dados MongoDB recuperados direto do dbpath, sem mongod, quando o banco não sobe e o backup não salva.

Recuperação em nível de bloco que lê o WiredTiger direto: WiredTiger.turtle, WiredTiger.wt e _mdb_catalog.wt para achar cada coleção, ou um .wt solto. A implementação do WiredTiger e do BSON é própria (blocos, crc32c, cells, overflow) e varre todos os blocos do arquivo, não só a árvore do checkpoint, então recupera mesmo com a raiz danificada. O journal é lido e reaplicado, e a saída é Extended JSON pronto para o mongoimport.

Backup e recuperação

O problema

Quando o caminho normal acabou

O mongod não sobe e o --repair descartaria o que não entende, o WiredTiger.wt ou o _mdb_catalog.wt estão danificados, um deleteMany apagou o que não devia, o servidor caiu com kill -9, ou o dbpath é do Enterprise com criptografia e o ambiente original não existe mais. Os documentos continuam nos blocos dos arquivos .wt e no journal.

Como entra

Último recurso, sobre cópias

Depois de restore, oplog e membros do replica set. Trabalhamos sobre a cópia do dbpath com o mongod parado. O diagnóstico confere o crc32c de cada bloco e conta o que é folha, interno, overflow e espaço livre. Com Encrypted Storage Engine, basta o --encryptionKeyFile do cliente.

Entrega

O que o serviço faz

  • Diagnóstico de cada bloco: crc32c, header e contagem por tipo (folha, interno, overflow, livre)
  • Catálogo pelo _mdb_catalog.wt: bancos, coleções e os arquivos de cada uma; ou .wt solto em modo scan
  • Varredura de todos os blocos do arquivo, não só da árvore do checkpoint: recupera mesmo com a raiz danificada
  • Compressores snappy, zlib, zstd e none, com decodificadores próprios
  • Journal (WiredTigerLog) reaplicado: um kill -9 volta ao estado final, e o histórico entra na recuperação de apagados
  • Documentos apagados e versões antigas que ainda estão nos blocos e no journal, entregues à parte
  • Encrypted Storage Engine (Enterprise) decifrado com o keyfile do cliente, AES256-CBC e AES256-GCM, inclusive o journal
  • Saída em Extended JSON relaxed, igual ao mongoexport, com kit de carga pelo mongoimport que confere as contagens

Suporte

Versões e plataformas

MongoDB com WiredTiger (validado no 7.0)Community e Enterprise (Encrypted Storage Engine)dbpath completo ou .wt soltoLinux e Windows

Para quem

Quem chama este serviço

Quem roda MongoDB em produção e ficou com o mongod sem subir, sofreu um delete indevido, perdeu o catálogo, ou precisa abrir um dbpath cifrado fora do servidor original.

BRABO DATA RECOVERY · MongoDB

Dados MongoDB recuperados direto do dbpath, sem mongod, quando o banco não sobe e o backup não salva.