MongoDB - 集合和文件在副本集中遺失/消失

MongoDB - 集合和文件在副本集中遺失/消失

我正在運行三個 mongo (4.0.4) docker 中配置了副本集的容器在 10 個月內沒有出現任何問題。主 mongo 容器/副本集與運行 spring 的 spring boot 應用程式連接2.1.1使用 mongo 事務。

在假期期間,我的所有 mongo 資料庫集合都消失了,所有創建的集合和其中的資料都消失了。由於我在Spring Boot 中有一些預定的進程,並且該進程正在將數據插入到一個集合中,該集合已創建並已插入數據,這是該進程的正確運行方式(如果尚未創建集合,Spring Boot 會自動建立集合) ,所以當我看到我遺失了資料時,我只有一個集合和在問題發生後插入的資料。

所有三個容器都具有來自主機的共享卷,當我查看 .wt 文件時,數據的某些部分中有一個文件是可讀的,似乎所有刪除的數據都在那裡,但我不知道如何恢復他們。在文件中集合-8--739794789310552254.wt大約有 3561507 行,檔案大約 390mb。當我在編輯器中開啟此文件時,部分資料是可讀的,尤其是日期(所有文件、建立的、上次修改的等都有審核日誌)。

卷文件

嘗試使用 mongo 恢復,沒有運氣。

我只能想到這是如何發生的,因為在日誌中沒有關於任何人訪問資料庫並運行任何類型的drop 語句的日誌,我只能想到spring 中的一些事務以某種方式鎖定,並且mongo 返回到最後知道的狀態是空狀態(對我來說只是合理的解釋),為什麼它恢復為空不知道。

有什麼方法可以恢復收集的資料-8--739794789310552254.wt 我有整捲/資料/資料庫路徑已備份,我可以使用 Docker 從該檔案重新建立 Mongo,但我只有問題發生後的狀態。

共享卷中的 wt 文件

相關內容