30mars 2011

Système de fichier distribué Glusterfs

gluster_logo

Je vais débuter une série d'article qui seront publiées chaque semaine sur la mise en place de Gluster.

Gluster est un logiciel libre de système de fichiers distribué en parallèle (scale-out), capable de monter jusqu'à plusieurs pétaoctets et de gérer plusieurs milliers de clients.

Gluster est un système de fichiers de cluster/réseaux. Gluster est livré avec deux éléments, un serveur et un client.

Le serveur de stockage (ou chaque serveur d'un cluster) fait tourner glusterfsd et les clients utilisent la commande mount ou glusterfs client pour monter les systèmes de fichiers servis, en utilisant FUSE. Les Serveurs sont déployés comme des briques de stockage, chaque serveur exécutant un daemon glusterfsd qui exporte un système de fichier local comme un «volume».
Le processus client glusterfs, se connecte aux serveurs avec un protocole spécifique (implémenté au-dessus de TCP/IP, InfiniBand ou SDP) et regroupe les volumes distants en un unique volume.

gluster

* Évolutivité et performance :


L'architecture scale-out permet d'agréger des ressources en fonction des besoins de capacité et de performance sans interruption. Gluster permet également un rééquilibrer de la charge après ajout ou suppression des serveurs de données. La fonction Gluster Elastic Hash supprime la nécessité d'un serveur de métadonnées et élimine donc un goulot d'étranglement au travers d'une réelle parallélisation des accès aux données. (équilibrage de charge)

* Haute Disponibilité :


Les serveurs peuvent être géré en miroir de type RAID-1. Après une panne matérielle, glusterfs reconstruira automatiquement en tache de fond le volume défaillant. Glusterfs n'utilise pas un format propriétaire pour stocker des fichiers sur le disque des serveurs de données.

* Gluster Elastic Hash :


Plutôt que d'utiliser un serveur de métadonnées, Glusterfs utilise un algorithme de hachage afin de localiser les données dans le pool de stockage. Tous les systèmes de stockage du pool ont donc la possibilité de connaître précisément l'emplacement de n'importe quelle données sans avoir besoin d'interroger un autre serveur du pool.

* Gluster Manager Console :


Gluster offre une interface web (Python, Ruby, PHP) avancée afin de permettre la gestion et l'automatisation des différents serveurs de données.