web-dev-qa-db-ja.com

エラーmongodが死んでいるのに、サブシステムがロックされ、Linuxのジャーナルファイルに十分な空き領域がないのはなぜですか?

Linux CentOSサーバーにmongo-10gen mongo-10gen-serverをインストールしました。

Link の手順に従いました。

/ etc/mongod.confを設定しました-

logpath=/var/log/mongo/mongod.log
port=27017
dbpath=/var/lib/mongo

iptablesでmongoのポート27017を設定しました。 mongoを起動するには、コマンドを使用しました-

service mongod start and
mongo

うまく始めましたが、数日後にエラーが発生しました-

Tue Jan 29 08:41:54 [initandlisten] ERROR: Insufficient free space for journal files
Tue Jan 29 08:41:54 [initandlisten] Please make at least 3379MB available in /var/lib/mongo/journal or use --smallfiles
Tue Jan 29 08:41:54 [initandlisten]
Tue Jan 29 08:41:54 [initandlisten] exception in initAndListen: 15926 Insufficient free space for journals, terminating
Tue Jan 29 08:41:54 dbexit:
Tue Jan 29 08:41:54 [initandlisten] shutdown: going to close listening sockets...
Tue Jan 29 08:41:54 [initandlisten] shutdown: going to flush diaglog...
Tue Jan 29 08:41:54 [initandlisten] shutdown: going to close sockets...
Tue Jan 29 08:41:54 [initandlisten] shutdown: waiting for fs preallocator...
Tue Jan 29 08:41:54 [initandlisten] shutdown: lock for final commit...
Tue Jan 29 08:41:54 [initandlisten] shutdown: final commit...
Tue Jan 29 08:41:54 [initandlisten] shutdown: closing all files...
Tue Jan 29 08:41:54 [initandlisten] closeAllFiles() finished
Tue Jan 29 08:41:54 [initandlisten] journalCleanup...
Tue Jan 29 08:41:54 [initandlisten] removeJournalFiles
Tue Jan 29 08:41:54 [initandlisten] shutdown: removing fs lock...
Tue Jan 29 08:41:54 dbexit: really exiting now

コマンドを実行すると-

service mongod status

エラーが発生します-

mongod dead but subsys locked

mongod dead but subsys locked and ジャーナルの空き容量が不足しているという問題の解決を手伝ってください。終了

67
Deepu

mongod --config mongod.confの実行時に提供される設定ファイルに以下を追加できます

MongoDBの場合3.x(最新バージョン)

storage:
   mmapv1:
      smallFiles: true

バージョンの場合2.6 +

storage:
   smallFiles: true

バージョン2.4以下

smallfiles = true

次に、mongodを実行して、構成ファイルを受け入れます(ここでは、構成の場所は/ etc/mongodb.confであると想定しています)。

mongod -f /etc/mongodb.conf

ドキュメント forsmallfilesパラメーター:

Set to true to modify MongoDB to use a smaller default data file size. 
Specifically, smallfiles reduces the initial size for data files and
limits them to 512 megabytes. The smallfiles setting also reduces the
size of each journal files from 1 gigabyte to 128 megabytes.
87

次のコマンドを使用してmongodインスタンスを開始します

mongod --dbpath /data/db --smallfiles
54
Rajkumar Singh

http://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/ で公式ガイドに従っていました

使用後

$Sudo service mongod start

次のログを確認して、MongoDBが正常に起動したかどうかを確認しました。

/var/log/mongodb/mongod.log

これは私が見つけた問題です:

2014-11-11T12:54:05.808-0500 [initandlisten] ERROR: Insufficient free space for journal files
2014-11-11T12:54:05.808-0500 [initandlisten] Please make at least 3379MB available in /var/lib/mongodb/journal or use --smallfiles
2014-11-11T12:54:05.808-0500 [initandlisten]
2014-11-11T12:54:05.808-0500 [initandlisten] exception in initAndListen: 15926 Insufficient free space for journals, terminating
2014-11-11T12:54:05.808-0500 [initandlisten] dbexit:
2014-11-11T12:54:05.808-0500 [initandlisten] shutdown: going to close listening sockets...
2014-11-11T12:54:05.808-0500 [initandlisten] shutdown: going to flush diaglog...
2014-11-11T12:54:05.808-0500 [initandlisten] shutdown: going to close sockets...
2014-11-11T12:54:05.808-0500 [initandlisten] shutdown: waiting for fs preallocator...
2014-11-11T12:54:05.808-0500 [initandlisten] shutdown: lock for final commit...
2014-11-11T12:54:05.808-0500 [initandlisten] shutdown: final commit...
2014-11-11T12:54:05.808-0500 [initandlisten] shutdown: closing all files...
2014-11-11T12:54:05.808-0500 [initandlisten] closeAllFiles() finished
2014-11-11T12:54:05.808-0500 [initandlisten] journalCleanup...
2014-11-11T12:54:05.808-0500 [initandlisten] removeJournalFiles
2014-11-11T12:54:05.814-0500 [initandlisten] shutdown: removing fs lock...
2014-11-11T12:54:05.814-0500 [initandlisten] dbexit: really exiting now

