Vous connaissez probablement HDFS (Hadoop Distributed File System) ou GFS (Google File System) qui permettent de créer un système de fichiers distribués. Nous en avons déjà discuté sur ce blog. Aujourd’hui, nous allons parler de GlusterFS. C’est un système de fichiers libre distribué en parallèle, qui permet de stocker jusqu’à plusieurs pétaoctets (1015 octets), et donc d’assurer une montée en charge progressive en taille, une répartition de charge, et un mirroring (réplication) des fichiers. Il intègre à cet effet des mécanismes évolués de gestion des pannes. En gros, c’est du clustering de stockage !
Pour quelle utilisation ? Imaginons que vous ayez un site web sous Apache et que votre serveur est assailli de connexions… comment répartir la charge sur 2 serveurs, tout en assurant une réplication efficace des données entre les 2 serveurs ? Autres besoins: streaming multimédia, de l’analyse de données et tout autre service requérant une charge de travail et une bande passante élevée. GlusterFS répond à tous ces besoins… ou presque.
Fonctionnement:
Les serveurs sont typiquement déployés comme des « briques de stockage » (bricks), chaque serveur exécutant un daemon glusterfsd qui exporte un système de fichiers local comme un volume. Le processus client glusterfs qui se connecte aux serveurs regroupe les volumes distants en un unique volume.
Plusieurs modes sont possibles:
- Volume distribué: les fichiers sont répartis au travers des bricks serveurs — on étend la capacité de stockage
- Volume répliqué: chaque fichier existe sur chaque brick — on fait du mirroring
- Volume distribué répliqué: on mélange les 2 approches.
- D’autres modes, comme le morcelé (strip) qui permet la découpe des fichiers…
Contrairement aux autres solutions de stockages distribué en réseau, Gluster ne nécessite aucun serveur de métadonnée afin de savoir où les données se situent sur le cluster. Donc pas de serveur central, et ça c’est une bonne chose.
Concernant la réplication des données, on parlera même de géo-réplication, c’est à dire la capacité à prendre en compte la localisation des données pour en optimiser le flux (on passe alors en asynchrone avec un système maître/esclave). On peut également activer le chiffrement des données.
Enfin, nous terminerons par le fait que GlusterFS n’est pas une solution opensource un peu exotique. Elle est fiable, est utilisée massivement dans le monde aujourd’hui et reste très simple à mettre en place. C’est donc une candidate de choix pour l’IA et le Big Data. Un article dans Linux Mag n°209 lui est consacré.
Site officiel: www.gluster.org
Laisser un commentaire