2015-06-04 3 views
1

Мы используем mongodb 3.0.2, и наша система управляется через MMS Мы обнаружили, что одна из наших новых условий DEV потеряла весь контент для /data/db, включая журналы, журналы и файл конфигурации.Как восстановить потерянные данные/данные/db

Одна вещь - экземпляр все еще работает и работает в памяти.

Есть ли у кого-нибудь решение о том, как оправиться от этой ситуации?

Я пробовал db.fsyncLock(), который должен сбрасываться на данные на диск, но не повезло.

+1

WTF как вы потеряли все физические данные? Плюс mongodb будет сыном выходить с ошибкой утверждения, когда он пытается получить данные, которые он не получил в LRU – Sammaye

+0

Возможно, вам повезло больше на dba.se ... –

+0

В ответ на ваш вопрос: fsync на самом деле не поможет, так как будет (если это возможно) загрузить небольшой сегмент ваших данных. Вы могли бы использовать некоторое программное обеспечение для восстановления диска в лучшем случае – Sammaye

ответ

2

AFAICT, так как файлы уже открыты/сохранены MongoDB, removing their entry from the filesystem не помешает MongoDB использовать их (по крайней мере, в Unix-подобных системах). Пока они не закрыты и MongoDB не нужно открывать другие файлы, все должно быть полезно. Достаточно начать делать несколько дампов.

В качестве эксперимента я заполнил недавно установленный экземпляр MongoDB 3.0.2 с документами 2M. Остановите его, перезагрузите и удалите папку data - перед тем, как получить доступ к коллекции. Наконец-то я был в состоянии mongodump, что сбор без выдачи:

> for (i = 0; i < 2000000; ++i) { db.test.insert({x:i}) } 
# Stop MongoDB 
# Start MongoDB again 

rm -rf data 

mongodump -d test -c test 
# success ! 

# Stop MongoDB 

mkdir -p data/db 

# Start MongoDB again 

mongorestore -d test -c test dump/test/test.bson 
> db.test.count() 
2000000 
+0

Да, я вижу, как это возможно сейчас даже если mmap не является жилой памятью, механика файловой системы 101 – Sammaye

+0

Потеря физической даты была потеряна из файловой системы без резервного копирования –

Смежные вопросы