Tutoriel : Cluster de stockage Linux avec haute disponibilité

Situation initiale :

L’administrateur en charge du Datacenter souhaite optimiser au maximum les anciens serveurs qui ont été remplacés par de plus récents.  Il a entendu parler d’un certain projet « Gluster » qui permettrait de mettre en oeuvre un cluster à haute disponibilité sans avoir besoin de machines performantes. Il va alors mettre en place ce système de fichier, Glusterfs, afin de pouvoir créer un cluster qui aura une tolérance de panne avec une configuration du volume RAID10.

 

cluster glusterfs

A savoir : chaque machine du cluster est appelé un Node (noeud).

Présentation

GlusterFS est un logiciel open source distribué sous licence GPLv3. Ce logiciel implémente un système de fichiers distribué, répliqué, configurable capable de monter en capacité jusqu’à plusieurs pétaoctets sur du matériels usuels. GlusterFS est basé sur une architecture client-serveur où chaque serveur est une “ brique de stockage ”. Un volume de stockage est formé par l’ensemble de ces briques mis à disposition à travers un réseau. Les postes clients peuvent se connecter au cluster de stockage, à l’aide d’un client GlusterFS où par d’autres protocoles tel que CIFS ou NFS

Déroulement de l’activité

  • Installation de Glusterfs sur les 5 machines
  • Configuration du volume en RAID1
  • Test de disponibilité

Pré-requis :

Télécharger la dernière version sur le site officiel : télécharger glusterfs Lien vers la documentation technique officielle (PDF en anglais) : Guide de l’administrateur

Installer les paquets :

[root@ ~ ]# rpm –Uvh gluster*.rpm

Ensuite, charger les configurations :

[root@ ~ ]# modprobe fuse

Démarrer le service glusterd :

[root@ ~ ]# /etc/init.d/glusterd start

Créer le dossier qui servira pour stocker les données du volume du cluster :

[root@ ~ ]# mkdir donnees | mkdir –p donnees

Ensuite, Ajouter chaque serveur au pool de confiance de stockage avec la commande : 

[root@ ~ ]# gluster peer probe nom_machine Probe successful

Une fois cette action réalisé sur l’ensemble des serveurs composant le cluster nous avons agrégé les serveurs et ils peuvent « dialoguer » entre eux.

Nous allons nous intéresser aux différents volumes possible de configuré pour notre cluster :

Il y a différents « type » de volume :

  • Striped : correspond à un découpage du fichier en plusieurs parties et stocker dans différents disques.
  • Distributed : répartie les fichiers entrants en fonction de l’espace disque libre sur chaque disque. Permet un équilibre du volume de données entre les nodes.
  • Réplicated : effectue une copie identitque du fichier

Les volumes peuvent être combinés :

  • Replica-striped : Tolérance de panne + performance en lecture et écriture ! Equivaut au RAID 10.
  • Replica-distributed : Tolérance de panne mais faible performance en lecture et écriture. Equivaut au Raid 1 dit mirroring avec répartition de charge.
  • Distributed-striped : Pas de tolérance de panne , juste une performance en lecture et écriture améliorée combiné à une répartition en fonction de l’espace disque libre.

Créer le volume du cluster à partir de n’importe quel node :

Nous allons le nommer « test », de type ‘replicated-striped’pour avoir un cluster en RAID 10

[root@ ~ ]# gluster volume create test  stipe 2 replica 2 ip_machine1:/donnees  ip_machine2:/donnes ip_machine3:/donnes ip_machine4:/donnes

Creation of test has been successful 

Puis démarrer le volume :

[root@ ~ ]# gluster volume start test

Starting test has been successful

Nous pouvons vérifier les caractéristiques du volume test avec la commande :

[root@ ~ ]# gluster volume status test

Sur la machine cliente nous avons aussi installé auparavant les différents paquets de glusterfs, nous avons charger le module « modprobe fuse » et nous avons aussi créer le dossier « données » qui servira à accéder au volume.

Pour cela nous créer le point de montage comme ceci :

[root@client ~ ]# mount –t glusterfs ip_machine2:/donnees /donnes/

Successful

Pour vérifier que la configuration du point de montage a bien été pris en compte on tape la commande « df-h »

Ensuite, à partir de là vous pouvez tester que le cluster est fonctionnel en copiant des fichiers en destination du point de montage sur le poste client :

dd if=/dev/zero of=~/donnees/test bs=1M count=10

Vous pouvez tester la haute disponibilité du cluster en simulant une panne sur la machine qui nous a servi de faire le point de montage. Eteigner cette machine et vous verrez que les données sont toujours accessible.

Si vous avez des problèmes, vérifiez que votre parefeu ne bloque pas les échanges entre machines. Vérifiez que l’heure de chaque machine soit identique afin que le cluster soit synchronisé à la seconde.

 

Situation finale :

L’administrateur a réussi à recycler les 4 anciens serveurs de la société en les intégrant dans un cluster à haute disponibilité.

 

Télécharger la documentation technique :

Doc routage avec ACL

 

Télécharger la version rédigée , PTI BTS IG ARLE :

PTI routage acl

Si vous avez des questions n’hésitez pas à laisser un commentaire

4 commentaires

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *