Это нормально для MongoDB целый / data / db после электрического отключения, которое приводит к сбою - PullRequest
1 голос
/ 12 июня 2011

У меня есть одна машина с MongoDB, и ее данные находятся в / data / db, как обычно.

Когда моя машина выходила из строя из-за отключения электроэнергии, мой MongoDB отказывался запускаться при запуске (Mac OS X Server через LaunchAgent), а также / data / db таинственно исчезали!

Также все файлы журнала уничтожены. Это произошло в моей разработке SSD MBA, и я подумал, что это просто странный случай с SSD. Но мой XServe-сервер тоже получает его при отключении питания.

Я где-то пропускаю некоторые статьи по защите данных? Конечно, это не может быть так ненадежно, просто удалив / data / db !! ??

Ответы [ 2 ]

3 голосов
/ 13 июня 2011

Нет, это не нормально.

Если он не запустится, вероятно, mongodb указывает на то, что вам нужно выполнить восстановление, поскольку mongod.lock присутствует и имеет определенное состояние в / data / db,Но это означало бы, что / data / db существует.

Если бы / data / db существовал, но был пуст (что, в данном случае, очевидно, было бы плохо), он бы сразу начал.журналы отсутствуют, звучит как более общая проблема с диском.

Так что проверьте сообщение при запуске, если о mongod.lock есть данные.Также с v1.8 + используйте ведение журнала.(хотя вы не потеряете все файлы данных даже без ведения журнала)

3 голосов
/ 12 июня 2011

MongoDB никогда не удалит ваши файлы базы данных!

В случае сбоя вы должны запустить mongod с помощью опции --repair.

Кроме того: с помощью новой опции ведения журналаMongoDB в V 1.8+ может сильно помочь при запуске MongoDB в качестве автономного сервиса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...