Moose File System

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Moose File System
MooseFS logo.png

Développeur Core Technology Sp. z o.o.[1]
Dernière version 2.0.43-1[2][3][4] (26 novembre 2014)
Environnement Linux, FreeBSD, Solaris, OpenSolaris, Mac OS X
Type Système de fichier distribué
Licence GNU General Public License v3
Site web www.moosefs.org

Moose File System (MooseFS) est un système de fichiers distribué développé par Gemius SA. Le développeur principal est Jakub Kruszona-Zawadzki. MooseFS se veut tolérant aux pannes, redimensionnable, compatible POSIX, et générique. Le code préalablement propriétaire a été libéré et mis à disposition publiquement le 5 mai 2008.

Fonctionnement[modifier | modifier le code]

MooseFS suit en grande partie les mêmes concepts que Google File System, Lustre ou Ceph. Le système de fichier est composé de trois éléments:

  • Serveur de Métadonnées (MDS) — qui gère la répartition des fichiers, leur accès et l'espace de nommage. La version actuelle de MooseFS ne supporte pas la présence de MDS multiples, ni la reprise sur activité. Ainsi, le serveur de métadonnées est un point individuel de défaillance. Les clients ne s'adressent au MDS que pour récupérer ou mettre à jour la disposition d'un fichier et ses attributs; les données sont transférées directement entre les clients et les serveurs « chunk ». Le serveur de métadonnées est un démon fonctionnant en espace utilisateur. Les métadonnées sont conservées en mémoire et stockées de manière « paresseuse ».
  • Serveur Métajournal (Metalogger server) — qui récupère régulièrement les métadonnées du MDS et les stocke en tant que sauvegarde. Il existe depuis la version 1.6.5, et son fonctionnement est optionnel. Il est possible de transformer le serveur métajournal en MDS de secours en ayant recours à CARP.
  • Serveur Chunk (CSS) — qui stocke les données et éventuellement les réplique. Ils peuvent être en grand nombre, bien que la limite de montée en charge ne soit pas connue. La plus grosse grappe connue est composée de 100 serveurs[5]. Le serveur chunk est lui aussi un démon fonctionnant en espace utilisateur, s'appuyant sur le système de fichier local pour gérer le stockage des données.
  • Enfin, les clients — qui s'adressent au MDS et aux CSS. Les clients MooseFS montent le système de fichiers en espace utilisateur à l'aide de FUSE.

Fonctionnalités[modifier | modifier le code]

Afin d'offrir une haute disponibilité et de bonnes performances, MooseFS propose les fonctionnalités suivantes:

  • Tolérance aux pannes — MooseFS utilise la réplication. Les données sont répliquées parmi les serveurs chunk. Le ratio de réplication (N) est défini par fichier ou répertoire. Si (N-1) réplicas échouent, les données restent accessibles. Actuellement, MooseFS ne propose pas d'autres méthodes pour assurer la tolérance aux pannes, telles que la redondance via RAID réseau. La tolérance aux pannes nécessite donc beaucoup d'espace pour les très gros fichiers - N*taille du fichier au lieu de taille du fichier+(N*taille des bandes), comme cela serait le cas pour le RAID 4, RAID 5 ou le RAID 6.
  • Découpage des données — Les gros fichiers sont divisés en morceaux (chunks), d'une taille pouvant aller jusqu'à 64 mégaoctets qui peuvent être stockés sur différents serveurs chunks afin d'obtenir une bande passante agrégée plus élevée.
  • Répartition de charge — MooseFS essaie d'utiliser les ressources de stockage de manière égale. Si le volume MooseFS est plein à 40 %, l'algorithme utilisé actuellement tâchera de remplir chaque espace de stockage de chaque serveur chunk à 40 %.

Matériel, logiciel, et réseau[modifier | modifier le code]

Tout comme d'autres systèmes de fichiers distribués, les serveurs MooseFS n'ont pas besoin de matériel particulier. Il suffit d'un système d'exploitation compatible POSIX. TCP/IP est utilisé pour connecter les machines.

Voir aussi[modifier | modifier le code]

Articles connexes[modifier | modifier le code]

Liens externes[modifier | modifier le code]