GNU/Linux >> Tutoriels Linux >  >> Linux

Ajouter et supprimer des serveurs GlusterFS

Cet article décrit comment ajouter et supprimer des serveurs GlusterFS de votre baie de serveurs.

Créer un nouveau serveur

Utiliser le nova boot commande de l'article précédent pour créer un serveur appelé web3 :

nova boot --image bb02b1a3-bc77-4d17-ab5b-421d89850fca --flavor performance1-4 web3

Vous pouvez également utiliser le panneau de configuration Rackspace Cloud pour créer le nouveau serveur.

Ajouter le serveur au réseau personnalisé Rackspace

Dans l'article précédent, vous avez ajouté un réseau personnalisé Rackspace.

  1. Obtenez l'identifiant unique universel (UUID) du réseau en utilisant le nova suivant commande :

    nova network-list
    
  2. Une fois que vous avez l'UUID, associez-lui le nouvel hôte.

    Remplacer UUID dans la commande suivante avec l'UUID réel (par exemple, 5492de89-1497-4aa0-96eb-bcdd55e1195c1 ). web03 est le nom d'hôte du serveur que vous souhaitez ajouter.

    nova network-associate-host UUID web03
    

Vous pouvez également utiliser le panneau Rackspace Cloud Control pour associer un serveur à votre réseau existant.

Lorsque vous avez terminé, le nouveau serveur doit avoir l'adresse IP 192.168.0.3 sur l'interface /dev/eth3 . C'est l'adresse que GlusterFS utilise pour communiquer avec l'autre serveur.

Formater la partition et installer GlusterFS

Utilisez les étapes suivantes pour formater la partition du serveur et installer GlusterFS :

  1. Utilisez Secure Shell (SSH) pour vous connecter au serveur.

  2. En suivant les instructions de l'article précédent, installez GlusterFS et formatez les bricks partitionner comme suit :

    apt-get update
    apt-get install -y glusterfs-server glusterfs-client
    apt-get install -y xfsprogs
    mkfs.xfs /dev/xvde1
    mkdir /srv/.bricks
    echo /dev/xvde1 /srv/.bricks xfs rw 0 1 >> /etc/fstab
    mount /srv/.bricks
    ufw allow in on eth2
    

Incorporer la nouvelle brique dans le volume Gluster

  1. Utilisez SSH pour vous connecter à web01 ou web02 .

  2. La commande suivante indique au volume GlusterFS de faire confiance au nouveau serveur :

    root@web02 :~# gluster peer probe 192.168.0.3
    peer probe: success
    
  3. Ajoutez la brique dans le volume en utilisant les commandes suivantes :

    root@web02 :~# gluster volume add-brick www replica 3 192.168.0.3:/srv/.bricks/www
    volume add-brick: success
    

La commande comprend les parties suivantes :

  • gluster - La commande est pour GlusterFS.
  • volume - La commande est liée à un volume.
  • add-brick - Vous ajoutez une brique au volume.
  • www - C'est le nom du volume.
  • replica 3 - Après avoir ajouté cette brique, le volume conserve au moins trois copies de chaque fichier, une copie par brique, et dans ce cas, une copie par serveur (car il n'y a qu'une seule brique sur chaque serveur).
  • 192.168.0.3:/srv/.bricks/www - Cette partie de la commande est l'adresse IP du serveur Gluster, suivie du chemin absolu vers l'endroit où les données de la brique sont stockées.

Stratégies de stockage de volume

GlusterFS propose les types de stratégies de stockage de volume suivants :

  • Distribué - Un fichier est sur une brique et le fichier suivant est sur la brique suivante. Cette stratégie vous donne plus d'espace car votre volume est la somme de toutes les briques.
  • Répliqué (Recommandé ) - Chaque fichier est copié sur chaque serveur.
  • Rayé - Les fichiers sont découpés en morceaux, et un morceau est écrit sur la première brique, un morceau est écrit sur la deuxième brique, et ainsi de suite.

Vous pouvez également combiner des stratégies, par exemple répliquées et distribuées, comme illustré dans l'exemple suivant :

gluster volume create www replica 2 transport tcp
192.168.0.1:/srv/.bricks/www 192.168.0.2:/srv/.bricks/www
192.168.0.3:/srv/.bricks/www 192.168.0.4:/srv/.bricks/www

Le numéro de réplique est le nombre de briques qui composent un jeu de répliques, c'est-à-dire qui contiennent une copie complète des fichiers. Dans l'exemple précédent 192.168.0.1 et 192.168.0.2 détenir une copie complète des fichiers, comme le font 192.168.0.3 et 192.168.0.4 . L'ordre des briques est important. Si vous l'avez commandé 1,3,2,4, alors 1 et 3 et 2 et 4 contiendraient les fichiers complets. Si 1 et 2 tombaient en panne, vous perdriez la moitié de vos fichiers et auriez deux copies de l'autre moitié.

La combinaison d'un volume répliqué et distribué vous donne un peu plus de vitesse et plus d'espace en échange de la sécurité des données.

Une combinaison de volumes entrelacés et répliqués est recommandée uniquement lorsque vous avez des fichiers plus gros qu'une brique ou de nombreux fichiers volumineux qui subissent de nombreuses opérations d'E/S.

Afficher l'état des serveurs

Les commandes suivantes vous aident à en savoir plus sur ce qui se passe dans votre cluster. Vous utiliserez ces commandes dans les articles ultérieurs de GlusterFS.

statut de pair

Si vous exécutez la commande suivante à partir de n'importe quel serveur, elle affiche tous les serveurs homologues qu'elle connaît :

root@web01:~# gluster peer status
Number of Peers: 2

Hostname: 192.168.0.3
Uuid: ba502dc2-447f-466a-a732-df989e71b551
State: Peer in Cluster (Connected)

Hostname: 192.168.0.2
Uuid: 56e02356-d2c3-4787-ae25-6b46e867751a
State: Peer in Cluster (Connected)

état du volume

La commande suivante est une commande de dépannage utile. Il donne des informations sur tous les volumes et tâches GlusterFS en file d'attente et en cours.

root@web03:~# gluster volume status
Status of volume: www
Gluster process						Port	Online	Pid
------------------------------------------------------------------------------
Brick 192.168.0.2:/srv/.bricks/www			49152	Y	13673
Brick 192.168.0.1:/srv/.bricks/www			49152	Y	10249
Brick 192.168.0.3:/srv/.bricks/www			49153	Y	13783
NFS Server on localhost					2049	Y	13793
Self-heal Daemon on localhost				N/A	Y	13800
NFS Server on 192.168.0.2				2049	Y	13900
Self-heal Daemon on 192.168.0.2				N/A	Y	13907
NFS Server on 192.168.0.1				2049	Y	10286
Self-heal Daemon on 192.168.0.1				N/A	Y	10293

There are no active volume tasks

Retirer une brique

Vous pouvez réduire les volumes selon vos besoins pendant que le cluster est en ligne et disponible. Utilisez la commande suivante pour supprimer une brique :

# gluster volume remove-brick <volName> <brickName> start

Exécution de remove-brick avec le start déclenche automatiquement une opération de rééquilibrage pour migrer les données des briques supprimées vers le reste du volume.

L'exemple suivant supprime la brique 2 :

root@web01:~# gluster volume remove-brick www replica 2 192.168.0.2:/srv/.bricks/www start
Removing brick(s) can result in data loss. Do you want to Continue? (y/n) y
volume remove-brick commit force: success

Cette commande indique à GlusterFS que le www volume ne conservera désormais que 2 copies de chaque fichier. Il vous avertit que vous risquez de perdre des données et vous invite à continuer.

Si vous souhaitez supprimer une brique sur un volume distribué, vous devez plutôt exécuter la commande suivante :

root@web01:~# gluster volume remove-brick www 192.168.0.2:/srv/.bricks/www start

Vous pouvez voir l'état de la remove-brick opération à l'aide de la commande suivante :

root@web01:~# watch gluster volume remove-brick www replica 2 192.168.0.2:/srv/.bricks/www status

Rajouter une brique

Cette section explique comment rajouter une brique.

Essayez de rajouter web02 dans le volume, comme suit :

root@web02:~# gluster volume add-brick www replica 3 192.168.0.2:/srv/.bricks/www
volume add-brick: failed:

Ça a échoué. Consultez les journaux sur web02 pour voir pourquoi la commande a échoué :

root@web02:/srv/.bricks# tail /var/log/glusterfs/*log -f | grep E
[2014-05-25 00:19:04.954410] I [input.c:36:cli_batch] 0-: Exiting with: 0
[2014-05-25 00:19:12.958620] I [input.c:36:cli_batch] 0-: Exiting with: 0
[2014-05-25 00:40:46.923747] E [glusterd-utils.c:5377:glusterd_is_path_in_use] 0-management: /srv/.bricks/www or a prefix of it is already part of a volume
[2014-05-25 00:40:46.923789] E [glusterd-op-sm.c:3719:glusterd_op_ac_stage_op] 0-management: Stage failed on operation 'Volume Add brick', Status : -1

Le problème est que /srv/.bricks/www contient toujours les données de l'époque où web02 était membre du volume.

Vous avez besoin d'un endroit propre pour stocker les données. Le moyen le plus simple de nettoyer consiste simplement à supprimer toutes les données à l'aide de la commande suivante :

root@web02:~# rm -rf /srv/.bricks/www

Avertissement :Veillez à effectuer cette action sur le bon hôte (web02, qui est actuellement hors volume). Si vous faites une erreur, le prochain article vous montre comment récupérer. Les actions alternatives consistent à déplacer le www répertoire à l'écart, ou pour ajouter la brique en utilisant un autre répertoire, tel que www2 .

Maintenant que vous disposez d'un emplacement propre pour stocker la brique, l'ajout de la brique est réussi :

root@web01:/srv# gluster volume add-brick www replica 3 192.168.0.2:/srv/.bricks/www
volume add-brick: success

Étapes suivantes

  • Comment récupérer d'un serveur défaillant dans une baie GlusterFS

Linux
  1. Xorg, X11, Wayland ? Serveurs d'affichage Linux et protocoles expliqués

  2. Comment ajouter et supprimer des domaines dans Plesk

  3. Ajouter et supprimer des rôles et des fonctionnalités sur Windows Server

  4. FAQ sur les serveurs cloud

  5. Nouvelles fonctionnalités dans les serveurs cloud à usage général et optimisés pour le travail

Comment ajouter et supprimer des enregistrements A dans cPanel ?

Comment ajouter et supprimer des enregistrements MX dans cPanel ?

Comment ajouter et supprimer des enregistrements TXT dans cPanel ?

30 outils et services intéressants pour surveiller vos serveurs Linux

Comment ajouter un site Web dans cPanel et WHM sur CentOS 6.7

Comment ajouter la prise en charge de PHP-FPM sur Apache et Nginx Web Server sur Ubuntu 18.04