MooseFS

Please find the english version at the bottom of this post.

Le rythme effréné de « publication » ne signifie nullement que nos chers politiques aient arrêté leurs bêtises. Ceci étant dit, il est temps de parler un peu d'informatique (non, ni loppsi II, ni Hadopi ou autres preuves de la très haute compétence de nos dirigeants en la matière).

Qu'est-ce MooseFS ?

Il s'agit d'un système de fichiers réparti à tolérance de panne pour faire court (ceux que j'ai perdu au cours de cette phrase peuvent changer de fenêtre, la suite ne va rien arranger pour vous).
Ce système de fichiers méconnu déborde d'atouts:

  • Il est libre, sous license GPL3. Les sources sont disponibles.
  • Le déploiement et la configuration sont très simples.
  • Le système de fichier est POSIX, et apparaît comme n'importe quel autre montage. Aucun besoin de modifier un programme pour qu'il puisse accéder aux données.
  • Le code tourne entièrement en espace utilisateur.
  • On peut spécifier extrêmement aisément le nombre de réplicas d'un fichier ou d'un répertoire (récursivement ou non) que l'on désire. Ce nombre se change à la volée d'une seule commande, la réplication se fait de manière transparente.
  • Le système de fichier dispose d'une poubelle à durée de rétention configurable. Tout fichier effacé est automatiquement conservé pendant la durée choisie. Pratique pour éviter de devoir ressortir une sauvegarde. Surtout quand il s'agit de systèmes de fichiers de plusieurs To.
  • L'ajout d'une machine pour augmenter la place disponible est simple. Configurez la machine en tant que « chunkserver », lancez le service, et c'est tout ! le maître la détectera, et la prendra en compte automatiquement.

Bien sûr, tout n'est pas tout rose:

  • Le serveur maître n'a pas encore de procédure de haute disponibilité. Il existe le serveur « metalogger » qui conserve les journaux de ce qui se passe sur le maître, et permet de rejouer les évènements rapidement pour pouvoir relancer le maître au plus vite.
  • Les données sont « tronconnées » en paquets de 64 Mo. Donc, les fichiers sans réplicas sont plus vulnérables que s'ils étaient présents sur une seule machine, puisque dépendants de la stabilité de plusieurs. À condition bien sûr que le dit-fichier fasse plus de 64 Mo. L'on conseille donc un nombre de réplicas de 2 par défaut, et 3 pour les données importantes. Ce qui prend de la place, et a un coût matériel. Mais la sécurité des données vaut bien ça.

Au vu du sujet et de l'audience (hum), je me fendrais de ce billet en anglais çi-après.

What is MooseFS ?

To be short, it's a fault tolerant, network distributed file system (Those who are already lost can leave this page happilly, it'll be worse after that).
This almost unknown file system has a lot of nice features:

  • It's free, under GPL3 license. Source code is available.
  • Deployment and configuration is really simple.
  • The file system is POSIX compliant, and appears as any other file system. No need to modify your code to be able to access data.
  • The code runs entirely in user-space.
  • It is really easy to specify the number of desired replicas of a file or a directory (recursively or not).That number can be changed on the fly with one command, replication takes place on its own.
  • The file system manages a time limited trash. Every deleted file is kept during the time you chose. Useful to dodge the seek after the backup. Especially when you deal with TB size file systems.
  • Addition of a machine to increase storage size is simple. Just configure the box as a chunkserver, run the daemon, that's it ! The master machine will detect it and take care of it automatically.

Of course, perfection doesn't exists:

  • Master server has no high availabily (yet). The metalogger server is there to keep logs of master activity so you can reply events quickly to get the master back on track as soon as possible.
  • Data is cut into 64MB chunks. So, data without replica are more vulnerable on moosefs than data on a single machine, as its consistency depends on several machines. Provided the given file is bigger than 64MB. It's advised to choose 2 replicas by default, and 3 for important data. It eats disks, so it costs a bit. Isn't data security a good compensation ?

Haut de page