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