GlusterFS : qu’est-ce que c’est ?

GlusterFS est un système de fichiers distribué, modulable à volonté, qui réunit les éléments de stockage de plusieurs serveurs pour former un système de fichiers uniforme. Après leur installation, les systèmes de fichiers travaillent en secret et plus personne n’y prête attention. Généralement, cette situation n’est amenée à changer que lorsque des données sont perdues ou lorsque le système de fichiers atteint ses limites, par exemple avec la taille maximale d’une partition ou des restrictions dans la longueur des chemins de stockage.

Qui est derrière GlusterFS et de quoi s’agit-il ?

Le nom « Gluster » est composé de « GNU » (GNU’s not Unix) et « cluster ». Ce système a été publié sous licence GNU-General Public License (GNU-GPLS) et peut ainsi être utilisé gratuitement. Dans le contexte des supports de données, le terme « cluster » (littéralement : « pile ») décrit le regroupement logique d’unités de stockage physiques. En lien avec des ordinateurs, il désigne une grappe de plusieurs systèmes connectés ensemble. GlusterFS réunit ces approches en fusionnant l’espace de stockage d’ordinateurs connectés entre eux et en les utilisant comme une unité logique.

Le projet a été publié en 2005 par Gluster Inc. En 2011, l’entreprise a été reprise par RedHat, le distributeur de Linux, qui n’a depuis cessé de développer le système de fichiers. En janvier 2020, la version 7 de GlusterFS a fait son apparition. Elle est disponible sous forme précompilée pour les distributions Linux suivantes :

  • CentOS
  • Debian
  • Fedora
  • RedHat/RHEL
  • SUSE
  • Ubuntu

La limitation aux systèmes basés sur Unix se justifie par l’intégration de la mémoire via le module FUSE. À ce jour, ce module n’est pas disponible sur Windows avec une stabilité suffisante.

Note

FUSE est l’abréviation de « Filesystem in Userspace » (système de fichier dans l’espace utilisateur). Les systèmes d’exploitation sont généralement subdivisés en espace utilisateur et espace noyau. Ce dernier est particulièrement protégé et, par exemple, uniquement accessible avec des droits d’administrateur. Par conséquent, l’intégration (le « montage ») et la gestion de disques sont normalement uniquement possibles avec des droits d’administrateur. FUSE permet toutefois aux utilisateurs de gérer des systèmes de fichiers.

Les ordinateurs peuvent fonctionner comme un serveur et un client. Un accès simple au système de fichiers est toutefois également possible depuis d’autres systèmes. Le NFS (Network File System) et le SMB/CIFS (Server Message Block/Common Internet File System) sont pris en charge.

Fonctionnement de GlusterFS

Un système de fichiers distribué s’avère uniquement pertinent lorsque plusieurs ordinateurs sont connectés entre eux. La documentation de GlusterFS indique qu’un minimum de trois serveurs est nécessaire. Le terme « serveur » ne doit toutefois pas être interprété littéralement. Il est possible d’intégrer presque n’importe quelle forme de matériel physique ou émulé ce qui inclut n’importe quel ordinateur, mais aussi des machines virtuelles. Cela s’avère particulièrement avantageux en termes de flexibilité.

Les serveurs intégrés fonctionnent comme des nodes (nœuds) qui se connectent via le réseau TCP/IP. Les appareils intégrés forment un Trusted Pool, c’est-à-dire une grappe de serveurs fiables. Ils mettent à disposition leur mémoire sous la forme de bricks (blocs). Ces bricks permettent finalement de former des volumes (disques) qui pourront ensuite être intégrés et utilisés comme des supports de données normaux. Les ordinateurs accédant sont appelés clients. Un PC peut aussi bien être serveur que client.

La particularité de ce système réside dans son immense modularité. Il est possible d’ajouter a posteriori un nombre illimité de nodes et de bricks. Ceci permet d’adapter constamment la taille de l’espace de stockage aux exigences. La taille maximale de la mémoire chargée de la gestion est de plusieurs pétaoctets.

