MongoDB - 복제 세트에서 컬렉션 및 문서가 손실/사라졌습니다.

MongoDB - 복제 세트에서 컬렉션 및 문서가 손실/사라졌습니다.

나는 세 개의 몽고(4.0.4) 아무런 문제나 문제 없이 10개월 동안 구성된 복제본 세트가 있는 Docker 내의 컨테이너입니다. 기본 mongo 컨테이너/복제본 세트가 spring을 실행하는 spring boot 애플리케이션과 연결되었습니다.2.1.1몽고 트랜잭션을 사용하여.

휴일 동안 내 모든 mongo db 컬렉션이 사라지고 그 안에 생성된 모든 컬렉션과 데이터가 사라졌습니다. 스프링 부트 내에 일부 예약된 프로세스가 있고 해당 프로세스가 컬렉션이 생성된 하나의 컬렉션에 데이터를 삽입하고 있으며 이 프로세스의 올바른 작동 방식인 데이터가 삽입되었기 때문에(스프링 부트는 아직 생성되지 않은 경우 자동으로 컬렉션을 생성합니다) , 그래서 데이터가 손실된 것을 본 시점에는 문제 이후에 삽입된 데이터와 컬렉션이 하나만 있었습니다.

세 컨테이너 모두 호스트의 공유 볼륨을 가지고 있으며 .wt 파일을 볼 때 데이터의 일부에 읽을 수 있는 파일이 하나 있고 삭제된 데이터가 모두 있는 것 같지만 어떻게 복원할 수 있는지 모르겠습니다. 그들을. 파일에 있음컬렉션-8--739794789310552254.wt약 3561507개의 라인이 있고 파일 크기는 약 390MB입니다. 편집기에서 이 파일을 열면 데이터의 일부, 특히 날짜(모든 문서, 생성, 마지막 수정 등에 대한 감사 로그가 있음)를 읽을 수 있습니다.

볼륨 파일

mongo 복원을 시도했지만 행운이 없습니다.

DB에 액세스하고 모든 종류의 삭제 문을 실행하는 사람에 대한 로그가 없는 로그에서 이것이 어떻게 발생하는지 생각할 수 있었던 이유는 Spring 내의 트랜잭션 중 일부가 어떻게든 잠겨 있고 mongo가 마지막으로 알려진 상태로 돌아갔다는 것만 생각할 수 있었기 때문입니다. 빈 상태였습니다(나에게는 합리적인 설명일 뿐입니다). 왜 빈 상태로 복원되었는지 모르겠습니다.

수집 중인 데이터를 복원할 수 있는 방법이 있나요?8--739794789310552254.wt 나는에서 전체 볼륨을 가지고 있습니다/데이터/db경로가 백업되었고 Docker를 사용하여 해당 파일에서 Mongo를 다시 만들 수 있지만 문제 이후의 상태만 있습니다.

공유 볼륨의 Wt 파일

관련 정보