68 votes

Pourquoi obtenir l'erreur mongod dead but subsys locked et Insufficient free space for journal files sous Linux ?

J'ai installé mongo-10gen mongo-10gen-server sur un serveur Linux CentOS.

J'ai suivi les étapes de Enlace .

J'ai configuré /etc/mongod.conf comme -

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

J'ai paramétré le port 27017 pour mongo dans iptables . Pour démarrer mongo, j'ai utilisé les commandes -

service mongod start and
mongo

Il a bien démarré, mais après quelques jours, j'obtiens l'erreur -

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

Quand j'exécute la commande -

service mongod status

Il donne Erreur -

mongod dead but subsys locked

Veuillez m'aider à résoudre le problème de mongod mort mais subsys verrouillé y Espace libre insuffisant pour les journaux, terminaison

9 votes

Il vous dit que vous n'avez pas assez d'espace disque libre pour créer le fichier /var/lib/mongo/journal de 3,3 Go dont il a besoin pour ne pas démarrer.

0 votes

J'avais assez d'espace et j'ai quand même eu le problème. J'ai posté ci-dessous ce qui a fonctionné pour moi.

88voto

Andrei Karpushonak Points 2364

Vous pouvez ajouter les éléments suivants au fichier de configuration fourni lors de l'exécution du programme mongod --config mongod.conf

Pour MongoDB 3.x (dernière version)

storage:
   mmapv1:
      smallFiles: true

Pour la version 2.6+

storage:
   smallFiles: true

Pour la version 2.4 et moins

smallfiles = true

Ensuite, il suffit d'exécuter mongod pour accepter votre fichier de configuration (ici il suppose que l'emplacement de la configuration est /etc/mongodb.conf ) :

mongod -f /etc/mongodb.conf

Documentation para petits fichiers paramètre :

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.

0 votes

@Andrei Karpushonak Où se trouve le fichier de configuration ? à installer samllfiles = true

0 votes

Selon votre système d'exploitation, sous Linux c'est /etc/mongodb.conf

0 votes

Erreur d'analyse du fichier de configuration INI : ligne non reconnue dans 'storage:'. Essayez 'mongod --help' pour plus d'informations.

55voto

Rajkumar Singh Points 441

Début mongod en utilisant la commande suivante

mongod --dbpath /data/db --smallfiles

1 votes

Ok pas assez d'espace disque libre pour créer le fichier /var/lib/mongo/journal de => 3.3GB <= nécessaire

11voto

Jaime Montoya Points 955

Je suivais le guide officiel à http://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/

Après avoir utilisé

$sudo service mongod start

Je suis allé vérifier si MongoDB avait démarré avec succès en examinant ce journal :

/var/log/mongodb/mongod.log

Voici le problème que j'ai rencontré :

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

Solution :

A la fin du fichier /etc/mongod.conf j'ai ajouté cette ligne :

smallfiles = true

Après cela, j'ai redémarré le service mongod :

$sudo service mongod restart

Puis, lorsque j'ai examiné le journal, je me suis rendu compte que tout était parfait et que le problème était réglé :

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

0voto

user3831127 Points 11

Premièrement

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

puis

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

0voto

Kunal Panchal Points 699

Juste une note, qui m'a aidé. Bien qu'il n'y ait pas de problème technique lié à Mongo. C'était juste l'espace du système qui était insuffisant. Le fait de vider le cache du système a fonctionné pour moi et mongo a retrouvé son fonctionnement normal.

yum clean all

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X