解決:

ファイル/etc/mongod.confの最後に、次の行を追加しました。

smallfiles = true

その後、mongodサービスを再起動しました。

$Sudo service mongod restart

次に、ログを確認するために行ったとき、すべてが完璧であることに気付き、問題は修正されました。

2014-11-11T22:32:20.544-0500 ***** SERVER RESTARTED *****
2014-11-11T22:32:20.552-0500 [initandlisten] MongoDB starting : pid=5200 port=27017 dbpath=/var/lib/mongodb 64-bit Host=jaimemontoya-VirtualBox
2014-11-11T22:32:20.552-0500 [initandlisten] db version v2.6.5
2014-11-11T22:32:20.552-0500 [initandlisten] git version: e99d4fcb4279c0279796f237aa92fe3b64560bf6
2014-11-11T22:32:20.552-0500 [initandlisten] build info: Linux build8.nj1.10gen.cc 2.6.32-431.3.1.el6.x86_64 #1 SMP Fri Jan 3 21:39:27 UTC 2014 x86_64 BOOST_LIB_VERSION=1_49
2014-11-11T22:32:20.552-0500 [initandlisten] allocator: tcmalloc
2014-11-11T22:32:20.552-0500 [initandlisten] options: { config: "/etc/mongod.conf", net: { bindIp: "127.0.0.1" }, storage: { dbPath: "/var/lib/mongodb", smallFiles: true }, systemLog: { destination: "file", logAppend: true, path: "/var/log/mongodb/mongod.log" } }
2014-11-11T22:32:20.564-0500 [initandlisten] journal dir=/var/lib/mongodb/journal
2014-11-11T22:32:20.564-0500 [initandlisten] recover : no journal files present, no recovery needed
2014-11-11T22:32:20.738-0500 [initandlisten] waiting for connections on port 27017
2014-11-11T22:33:20.748-0500 [clientcursormon] mem (MB) res:36 virt:245
2014-11-11T22:33:20.748-0500 [clientcursormon]  mapped (incl journal view):64
2014-11-11T22:33:20.748-0500 [clientcursormon]  connections:0
11
Jaime Montoya

ジャーナルファイルを作成するのに十分なスペースがあるにもかかわらず、この問題が発生している場合

私の問題:ジャーナルファイルを作成するのに十分なスペースがありました。 Mongoから接続失敗の問題が発生しました。 killコマンドを使用してmongodプロセスを強制終了し、subsysの問題が発生しました。ここに私のために働いたものがあります:

/var/lock/subsysに移動し、ファイルmongodを削除します

service mongod stopそしてservice mongod start

今すぐmongo Shellを起動し、すべてが正常に実行されているようです。

1
user3270763

ちょっとしたメモでした。 mongoに関連する技術的な問題はありませんでしたが。システムのスペースが不足しているだけでした。システムのキャッシュをクリアするとうまくいき、mongoはスムーズに実行されました。

yum clean all
0
Kunal Panchal

最初

cd /usr/local/src/mongo/bin/<br>

それから

./mongod --dbpath /usr/local/src/mongo/data/db/ --smallfiles
0
user3831127

問題の背景:データベースサービスの停止なしで、DBサーバーをt2.microからより大きなインスタンスにアップグレードしました。これにより、このロックファイルが作成され、このエラーがスローされます。mongod dead but subsys lockedこの後、mongo Shellを使用できませんでした。

ディスク容量が十分にある場合。次に、次の手順に従います。

1 .Sudo mongod(失敗した理由が下にある場合)

Failed to unlink socket file /tmp/mongodb-27017.sock Operation not permitted)
  1. / tmp /ディレクトリに移動します

  2. mongodb-27017.sockファイルを削除

  3. Sudo service mongod restartでmongodを再起動します

0
adeel