Par ailleurs, GlusterFS garantit une certaine fiabilité grâce à la redondance. Le risque de panne est d’une part réparti entre plusieurs systèmes qui peuvent également être séparés physiquement. D’autre part, il est possible de mettre en place des grappes RAID. Contrairement au volume distribué, qui est présent par défaut, il est nécessaire de créer un volume dupliqué à cet effet. Celui-ci enregistre chaque fichier en double et correspond à un RAID Mirror.

Remarque

Un Redundant Array of Independent Disks (RAID) est une grappe de disques indépendants physiquement à partir desquels un disque fusionné est formé. En fonction de la destination, il peut être axé sur la vitesse ou la sécurité des données. En conséquence, l’espace de stockage est réduit par le stockage multiple de données ou le stockage d’informations supplémentaires pour une récupération des fichiers.

Pour les transactions sur l’espace de stockage, GlusterFS offre dix traducteurs (translators) prédéfinis qui traduisent des commandes émises avec des droits d’utilisation pour l’exécution sur la mémoire. On peut citer pour exemples le traducteur « Storage », qui enregistre les données sur un système de fichiers local et en gère l’accès, et le traducteur « Encryption » responsable du cryptage.

La géoréplication est une nouvelle fonctionnalité qui permet d’effectuer une répartition asynchrone des données sur des serveurs avec différentes localisations. Il s’agit d’une protection supplémentaire contre toute action physique sur le serveur, notamment en cas d’incidents, comme un incendie ou un vol. Dans ce cadre, un ordinateur fonctionne comme un maître et l’autre comme un esclave. Le transfert des données est sécurisé via SSH (Secure Shell).

Avantages et inconvénients de GlusterFS

Nous avons résumé pour vous dans un aperçu plusieurs avantages et inconvénients d’un système de fichiers distribué par rapport à un stockage en réseau traditionnel :

Avantages de Gluster Inconvénients de Gluster
Bonne exploitation des capacités existantes Création d’une structure réseau plus complexe
Fiabilité accrue Effort administratif accru dans la mise en place
Répartition de la charge du réseau Nécessite une infrastructure réseau rapide
Très bonne modularité Effort supplémentaire pour la sécurité technique

Cas d’utilisation de GlusterFS

Sur le principe, GlusterFS reproduit parfaitement un Cloud. L’espace de stockage se trouvant dans une grappe est mis à la disposition des clients connectés. Un tel système est notamment adéquat pour les réseaux les plus grands dans lesquels des ressources suffisantes sont de toute façon disponibles pour la formation d’une grappe.

La connexion des appareils ayant lieu via le protocole Internet, les structures d’entreprise à plusieurs branches sont tout particulièrement adaptées à la mise en place d’un système de fichiers distribué. Mais un tel système peut également permettre de se passer d’un stockage réseau dédié dans des structures réseau séparées physiquement, sans pour autant devoir renoncer à la redondance.

Conseil

Vous souhaitez travailler avec GlusterFS ? IONOS a écrit pour vous un guide sur l’installation et la mise en place de ce système de fichiers (guide en anglais).

Alternatives à GlusterFS

Parmi les alternatives à GlusterFS, on trouve en particulier Ceph qui est également disponible gratuitement et offre de nombreux avantages parmi ceux listés pour les systèmes de fichiers distribués. Ceph et Gluster présentent différents avantages et inconvénients.

BeeGFS (auparavant FhGFS) a été développé spécialement par l’institut Fraunhofer pour les systèmes informatiques performants. Il est lui aussi proposé gratuitement et est axé sur une utilisation simple.

Dans le domaine commercial, il existe également des systèmes, tels que Storage Spaces Direct (S2D) de Microsoft, dont l’utilisation est toutefois limitée à des serveurs Windows sous licence payante.