GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment configurer le stockage GlusterFS sur CentOS 7 / RHEL 7

GlusterFS est une solution gratuite et open source de stockage de fichiers et d'objets qui peut être utilisée sur les serveurs physiques, virtuels et cloud sur le réseau. Le principal avantage de GlusterFS est que nous pouvons augmenter ou réduire le stockage jusqu'à plusieurs pétaoctets sans aucun temps d'arrêt, il fournit également la redondance et la haute disponibilité du stockage.

Où utiliser GluserFS… ?

Le stockage basé sur GllusterFS peut être utilisé sur des serveurs physiques, virtuels et cloud sur le réseau.

Il peut également être utilisé dans les entreprises où elles ont l'habitude de fournir du contenu multimédia ou autre aux internautes et doivent traiter des centaines de téraoctets de fichiers.

GlusterFS peut également être utilisé comme stockage d'objets dans le cloud privé et public.

Différentes terminologies utilisées dans le stockage GlusterFS :

  • Groupe de stockage de confiance  :Il s'agit d'un groupe de plusieurs serveurs qui se font confiance et forment un cluster de stockage.
  • Nœud  :Un nœud est un serveur de stockage qui participe à un pool de stockage de confiance
  • Brique  :Une brique est un système de fichiers XFS basé sur LVM (inodes de 512 octets) monté sur un dossier ou un répertoire.
  • Volume :Un volume est un système de fichiers qui est présenté ou partagé aux clients sur le réseau. Un volume peut être monté à l'aide des méthodes glusterfs, nfs et smbs.
Différents types de Volumes configurables avec GlusterFS :
  • Distribuer les volumes :C'est le volume par défaut qui est créé lorsqu'aucune option n'est spécifiée lors de la création du volume. Dans ce type de volume, les fichiers seront répartis sur les briques à l'aide d'un algorithme de hachage élastique
  • Répliquer les volumes  :Comme son nom l'indique, dans ce type de volume, les fichiers seront répliqués ou mis en miroir sur les briques. En d'autres termes, un fichier écrit dans une brique sera également répliqué sur une autre brique.
  • Volumes rayés : Dans ce type de volume, les fichiers plus volumineux sont coupés ou divisés en morceaux, puis répartis sur les briques.
  • Distribuer des volumes répliqués  :Comme son nom l'indique dans le type de volume, les fichiers seront d'abord distribués entre les briques, puis seront répliqués sur différentes briques.

Bien que d'autres combinaisons puissent être essayées pour former différents volumes comme la réplication par bandes.

Dans cet article, je vais montrer comment configurer GlusterFS Storage sur RHEL 7.x et CentOS 7.x. Dans mon cas, je prends quatre serveurs RHEL 7 / CentOS 7 avec une installation minimale et en supposant qu'un disque supplémentaire est connecté à ces serveurs pour la configuration de glutesfs.

  • serveur1.exemple.com (192.168.43.10 )
  • serveur2.exemple.com ( 192.168.43.20 )
  • serveur3.exemple.com ( 192.168.43.30 )
  • serveur4.exemple.com ( 192.168.43.40 )

Ajoutez les lignes suivantes dans le fichier /etc/hosts au cas où vous auriez votre propre serveur DNS.

192.168.43.10 serveur1.exemple.com serveur1192.168.43.20 serveur2.exemple.com serveur2192.168.43.30 serveur3.exemple.com serveur3192.168.43.40 serveur4.exemple.com serveur4

Installez les packages de serveur Glusterfs sur tous les serveurs.

Les packages Glusterfs ne sont pas inclus dans les référentiels centos et RHEL par défaut, nous allons donc configurer le référentiel gluster et le référentiel EPEL. Exécutez les commandes suivantes l'une après l'autre sur les 4 serveurs.

~]# yum install wget~]# yum install centos-release-gluster -y~]#yum install epel-release -y~]# yum install glusterfs-server -y

Démarrez et activez le service GlusterFS sur les quatre serveurs.

~]# systemctl start glusterd~]# systemctl enable glusterd

Autorisez les ports dans le pare-feu afin que les serveurs puissent communiquer et former un cluster de stockage (pool approuvé). Exécutez les commandes ci-dessous sur les 4 serveurs.

~]# firewall-cmd --zone=public --add-port=24007-24008/tcp --permanent~]# firewall-cmd --zone=public --add-port=24009/tcp -- permanent~]# firewall-cmd --zone=public --add-service=nfs --add-service=samba --add-service=samba-client --permanent~]# firewall-cmd --zone=public - -add-port=111/tcp --add-port=139/tcp --add-port=445/tcp --add-port=965/tcp --add-port=2049/tcp --add-port=38465-38469/tcp --add-port=631/tcp --add-port=111/udp --add-port=963/udp --add-port=49152-49251/tcp --permanent~]# pare-feu -cmd --reload

Configuration du volume de distribution :

Je vais former un pool de stockage de confiance composé du serveur 1 et du serveur 2 et créer des briques dessus, puis créer un volume distribué. Je suppose également qu'un disque brut de 16 Go (/dev/sdb) est alloué aux deux serveurs.

Exécutez la commande ci-dessous à partir de la console du serveur 1 pour former un pool de stockage approuvé avec le serveur 2.

[[email protected] ~]# gluster peer probe server2.example.compeer probe :success.[[email protected] ~]#

Nous pouvons vérifier le statut du pair en utilisant la commande ci-dessous :

[[email protected] ~]# gluster peer statusNumber of Peers :1Hostname :server2.example.comUuid :9ef0eff2-3d96-4b30-8cf7-708c15b9c9d0State :Peer in Cluster (Connected)[[email protected] ~]# 

Créer une brique sur le serveur 1

Pour créer une brique, nous devons d'abord configurer des volumes logiques de provisionnement sur le disque brut (/dev/sdb).

Exécutez les commandes suivantes sur le serveur 1

[[email protected] ~]# pvcreate /dev/sdb /dev/vg_bricks/dist_brick1 /bricks/dist_brick1 xfs rw,noatime,inode64,nouuid 1 2[[email protected] ~]# vgcreate vg_bricks /dev/sdb [[email protected] ~]# lvcreate -L 14G -T vg_bricks/brickpool1

Dans la commande ci-dessus, brickpool1 est le nom du thin pool.

Créez maintenant un volume logique de 3 Go

[[email protected] ~]# lvcreate -V 3G -T vg_bricks/brickpool1 -n dist_brick1

Formatez maintenant le volume logique à l'aide du système de fichiers xfs

[[email protected] ~]# mkfs.xfs -i size=512 /dev/vg_bricks/dist_brick1[[email protected] ~]# mkdir -p /bricks/dist_brick1

Montez la brique à l'aide de la commande mount

[[email protected] ~]# monter /dev/vg_bricks/dist_brick1 /bricks/dist_brick1/

Pour le monter définitivement ajouter la ligne suivante dans /etc/fsatb

/dev/vg_bricks/dist_brick1 /bricks/dist_brick1 xfs rw,noatime,inode64,nouuid 1 2

créer un répertoire avec brick sous le point de montage

[[email protected] ~]# mkdir /bricks/dist_brick1/brick

De même, exécutez l'ensemble de commandes suivant sur le serveur 2

[[email protected] ~]# pvcreate /dev/sdb; vgcreate vg_bricks /dev/sdb[[email protected] ~]# lvcreate -L 14G -T vg_bricks/brickpool2[[email protected] ~]# lvcreate -V 3G -T vg_bricks/brickpool2 -n dist_brick2[[email protected] ~] # mkfs.xfs -i size=512 /dev/vg_bricks/dist_brick2[[email protected] ~]# mkdir -p /bricks/dist_brick2[[email protected] ~]# mount /dev/vg_bricks/dist_brick2 /bricks/dist_brick2/ [[email protected] ~]# mkdir /bricks/dist_brick2/brick

Créez un volume distribué à l'aide de la commande gluster ci-dessous :

[[email protected] ~]# volume gluster créer distvol server1.example.com:/bricks/dist_brick1/brick server2.example.com:/bricks/dist_brick2/brick[[email protected] ~]# démarrage du volume gluster distvolvolume start :distvol :succès[[email protected] ~]#

Vérifiez l'état du volume à l'aide de la commande suivante :

[[email protected] ~]# distribution d'informations sur le volume de gluster

Monter le volume de distribution sur le client :

Avant de monter le volume à l'aide de glusterfs, nous devons d'abord nous assurer que le package glusterfs-fuse est installé sur le client. Assurez-vous également d'ajouter les entrées du serveur de stockage gluster dans le fichier /etc/hosts au cas où vous n'auriez pas de serveur DNS local.

Connectez-vous au client et exécutez la commande ci-dessous à partir de la console pour installer glusterfs-fuse

[[email protected] ~]# yum install glusterfs-fuse -y

Créer un montage pour distribuer le volume :

[[email protected] ~]# mkdir /mnt/distvol

Montez maintenant le ‘distvol ' en utilisant la commande de montage ci-dessous :

[[email protected] ~]# mount -t glusterfs -o acl server1.example.com:/distvol /mnt/distvol/

Pour un montage permanent, ajoutez l'entrée ci-dessous dans le fichier /etc/fstab

server1.example.com :/distvol   /mnt/distvol    glusterfs     _netdev    0 0

Exécutez la commande df pour vérifier l'état de montage du volume.

Maintenant, commencez à accéder au volume "distvol

Répliquer la configuration du volume :

Pour la configuration du volume répliqué, je vais utiliser le serveur 3 et le serveur 4 et je suppose qu'un disque supplémentaire (/dev/sdb ) pour glusterfs est déjà attribué aux serveurs. Reportez-vous aux étapes suivantes :

Ajouter le serveur 3 et le serveur 4 dans le pool de stockage approuvé

[[email protected] ~]# gluster peer probe server3.example.compeer probe:success.[[email protected] ~]# gluster peer probe server4.example.compeer probe:success.[[email protected] ~] #

Créez et montez la brique sur le serveur 3. Exécutez les commandes ci-dessous l'une après l'autre.

[[email protected] ~]# pvcreate /dev/sdb; vgcreate vg_bricks /dev/sdb[[email protected] ~]# lvcreate -L 14G -T vg_bricks/brickpool3[[email protected] ~]# lvcreate -V 3G -T vg_bricks/brickpool3 -n shadow_brick1[[email protected] ~] # mkfs.xfs -i size=512 /dev/vg_bricks/shadow_brick1[[email protected] ~]# mkdir -p /bricks/shadow_brick1[[email protected] ~]# mount /dev/vg_bricks/shadow_brick1 /bricks/shadow_brick1/ [[email protected] ~]# mkdir /bricks/shadow_brick1/brick

Faites l'entrée ci-dessous dans le fichier /etc/fstab pour le montage permanent de la brique :

/dev/vg_bricks/shadow_brick1 /bricks/shadow_brick1/ xfs rw,noatime,inode64,nouuid 1 2

De même effectuez les mêmes étapes sur le serveur 4 pour créer et monter la brique :

[[email protected] ~]# pvcreate /dev/sdb; vgcreate vg_bricks /dev/sdb[[email protected] ~]# lvcreate -L 14G -T vg_bricks/brickpool4[[email protected] ~]# lvcreate -V 3G -T vg_bricks/brickpool4 -n shadow_brick2[[email protected] ~] # mkfs.xfs -i size=512 /dev/vg_bricks/shadow_brick2[[email protected] ~]# mkdir -p /bricks/shadow_brick2[[email protected] ~]# mount /dev/vg_bricks/shadow_brick2 /bricks/shadow_brick2/ [[email protected] ~]# mkdir /bricks/shadow_brick2/brick

Pour le montage permanent de la brique, faites l'entrée fstab.

Créer un volume répliqué en utilisant la commande gluster ci-dessous .

[[email protected] ~]# gluster volume create shadowvol replica 2 server3.example.com:/bricks/shadow_brick1/brick server4.example.com:/bricks/shadow_brick2/brickvolume create:shadowvol:success:please start the volume pour accéder aux données[[email protected] ~]# gluster volume start shadowvolvolume start:shadowvol:success[[email protected] ~]#

Vérifiez les informations de volume à l'aide de la commande gluster ci-dessous :

[[email protected] ~]# gluster volume info shadowvol

Si vous souhaitez accéder à ce volume "shadowvol ” via nfs définir ce qui suit :

[[email protected] ~]# gluster volume set shadowvol nfs.disable off

Montez le volume répliqué sur le client via nfs

Avant de monter, créez d'abord un point de montage.

[[email protected] ~]# mkdir /mnt/shadowvol

Remarque :L'une des limitations du stockage Gluster est que le serveur GlusterFS ne prend en charge que la version 3 du protocole NFS.

Ajoutez l'entrée ci-dessous dans le fichier "/etc/nfsmount.conf " sur les deux serveurs de stockage (serveur 3 et serveur 4)

Par défaut=3

Après avoir fait l'entrée ci-dessus, redémarrez les deux serveurs une fois. Utilisez la commande de montage ci-dessous pour le volume " shadowvol

[[email protected] ~]# mount -t nfs -o vers=3 server4.example.com:/shadowvol /mnt/shadowvol/

Pour un montage permanent, ajoutez l'entrée suivante dans le fichier /etc/fstab

server4.example.com:/shadowvol /mnt/shadowvol/ nfs vers=3 0 0

Vérifiez la taille et l'état de montage du volume :

[[email protected] ~]# df -Th

Configuration du volume de distribution-réplication :

Pour configurer le volume Distribute-Replicate, j'utiliserai une brique de chaque serveur et formerai le volume. Je vais créer le volume logique à partir du pool léger existant sur les serveurs respectifs.

Créez une brique sur les 4 serveurs en utilisant les commandes ci-dessous

Serveur 1

[[email protected] ~]# lvcreate -V 3G -T vg_bricks/brickpool1 -n prod_brick1[[email protected] ~]# mkfs.xfs -i size=512 /dev/vg_bricks/prod_brick1[[email protected] ~]# mkdir -p /bricks/prod_brick1[[email protected] ~]# mount /dev/vg_bricks/prod_brick1 /bricks/prod_brick1/[[email protected] ~]# mkdir /bricks/prod_brick1/brick

Serveur 2

[[email protected] ~]# lvcreate -V 3G -T vg_bricks/brickpool2 -n prod_brick2[[email protected] ~]# mkfs.xfs -i size=512 /dev/vg_bricks/prod_brick2[[email protected] ~]# mkdir -p /bricks/prod_brick2[[email protected] ~]# mount /dev/vg_bricks/prod_brick2 /bricks/prod_brick2/[[email protected] ~]# mkdir /bricks/prod_brick2/brick

 Serveur 3

[[email protected] ~]# lvcreate -V 3G -T vg_bricks/brickpool3 -n prod_brick3[[email protected] ~]# mkfs.xfs -i size=512 /dev/vg_bricks/prod_brick3[[email protected] ~]# mkdir -p /bricks/prod_brick3[[email protected] ~]# mount /dev/vg_bricks/prod_brick3 /bricks/prod_brick3/[[email protected] ~]# mkdir /bricks/prod_brick3/brick

 Serveur 4

[[email protected] ~]# lvcreate -V 3G -T vg_bricks/brickpool4 -n prod_brick4[[email protected] ~]# mkfs.xfs -i size=512 /dev/vg_bricks/prod_brick4[[email protected] ~]# mkdir -p /bricks/prod_brick4[[email protected] ~]# mount /dev/vg_bricks/prod_brick4 /bricks/prod_brick4/[[email protected] ~]# mkdir /bricks/prod_brick4/brick

Créez maintenant un volume avec le nom "dist-rep-vol ” en utilisant la commande gluster ci-dessous :

[[email protected] ~]# gluster volume create dist-rep-vol replica 2 server1.example.com:/bricks/prod_brick1/brick server2.example.com:/bricks/prod_brick2/brick server3.example.com :/bricks/prod_brick3/brick server4.example.com:/bricks/prod_brick4/brick force[[email protected] ~]# gluster volume start dist-rep-vol

Vérifiez les informations de volume à l'aide de la commande ci-dessous :

[[email protected] ~]# gluster volume info dist-rep-vol

Dans ce volume, les premiers fichiers seront distribués sur deux briques quelconques, puis les fichiers seront répliqués dans les deux briques restantes.

Maintenant, montez ce volume sur la machine cliente via gluster

créons d'abord le point de montage pour ce volume :

[[email protected] ~]# mkdir  /mnt/dist-rep-vol[[email protected] ~]# mount.glusterfs server1.example.com:/dist-rep-vol /mnt/dist-rep- vol/

Ajouter ci-dessous l'entrée dans fstab pour une entrée permanente

server1.example.com :/dist-rep-vol /mnt/dist-rep-vol/  glusterfs   _netdev 0 0

Vérifiez la taille et le volume à l'aide de la commande df :

C'est ça. J'espère que vous avez apprécié les étapes de configuration du stockage gluster.


Cent OS
  1. Comment configurer le serveur SysLog sur CentOS 7 / RHEL 7

  2. Comment configurer le serveur NFS sur CentOS 7 / RHEL 7

  3. Comment configurer Icinga Web 2 sur CentOS 7 / RHEL 7

  4. Comment configurer le serveur SVN sur CentOS, RHEL et Fedora

  5. Comment configurer mutt dans CentOS/RHEL

Comment configurer un cluster haute disponibilité sur CentOS 7 / RHEL 7

Installer et configurer GlusterFS sur CentOS 7 / RHEL 7

Comment configurer un Chef 12 sur CentOS 7 / RHEL 7

Comment configurer la connexion sans mot de passe SSH sur CentOS 8 / RHEL 8

Comment configurer le serveur SysLog centralisé sur CentOS 8 / RHEL 8

Comment configurer la réplication MySQL dans RHEL/Centos