GlusterFS est un système de fichier distribué POSIX.

Actuellement la version stable est la 3.2 (3.3 en beta).

Il se découpe 2 parties:

  • le démon glusterd pour gérer les volumes distribués
  • le client gluster pour accéder aux volumes.

L'accès aux volumes peut se faire de 2 manières : soit avec l'utilisation du client gluster (basé sur FUSE et donc en user-space). Cette méthode est actuellement la méthode recommandée par gluster.

Depuis la version 3.1 l'accès aux volumes peux aussi se faire en NFS en se passant donc du client FUSE.

Une fonctionnalité de "geo-replication" a été intégrée depuis la version 3.2. Elle permet de répliquer un volume glusterFS afin d'en assurer une redondance. Cette géo-réplication est continue et asynchrone. Elle fonctionne sur le principe master/slave.

Autres nouveautés de la version 3.2, l'amélioration des outils de monitoring des volumes. (GlusterFS Volume Top / GlusterFS Volume Profile) ainsi que la gestion des quotas et des ACL.

glusterfs implémente 5 types de volumes avec des caractéristiques différentes :

Distributed Volumes

Les fichiers sont distribués sur chacune des briques du volumes. 
Ce type de volume permet d'étendre la capacité de stockage mais n'assure aucune redondance. 
Si une brique est HS, les fichiers hébergés sur cette briques sont indisponible.

Replicated Volumes

Les fichiers sont répliqués sur chaque briques du volume. 
Ce type de volume permet d'assurer une redondance des données, mais l'ajout d'une brique n'augmente pas la taille du volume
Elle permet juste d'ajouter une redondance supplémentaire.

Striped Volumes

Les fichiers sont découpés et répartis sur chaque briques du volumes.
Ce type de volume est très proche d'un RAID 0
Les données sont réparties sur les volumes assurant ainsi de bonnes performances. 
La perte d'une brique rend inaccessible l'intégralité des fichiers du volume

Distributed Striped Volumes

Très similaire aux Striped Volumes, hormis que les stripes ne sont pas répartis sur toutes les briques des volumes.
On peux avoir 6 briques dans le volume en découpant uniquement les fichiers sur 2 briques.

Distributed Replicated Volumes

Meme logique que les Distributed Striped Volumes : on réplique le fichier _x_ fois sur un ensemble de _y_ volumes.
Ce type de volume permet d'étendre la capacité de stockage tout en assurant une redondance des données.

Quelques liens :