Recherche de site Web

Introduction à GlusterFS (File System) et installation sur RHEL/CentOS et Fedora


Nous vivons dans un monde où les données augmentent de manière imprévisible et où il est nécessaire de stocker ces données, qu'elles soient structurées ou non, de manière efficace. Les systèmes informatiques distribués offrent un large éventail d'avantages par rapport aux systèmes informatiques centralisés. Ici, les données sont stockées de manière distribuée avec plusieurs nœuds comme serveurs.

Le concept de serveur de métadonnées n'est plus nécessaire dans un système de fichiers distribué. Dans les systèmes de fichiers distribués, il offre un point de vue commun de tous les fichiers répartis sur différents serveurs. Les fichiers/répertoires sur ces serveurs de stockage sont accessibles de manière normale.

Par exemple, les autorisations pour les fichiers/répertoires peuvent être définies comme dans le modèle d'autorisation système habituel, c'est-à-dire le propriétaire, le groupe et autres. L'accès au système de fichiers dépend essentiellement de la façon dont le protocole particulier est conçu pour fonctionner sur celui-ci.

Qu’est-ce que GlusterFS ?

GlusterFS est un système de fichiers distribué défini pour être utilisé dans l'espace utilisateur, c'est-à-dire le système de fichiers dans l'espace utilisateur (FUSE). Il s'agit d'un système de fichiers logiciel qui possède sa propre fonctionnalité de flexibilité.

Regardez la figure suivante qui représente schématiquement la position de GlusterFS dans un modèle hiérarchique. Par défaut, le protocole TCP sera utilisé par GlusterFS.

Avantages de GlusterFS

  1. Innovation – Elle élimine les métadonnées et peut considérablement améliorer les performances, ce qui nous aidera à unifier les données et les objets.
  2. Élasticité – Adaptée à la croissance et à la réduction de la taille des données.
  3. Échelle linéaire : sa disponibilité s'étend jusqu'à plusieurs pétaoctets et au-delà.
  4. Simplicité – Il est facile à gérer et indépendant du noyau tout en s'exécutant dans l'espace utilisateur.

Qu'est-ce qui rend Gluster exceptionnel parmi les autres systèmes de fichiers distribués ?

  1. Vendable – L’absence de serveur de métadonnées permet d’obtenir un système de fichiers plus rapide.
  2. Abordable – Il se déploie sur du matériel standard.
  3. Flexible – Comme je l'ai dit plus tôt, GlusterFS est un système de fichiers uniquement logiciel. Ici, les données sont stockées sur des systèmes de fichiers natifs comme ext4, xfs, etc.
  4. Open Source – Actuellement, GlusterFS est géré par Red Hat Inc, une société open source valant un milliard de dollars, dans le cadre de Red Hat Storage.

Concepts de stockage dans GlusterFS

  1. Brick – Brick est essentiellement n'importe quel répertoire destiné à être partagé entre le pool de stockage approuvé.
  2. Trusted Storage Pool : il s'agit d'un ensemble de fichiers/répertoires partagés, basés sur le protocole conçu.
  3. Stockage en bloc : il s'agit de dispositifs par lesquels les données sont déplacées entre les systèmes sous forme de blocs.
  4. Cluster – Dans Red Hat Storage, le cluster et le pool de stockage approuvé véhiculent la même signification de collaboration de serveurs de stockage basée sur un protocole défini.
  5. Système de fichiers distribué : système de fichiers dans lequel les données sont réparties sur différents nœuds où les utilisateurs peuvent accéder au fichier sans connaître l'emplacement réel du fichier. L’utilisateur ne ressent pas la sensation d’un accès à distance.
  6. FUSE – Il s'agit d'un module de noyau chargeable qui permet aux utilisateurs de créer des systèmes de fichiers au-dessus du noyau sans impliquer aucun code du noyau.
  7. glusterd – glusterd est le démon de gestion GlusterFS qui est l'épine dorsale du système de fichiers qui fonctionnera tout le temps chaque fois que les serveurs sont en état actif.
  8. POSIX – Portable Operating System Interface (POSIX) est la famille de normes définies par l'IEEE comme solution à la compatibilité entre les variantes d'Unix sous la forme d'une interface programmable d'application (API).
  9. RAID – Redundant Array of Independent Disks (RAID) est une technologie qui offre une fiabilité de stockage accrue grâce à la redondance.
  10. Sous-volume – Une brique après avoir été traitée par au moins un traducteur.
  11. Traducteur – Un traducteur est ce morceau de code qui effectue les actions de base initiées par l'utilisateur à partir du point de montage. Il connecte un ou plusieurs sous-volumes.
  12. Volume – Un volume est une collection logique de briques. Toutes les opérations sont basées sur les différents types de volumes créés par l'utilisateur.
Différents types de volumes

Les représentations de différents types de volumes et les combinaisons entre ces types de volumes de base sont également autorisées, comme indiqué ci-dessous.

Volume répliqué distribué

Représentation d'un volume distribué-répliqué.

Installation de GlusterFS dans RHEL/CentOS et Fedora

Dans cet article, nous installerons et configurerons GlusterFS pour la première fois pour une haute disponibilité du stockage. Pour cela, nous prenons deux serveurs pour créer des volumes et répliquer les données entre eux.

