MongoDB - Sammlungen und Dokumente im Replikationssatz verloren/verschwunden

MongoDB - Sammlungen und Dokumente im Replikationssatz verloren/verschwunden

Ich habe drei Mongos ausgeführt (4.0.4) Container innerhalb von Docker mit konfiguriertem Replikat-Set über 10 Monate ohne Probleme oder Schwierigkeiten. Der primäre Mongo-Container/Replikat-Satz wurde mit einer Spring-Boot-Anwendung verbunden, die Spring ausführt2.1.1mit der Verwendung von Mongo-Transaktionen.

Irgendwann während der Feiertage waren alle meine Mongo-DB-Sammlungen weg, alle erstellten Sammlungen und darin enthaltenen Daten waren verschwunden. Da ich innerhalb von Spring Boot einen geplanten Prozess habe und dieser Prozess Daten in eine Sammlung einfügt, wurde diese Sammlung erstellt und Daten wurden eingefügt, was die korrekte Funktionsweise dieses Prozesses ist (Spring Boot erstellt automatisch Sammlungen, wenn sie nicht bereits erstellt wurden), hatte ich an dem Punkt, an dem ich sah, dass ich die Daten verloren hatte, nur eine Sammlung und Daten, die nach dem Problem eingefügt wurden.

Alle drei Container haben ein gemeinsames Volume vom Host und als ich mir die .wt-Dateien ansah, gab es eine Datei, in der ein Teil der Daten lesbar ist und es scheint, dass alle gelöschten Daten da sind, aber ich weiß nicht, wie ich sie wiederherstellen könnte. In der DateiSammlung-8--739794789310552254.wtes gibt etwa 3561507 Zeilen und die Datei ist etwa 390 MB groß. Wenn ich diese Datei im Editor öffne, sind einige Daten lesbar, insbesondere die Daten (habe ein Prüfprotokoll für alle Dokumente, erstellt, zuletzt geändert usw.).

Volume-Dateien

Mit Mongo Restore versucht, ohne Erfolg.

Ich konnte mir nur vorstellen, wie das passieren konnte, da es in den Protokollen keine Einträge darüber gab, dass irgendjemand auf die Datenbank zugegriffen oder Drop-Anweisungen ausgeführt hat. Ich konnte mir nur vorstellen, dass einige der Transaktionen in Spring irgendwie gesperrt wurden und Mongo in den letzten bekannten Zustand zurückgekehrt ist, der ein leerer Zustand war (für mich die einzige vernünftige Erklärung). Warum es wieder leer war, weiß ich nicht.

Gibt es eine Möglichkeit, die in der Sammlung enthaltenen Daten wiederherzustellen?8--739794789310552254.wt Ich habe den gesamten Band von/Daten/DBPfad gesichert und ich kann Mongo aus diesen Dateien mit Docker neu erstellen, aber ich habe nur den Status vor dem Problem.

Wt-Dateien vom freigegebenen Datenträger

verwandte Informationen