Tip MongoDB: dompter MongoDB pour qu’il ne mange pas tout l’espace disque sous ubuntu 64!

Ma bête de course est en train de pleurer à cause d’un manque d’espace disque…
Mais que se passe-t’il donc?
Bon ok, lorsque j’ai fait l’installation d’Ubuntu 64 bits, j’ai paramétré la partition racine à 9 Gb, ce qui est un peu limite.

En utilisant Baobab, le programme de visualisation d’espace disque , je me suis aperçu que le fautif était MongoDB et plus précisément  son  système de journalisation:

Voici donc le moyen pour éviter de consommer de l’espace disque inutilement :

  1. arrêter mongodb :

    sudo service mongodb stop

  • éditer le fichier /etc/mongodb.conf et désactiver la journalisation :

    # Enable journaling, http://www.mongodb.org/display/DOCS/Journaling
    journal=false

  • supprimer les fichier dans le répertoire /var/lib/mongodb
  • redémarrer MongoDB:

    sudo service mongodb stop

Et voilà, votre partition ne va pas être inutilement remplie!

Un autre moyen est de déplacer le répertoire des données de /var/lib/mongodb vers une autre partition (exemple /home/mongodb) Pour cela éditer le fichier /etc/mongodb.conf et modifiez la ligne suivante :

# Where to store the data. dbpath=/var/lib/mongodb

en

# Where to store the data. dbpath=/home/mongodb

puis déplacer les fichiers qui étaient initialement dans /var/lib/mongodb vers le répertoire cible :

sudo cp -rv /var/lib/mongodb /home/mongodb/

Si vous aussi vous avez eu le même problème et que ce post vous a aidé, vous pouvez laisser un commentaire !

Veewee : La creation d’une boite Vagrant

Comme je l’abordais dans mon précédent article, l’utilisation de Vagrant pour le développement a été pour moi un gros plus et une superbe découverte.

Mais, vous allez me dire comment créer sa propre Box en effet, il est pas évident de faire confiance à celle que l’on peut trouver sur internet surtout dans le cadre d’une équipe de projet.

C’est à ce titre, que je conseille l’utilisation de Veewee (https://github.com/jedi4ever/veewee) qui permet de créer toutes sortes de Box et qui est surtout d’une simplicité d’utilisation déconcertante.

Le pré-requis pour l’utilisation de veewee est une plate-forme ruby 1.9.2 et la dernière version de VirtualBox (http://www.virtualbox.org), là, il faut impérativement installer RVM sur la machine qui va vous servir à créer votre box et cela afin d’avoir la meilleur version possible de ruby à savoir la 1.9.2p290.

Une fois, les pré-requis en place, la meilleure façon de procéder est de cloner veewee à partir de Github, le procédure d’installation est très bien faite : https://github.com/jedi4ever/veewee/blob/master/doc/installation.md

Ensuite, il y a juste à utiliser veewee (il faut se positionner à la racine du répertoire veewee) et voici la procédure à suivre pour créer une boite directement sans trop de changement :

Ce processus crée une nouvelle définition de boîte dans le répertoire veewee/definitions. Vous pouvez si vous vous en sentez le courage modifier les fichiers mais à titre d’exemple nous le ferons pas. La prochaine étape est de créer la Box :

Cette étape prend pas mal de temps à cause essentiellement des téléchargements d’images ISO nécessaire à l’installation. Vous pourrez suivre de manière simple la procédure.

Une fois, cette étape terminée, vous aurez une boite en place :

Une fois, la box créée, vous pourrez l’exporter dans une fichier « .box » à distribuer à l’ensemble de votre équipe de développement avec la commande suivante :
Nous venons de voir comment créer une Box vide, cependant, maintenant le problème se pose de la mise en place celle-ci dans un environnement réel avec les outils nécessaires comme mysql, postgres, php .etc.. Nous allons pour cela utiliser le système de « Provision » permettant à partir d’un script de mettre en place l’environnement et de l’utiliser ensuite au quotidien. Nous aborderons cela dans un prochain article en attendant, je ne saurait que trop vous conseiller de tester.

RVM : Ruby Version Manager

Quand on essaye de développer sur Ruby, on se tourne tout de suite vers une machine virtuel sous Linux, non pas que Ruby pourrissent le système mais plutôt parce que sous windows il est beaucoup moins performant (c’est mon point de vue).
Quand on essaye de développer sur Ruby sous Linux, on entend rapidement parler de RVM (Ruby Version Manager).
RVM, c’est vraiment le paradis pour le développeur Ruby qui veut tester sur plusieurs types d’environnement (Ruby 1.8.7, 1.9.2, JRuby….), cet outil permet de switcher d’un environnement à un autre sans trop d’effort.
Il est hors de question de vous faire une fiche sur comment installer RVM, il y en a des très bonnes sur le net en Anglais certes et particulièrement http://pragmaticstudio.com/blog/2010/9/23/install-rails-ruby-mac qui marche exactement pareil sur ubuntu.
Je ne conseille pas l’installation en sudo qui n’est à mon avis pas utile.
Vous l’avez compris RVM est un outil indispensable pour les développeurs Ruby & Ruby on Rails, cependant, voici une liste de petits tips & tricks intéressant :
– Si lors de l’utilisation de « rake » vous rencontrez l’erreur « RakeFileUtils rake aborted », n’hésitez à utiliser le lien suivant : http://joneslee85.wordpress.com/2011/07/29/howto-fix-rake-0-9-2-to-work-with-ruby-1-9-2-under-rvm/
– uninitialized constant Rake::DSL in Ruby Gem, l’ajout de :
require 'rake/dsl_definition'
Dans le Rakefile
– vous rencontrez une erreur sur openssl avec Ruby on Rails, les commandes suivantes :
rvm pkg install openssl
rvm remove 1.9.2 --with-openssl-dir=$HOME/.rvm/usr
rvm install 1.9.2
A priori, vous avez là les principaux problèmes que l’on peut résoudre rapidement.