Étape :1 Avoir au moins deux nœuds

  1. Installez CentOS 6.5 (ou tout autre système d'exploitation) sur deux nœuds.
  2. Définissez les noms d'hôtes nommés « server1 » et « server2 ».
  3. Une connexion réseau fonctionnelle.
  4. Disque de stockage sur les deux nœuds nommé « /data/brick ».

Étape 2 : Activer le référentiel EPEL et GlusterFS

Avant d'installer GlusterFS sur les deux serveurs, nous devons activer les référentiels EPEL et GlusterFS afin de satisfaire les dépendances externes. Utilisez le lien suivant pour installer et activer le référentiel epel sous les deux systèmes.

  1. Comment activer le référentiel EPEL dans RHEL/CentOS

Ensuite, nous devons activer le référentiel GlusterFs sur les deux serveurs.

# wget -P /etc/yum.repos.d http://download.gluster.org/pub/gluster/glusterfs/LATEST/EPEL.repo/glusterfs-epel.repo

Étape 3 : Installation de GlusterFS

Installez le logiciel sur les deux serveurs.

# yum install glusterfs-server

Démarrez le démon de gestion GlusterFS.

# service glusterd start

Vérifiez maintenant l'état du démon.

# service glusterd status
Exemple de sortie
service glusterd start
  service glusterd status
  glusterd.service - LSB: glusterfs server
   	  Loaded: loaded (/etc/rc.d/init.d/glusterd)
  	  Active: active (running) since Mon, 13 Aug 2012 13:02:11 -0700; 2s ago
  	 Process: 19254 ExecStart=/etc/rc.d/init.d/glusterd start (code=exited, status=0/SUCCESS)
  	  CGroup: name=systemd:/system/glusterd.service
  		  ├ 19260 /usr/sbin/glusterd -p /run/glusterd.pid
  		  ├ 19304 /usr/sbin/glusterfsd --xlator-option georep-server.listen-port=24009 -s localhost...
  		  └ 19309 /usr/sbin/glusterfs -f /var/lib/glusterd/nfs/nfs-server.vol -p /var/lib/glusterd/...

Étape 4 : Configurer SELinux et iptables

Ouvrez « /etc/sysconfig/selinux » et modifiez SELinux en mode « permissif » ou « désactivé » sur les deux serveurs. Enregistrez et fermez le fichier.

# This file controls the state of SELinux on the system.
SELINUX= can take one of these three values:
    enforcing - SELinux security policy is enforced.
    permissive - SELinux prints warnings instead of enforcing.
    disabled - No SELinux policy is loaded.
SELINUX=disabled
SELINUXTYPE= can take one of these two values:
    targeted - Targeted processes are protected,
    mls - Multi Level Security protection.
SELINUXTYPE=targeted

Ensuite, videz les iptables dans les deux nœuds ou devez autoriser l'accès à l'autre nœud via iptables.

# iptables -F

Étape 5 : configurer le pool de confiance

Exécutez la commande suivante sur « Serveur1 ».

gluster peer probe server2

Exécutez la commande suivante sur « Serveur2 ».

gluster peer probe server1

Remarque : Une fois ce pool connecté, seuls les utilisateurs de confiance peuvent sonder de nouveaux serveurs dans ce pool.

Étape 6 : Configurer un volume GlusterFS

Sur le server1 et le server2.

# mkdir /data/brick/gv0

Créez un volume sur n'importe quel serveur et démarrez le volume. Ici, j'ai pris « Serveur1 ».

# gluster volume create gv0 replica 2 server1:/data/brick1/gv0 server2:/data/brick1/gv0
gluster volume start gv0

Ensuite, confirmez l'état du volume.

# gluster volume info

Remarque : Si le volume In-Case n'est pas démarré, les messages d'erreur sont enregistrés sous '/var/log/glusterfs' sur un ou les deux serveurs.

Étape 7 : Vérifier le volume GlusterFS

Montez le volume dans un répertoire sous « /mnt ».

# mount -t glusterfs server1:/gv0 /mnt

Vous pouvez désormais créer et modifier des fichiers sur le point de montage sous la forme d'une vue unique du système de fichiers.

Caractéristiques de GlusterFS

  1. Auto-réparation – Si l'une des briques d'un volume répliqué est en panne et que les utilisateurs modifient les fichiers dans l'autre brique, le démon d'auto-réparation automatique entrera en action dès que la brique sera active. le temps et les transactions survenues pendant le temps d’arrêt sont synchronisées en conséquence.
  2. Rééquilibrer – Si nous ajoutons une nouvelle brique à un volume existant, où résidait auparavant une grande quantité de données, nous pouvons effectuer une opération de rééquilibrage pour répartir les données entre toutes les briques, y compris la brique nouvellement ajoutée.
  3. Géo-réplication – Il fournit des sauvegardes de données pour la reprise après sinistre. Voici le concept de volumes maître et esclave. De sorte que si le maître est en panne, l'ensemble des données est accessible via l'esclave. Cette fonctionnalité est utilisée pour synchroniser les données entre des serveurs géographiquement séparés. L'initialisation d'une session de géo-réplication nécessite une série de commandes gluster.

Voici la capture d'écran suivante qui montre le module de géo-réplication.

Liens de référence

Page d'accueil de GlusterFS

C'est tout pour l'instant !. Restez à jour pour la description détaillée des fonctionnalités telles que l'auto-guérison et le rééquilibrage, la géo-réplication, etc. dans mes prochains articles.

Articles connexes: