2011-10-17 2 views
9

내 서버가 전기 장애를 일으키고 몇 초를 기다려서 모든 MongoDB 데이터를 잃어 버렸다고 생각했습니다. 그런 다음 서버가 다시 시작될 때 mongo가 --dbpath 옵션없이 자동으로 다시 시작된다는 것을 알았습니다.MongoDB 경로 변경?

mongodb.conf에 dbpath가/var/lib/mongodb로 설정되어 있어도 mongo가 시작할 때/data/db에있는 db 파일을 찾았습니다. 누구든지 이것에 대해 밝힐 수 있습니까?

감사합니다.

+0

어떤 OS를 사용합니까? – UpTheCreek

+0

이 서버의 우분투 11.10 –

답변

9

/data/db은 옵션없이 시작될 경우 mongod이 데이터 파일을 찾을 기본 경로입니다. 시작 스크립트가 mongod에 올바른 구성 파일을로드하도록 지시합니까? 그렇지 않은 경우,이 동작을 설명합니다.

+0

이것은 몇 주 전에 끝난 해결책입니다. 스레드를 더 빨리 업데이트하지 못해 죄송합니다. 귀하의 기여에 감사드립니다. =) –

2

Mongo 용 init 스크립트에는 데이터 디렉토리의 전체 경로 이름이 포함되어 있어야합니다. 여기에 우리가 우리의 생산 배치에 무엇을 사용의 단편이다

ulimit -s unlimited 

MONGO_USER=mongo 
MONGO_HOME=/opt/mongo 
MONGO_DATA=/san2/data 
MONGO_LOGS=/home/mongo/logs 


start() { 
    su $MONGO_USER -c "$MONGO_HOME/bin/mongod --master --fork --logpath $MONGO_LOGS/mongodb.log --logappend --dbpath $MONGO_DATA --maxConns 2400" 
} 
3

마지막으로 시스템에 Mongod 업데이트 때? 어떻게 업데이트 했습니까?

Mongod를 어떻게 설치/업데이트했는지에 따라 /etc/init.d/mongo 스크립트 나 /etc/mongo.conf 파일을 덮어 쓸 수 있습니다.

누군가가 오래 전에이 파일을 편집했는데, Mongo가 처음으로 다시 시작된 것이므로 지금은 갑자기 변경된 것처럼 보입니다. 나는 그 두 가지 중 하나를 보지 못했다

오랜 시간에 발생 (하지만 당신은 젠투를 사용하는 경우, 당신은 아마 이런 일이 볼 것이다)

당신은 어떤 OS를 사용합니까?

그것은 해당 파일의 백업을 유지하는 것이 좋습니다

...

1

확인에서 시작 옵션 /etc/default/mongodb 가능성이 가장 높은 사람들이 그것을 시작할 때 대신 선택한 하나의 /data/db의 기본 경로로 설정됩니다 수동으로.