Manager, Developer Education
Une version antérieure de ce tutoriel a été écrite par Brennan Bearnes.
Lorsque vous stockez des données critiques, avoir un seul point de défaillance est très risqué. Alors que beaucoup de bases de données et autres logiciels vous permettent de répartir les données dans le contexte d’une seule application, d’autres systèmes peuvent fonctionner au niveau du système de fichiers pour s’assurer que les données sont copiées à un autre endroit chaque fois qu’elles sont écrites sur le disque.
GlusterFS est un système de fichiers de stockage connecté en réseau qui vous permet de mettre en commun les ressources de stockage de plusieurs machines. Cela vous permet de traiter plusieurs périphériques de stockage répartis sur plusieurs ordinateurs comme une seule unité plus puissante. GlusterFS vous donne également la liberté de créer différents types de configurations de stockage, dont beaucoup sont fonctionnellement similaires aux niveaux RAID. Par exemple, vous pouvez répartir les données sur différents nœuds du cluster, ou vous pouvez mettre en place une redondance pour une meilleure disponibilité des données.
Dans ce guide, vous créerez un tableau de stockage redondant en grappe, également connu sous le nom de système de fichiers distribués ou, comme il est mentionné dans la documentation GlusterFS, un pool de stockage fiable. Cela fournira des fonctionnalités similaires à une configuration RAID en miroir sur le réseau : chaque serveur indépendant contiendra sa propre copie des données, ce qui permettra à vos applications d’accéder à l’une ou l’autre des copies, contribuant ainsi à répartir votre charge de lecture.
Ce cluster GlusterFS redondant sera composé de deux serveurs Ubuntu 20.04. I agira comme un serveur NAS avec RAID en miroir. Vous accéderez ensuite au cluster à partir d’un troisième serveur Ubuntu 20.04 configuré pour fonctionner comme client GlusterFS.
Lorsque vous ajoutez des données à un volume GlusterFS, les données sont synchronisées à chaque machine du pool de stockage où le volume est hébergé. Ce trafic entre les nœuds n’est pas crypté par défaut, ce qui signifie qu’il y a un risque qu’il puisse être intercepté par des acteurs malveillants.
Pour cette raison, si vous souhaitez utiliser GlusterFS en production, il est recommandé de l’exécuter sur un réseau isolé. Par exemple, vous pouvez le configurer pour qu’il fonctionne sur un nuage privé virtuel (VPC) ou avec un VPN fonctionnant entre chacun des nœuds.
Si vous prévoyez de déployer GlusterFS sur DigitalOcean, vous pouvez le configurer comme un réseau isolé en ajoutant votre infrastructure de serveur à un nuage privé virtuel DigitalOcean. Pour plus de détails sur la manière de le mettre en place, consultez notre documentation sur les produits VPC.
Pour suivre ce tutoriel, vous aurez besoin de trois serveurs fonctionnant sous Ubuntu 20.04. Chaque serveur doit avoir un utilisateur non root avec des privilèges administratifs et un pare-feu configuré avec UFW. Pour le mettre en place, suivez notre guide de configuration initiale du serveur pour Ubuntu 20.04.
Remarque : Comme mentionné à la section Objectifs, ce tutoriel vous guidera à travers la configuration de deux de vos serveurs Ubuntu pour qu’ils agissent comme des serveurs dans votre pool de stockage et le dernier pour qu’il agisse comme un client que vous utiliserez pour accéder à ces nœuds.
Pour plus de clarté, ce tutoriel fera référence à ces machines avec les noms d’hôte suivants :
Nom d’hôte | Rôle dans le pool de stockage |
---|---|
gluster0 | Serveur |
gluster1 | Serveur |
gluster2 | Client |
Les commandes qui devraient être exécutées sur gluster0 ou gluster1 auront respectivement des arrière-plans bleu et rouge :
-
-
Les commandes qui ne devraient être exécutées que sur le client (gluster2) auront un arrière-plan vert :
-
Les commandes qui peuvent ou devraient être exécutées sur plusieurs machines auront un arrière-plan gris :
-
La mise en place d’une sorte de résolution de nom d’hôte entre chaque ordinateur peut aider à gérer votre pool de stockage Gluster. De cette façon, chaque fois que vous devez référencer une de vos machines dans une commande gluster
plus loin dans ce tutoriel, vous pourrez le faire avec un nom de domaine facile à mémoriser ou même un surnom au lieu de leurs adresses IP respectives.
Si vous n’avez pas de nom de domaine de rechange, ou si vous souhaitez simplement configurer quelque chose rapidement, vous pouvez à la place modifier le fichier /etc/hosts
sur chaque ordinateur. Il s’agit d’un fichier spécial sur les machines Linux où vous pouvez configurer le système de manière statique pour résoudre tous les noms d’hôte contenus dans le fichier en adresses IP statiques.
Remarque : Si vous souhaitez configurer vos serveurs pour qu’ils s’authentifient avec un domaine qui vous appartient, vous devrez d’abord obtenir un nom de domaine à partir d’un registraire de domaine — comme Namecheap ou Enom — et configurer les enregistrements DNS appropriés.
Une fois que vous avez configuré un enregistrement A pour chaque serveur, vous pouvez passer à l’étape 2. En suivant ce guide, assurez-vous de remplacer glusterN.example.com et gluster<^>N<^> par le nom de domaine qui se résout au serveur respectif référencé dans la commande example.
Si vous avez obtenu votre infrastructure auprès de DigitalOcean, vous pouvez ajouter votre nom de domaine à DigitalOcean puis configurer un enregistrement A unique pour chacun de vos serveurs.
À l’aide de votre éditeur de texte préféré, ouvrez ce fichier avec des privilèges root sur chacune de vos machines. Ici, nous utiliserons nano
:
- sudo nano /etc/hosts
Par défaut, le fichier ressemblera à quelque chose comme celui-ci avec les commentaires supprimés :
127.0.1.1 hostname hostname
127.0.0.1 localhost
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
Sur l’un de vos serveurs Ubuntu, ajoutez l’adresse IP de chaque serveur, suivi des noms que vous souhaitez utiliser pour les référencer dans des commandes sous la définition de l’hôte locale.
Dans l’exemple suivant, chaque serveur a un long nom d’hôte qui s’aligne sur glusterN.example.com
et un nom court qui s’aligne sur glusterN
. Vous pouvez changer les portions de glusterN.example.com
et de glusterN
de chaque ligne en n’importe quel nom — ou des noms séparés par des espaces uniques — que vous souhaitez utiliser pour accéder à chaque serveur. Notez, cependant, que ce tutoriel utilisera ces exemples tout au long :
Remarque : Si vos serveurs font partie d’un pool d’infrastructure VPC, vous devez utiliser l’adresse IP privée de chaque serveur dans le fichier /etc/hosts
plutôt que leurs IP publiques.
. . .
127.0.0.1 localhost
first_ip_address gluster0.example.com gluster0
second_ip_address gluster1.example.com gluster1
third_ip_address gluster2.example.com gluster2
. . .
Lorsque vous avez terminé d’ajouter ces nouvelles lignes au fichier /etc/hosts d'une machine, copiez-les et ajoutez-les aux fichiers
/etc
/hosts de vos autres machines. Chaque fichier /etc/hosts
devrait contenir les mêmes lignes, reliant les adresses IP de vos serveurs aux noms que vous avez sélectionnés.
Enregistrez et fermez chaque fichier lorsque vous avez terminé. Si vous avez utilisé nano
, faites-le en appuyant sur CTRL+X
, Y
, puis ENTER
.
Maintenant que vous avez configuré la résolution de nom d’hôte entre chacun de vos serveurs, il sera plus facile d’exécuter des commandes plus tard lorsque vous configurez un pool de stockage et un volume. Ensuite, vous passerez par une autre étape qui doit être réalisée sur chacun de vos serveurs. À savoir, ajouter l’archive personnelle officielle des paquets du projet Gluster (PPA) à chacun de vos trois serveurs Ubuntu pour vous assurer que vous pouvez installer la dernière version de GlusterFS.
Bien que les référentiels Ubuntu 20.04 APT par défaut contiennent des paquets GlusterFS, au moment où nous écrivons ces lignes, ce ne sont pas les versions les plus récentes. Une façon d’installer la dernière version stable de GlusterFS (version 7.6 au moment où nous écrivons ces lignes) consiste à ajouter le PPA officiel du projet Gluster à chacun de vos trois serveurs Ubuntu.
Ajoutez le PPA pour les paquets GlusterFS en exécutant la commande suivante sur chaque serveur :
- sudo add-apt-repository ppa:gluster/glusterfs-7
Appuyez sur ENTER
lorsque vous êtes invité à confirmer que vous souhaitez réellement ajouter le PPA.
Après avoir ajouté le PPA, actualisez l’index local des paquets de chaque serveur. Cela permettra à chaque serveur de prendre connaissance des nouveaux paquets disponibles :
- sudo apt update
Après avoir ajouté le PPA officiel du projet Gluster sur chaque serveur et mis à jour l’index local des paquets, vous êtes prêt à installer les paquets GlusterFS nécessaires. Cependant, comme deux de vos trois machines agira comme serveurs Gluster et l’autre comme client, il existe deux procédures distinctes d’installation et de configuration. Tout d’abord, vous installerez et configurez les composants du serveur.
Un pool de stockage est toute quantité de capacité de stockage agrégée à partir de plusieurs ressources de stockage. Au cours de cette étape, vous configurez deux de vos serveurs — gluster0 et gluster1 — comme les composants du cluster.
Sur gluster0 et gluster1, installez le paquet de serveur GlusterFS en saisissant :
- sudo apt install glusterfs-server
Lorsque vous y êtes invité, appuyez sur Y
et ensuite ENTER
pour confirmer l’installation.
Le processus d’installation configure automatiquement GlusterFS pour qu’il fonctionne comme un service systemd
. Cependant, il ne démarre pas automatiquement le service ou ne lui permet pas de s’exécuter au démarrage.
Pour démarrer glusterd
, le service GlusterFS, exécutez la commande systemctl start
suivante sur gluster0 et gluster1 :
- sudo systemctl start glusterd.service
Ensuite, lancez la commande suivante sur les deux serveurs. Cela permettra au service de démarrer chaque fois que le serveur démarre :
- sudo systemctl enable glusterd.service
Ensuite, vous pouvez vérifier l’état du service sur l’un ou les deux serveurs :
- sudo systemctl status glusterd.service
Si le service est opérationnel, vous recevrez un résultat comme celui-ci :
Output● glusterd.service - GlusterFS, a clustered file-system server
Loaded: loaded (/lib/systemd/system/glusterd.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2020-06-02 21:32:21 UTC; 32s ago
Docs: man:glusterd(8)
Main PID: 14742 (glusterd)
Tasks: 9 (limit: 2362)
CGroup: /system.slice/glusterd.service
└─14742 /usr/sbin/glusterd -p /var/run/glusterd.pid --log-level INFO
En supposant que vous ayez suivi le guide initial des prérequis de configuration du serveur, vous aurez mis en place un pare-feu avec UFW sur chacune de vos machines. À cause de cela, vous devrez ouvrir le pare-feu sur chaque nœud avant de pouvoir établir des communications entre eux et créer un pool de stockage.
Le démon Gluster utilise le port 24007
, vous devrez donc autoriser chaque nœud à accéder à ce port à travers le pare-feu de chaque autres nœuds de votre pool de stockage. Pour ce faire, lancez la commande suivante sur gluster0. N’oubliez pas de remplacer gluster1_ip_address
par l’adresse IP de gluster1 :
- sudo ufw allow from gluster1_ip_address to any port 24007
Et lancez la commande suivante sur gluster1. Encore une fois, veillez à remplacer gluster0_ip_address
par l’adresse IP de gluster0 :
- sudo ufw allow from gluster0_ip_address to any port 24007
Vous devrez également autoriser votre machine client (gluster2) à accéder à ce port. Sinon, vous rencontrerez des problèmes plus tard lorsque vous essayerez de monter le volume. Exécutez la commande suivante sur gluster0 et gluster1 pour ouvrir ce port à votre machine cliente :
- sudo ufw allow from gluster2_ip_address to any port 24007
Ensuite, pour s’assurer qu’aucune autre machine ne soit puisse accéder au port de Gluster sur l’un ou l’autre des serveurs, ajoutez la règle deny
absolue suivante à la fois à gluster0 et gluster1 :
- sudo ufw deny 24007
Vous êtes maintenant prêt à établir la communication entre gluster0 et gluster1. Pour ce faire, vous devrez exécuter la commande gluster peer probe
sur l’un de vos nœuds. Peu importe le nœud que vous utilisez, mais l’exemple suivant montre la commande en cours sur gluster0 :
- sudo gluster peer probe gluster1
En gros, cette commande indique à gluster0 de faire confiance à gluster1 et de l’enregistrer comme faisant partie de son pool de stockage. Si le sondage est réussi, il renverra la sortie suivante :
Outputpeer probe: success
Vous pouvez vérifier que les nœuds communiquent à tout moment en exécutant la commande gluster peer status
sur l’un ou l’autre . Dans cet exemple, il est exécuté sur gluster1 :
- sudo gluster peer status
Si vous lancez cette commande à partir de gluster1, il affichera la sortie suivante :
OutputNumber of Peers: 1
Hostname: gluster0.example.com
Uuid: a3fae496-c4eb-4b20-9ed2-7840230407be
State: Peer in Cluster (Connected)
À ce stade, vos deux serveurs communiquent et sont prêts à créer des volumes de stockage entre eux.
Rappelons que l’objectif principal de ce tutoriel est de créer un pool de stockage redondant. À cette fin, vous allez mettre en place un volume avec une fonctionnalité de réplication, vous permettant de conserver plusieurs copies de vos données et d’éviter à votre cluster d’avoir un seul point de défaillance.
Pour créer un volume, vous utiliserez la commande gluster volume create
avec cette syntaxe générale :
sudo gluster volume create volume_name replica number_of_servers domain1.com:/path/to/data/directory domain2.com:/path/to/data/directory force
Voici ce que ce signifient les arguments et les options cette commande gluster volume create
signifient :
volume_name
: C’est le nom que vous utiliserez pour faire référence au volume après sa création. L’exemple de commande suivant crée un volume nommé volume1
.réplica number_of_servers
: : À la suite du nom du volume, vous pouvez définir le type de volume que vous souhaitez créer. Rappelons que l’objectif de ce tutoriel est de créer un pool de stockage redondant, nous utiliserons donc le type de volume replica
. Cela exige un argument indiquant sur combien de serveurs les données du volume seront répliquées (2
dans le cas de ce tutoriel).domain1.com:/…
et domain2.com:/…
: Ces éléments définissent les machines et l’emplacement du répertoire des briques — le terme de GlusterFS pour son unité de stockage de base, qui comprend tous les répertoires sur toutes les machines qui servent comme partie ou copie d’un volume plus important — qui constitueront le volume1
. L’exemple suivant créera un répertoire nommé gluster-storage
dans le répertoire racine des deux serveurs.force
: Cette option remplacera les avertissements ou les options qui autrement pourraient apparaître et arrêter la création du volume.En suivant les conventions établies précédemment dans ce tutoriel, vous pouvez exécuter cette commande pour créer un volume. Notez que vous pouvez l’exécuter à partir de gluster0 ou de gluster1 :
- sudo gluster volume create volume1 replica 2 gluster0.example.com:/gluster-storage gluster1.example.com:/gluster-storage force
Si le volume a été créé avec succès, vous recevrez la sortie suivante :
Outputvolume create: volume1: success: please start the volume to access data
À ce stade, votre volume a été créé, mais il n’est pas encore actif. Vous pouvez démarrer le volume et le rendre disponible pour l’utilisation en exécutant la commande suivante, toujours à partir de l’un de vos serveurs Gluster :
- sudo gluster volume start volume1
Vous recevrez cette sortie si le volume a été démarré correctement :
Outputvolume start: volume1: success
Ensuite, vérifiez que le volume est en ligne. Exécutez la commande suivante à partir de l’un de vos nœuds :
- sudo gluster volume status
Cela renverra la sortie semblable à celle-ci :
OutputStatus of volume: volume1
Gluster process TCP Port RDMA Port Online Pid
------------------------------------------------------------------------------
Brick gluster0.example.com:/gluster-storage 49152 0 Y 18801
Brick gluster1.example.com:/gluster-storage 49152 0 Y 19028
Self-heal Daemon on localhost N/A N/A Y 19049
Self-heal Daemon on gluster0.example.com N/A N/A Y 18822
Task Status of Volume volume1
------------------------------------------------------------------------------
There are no active volume tasks
Sur la base de cette sortie, les briques sur les deux serveurs sont en ligne.
En guise de dernière étape pour configurer votre volume, vous devrez ouvrir le pare-feu sur les deux serveurs pour que votre machine cliente puisse se connecter et monter le volume. Selon l’exemple de sortie de la commande précédente, volume1
tourne sur le port 49152
sur les deux machines. C’est le port par défaut de GlusterFS pour son volume initial, et le prochain volume que vous crérez utilisera le port 49153
, puis 49154
, etc.
Exécutez la commande suivante sur gluster0 et gluster1 pour autoriser gluster2 à accéder à ce port à travers le pare-feu respectif de chacun :
- sudo ufw allow from gluster2_ip_address to any port 49152
Ensuite, pour une couche de sécurité supplémentaire, ajoutez une autre règle deny
absolue pour le port du volume sur gluster0 et gluster1. Cela garantira qu’aucune machine autre que votre machine cliente ne puisse accéder au volume sur l’un ou l’autre des serveurs :
- sudo ufw deny 49152
Maintenant que votre volume est opérationnel, vous pouvez configurer votre machine cliente et commencer à l’utiliser à distance.
Votre volume est maintenant configuré et disponible pour être utilisé par votre machine cliente. Mais, avant de commencer, vous devez installer le paquet glusterfs-client
à partir du PPA que vous avez mis en place à l’étape 1 sur votre machine cliente. Les dépendances de ce paquet comprennent certaines des bibliothèques et modules de traduction communs de GlusterFS, ainsi que les outils FUSE nécessaires à son fonctionnement.
Exécutez la commande suivante sur gluster2 :
- sudo apt install glusterfs-client
Vous allez bientôt monter votre volume de stockage à distance sur votre ordinateur client. Cependant, avant de pouvoir le faire, vous devez créer un point de montage. Traditionnellement, cela se fait dans le répertoire /mnt
, mais vous pouvez l’utiliser n’importe où.
Pour plus de simplicité, créez un répertoire nommé /storage-pool
sur votre machine cliente pour servir de point de montage. Ce nom de répertoire commence par une barre (/
) oblique qui le place dans le répertoire racine, vous devrez donc le créer avec des privilèges sudo
:
- sudo mkdir /storage-pool
Vous pouvez maintenant monter le volume distant. Cependant, consultez d’abord la syntaxe de la commande mount
que vous utiliserez pour le faire :
sudo mount -t glusterfs domain1.com:volume_name /path/to/mount/point
mount
est un utilitaire que l’on trouve dans plusieurs systèmes d’exploitation de type Unix. Il est utilisé pour monter des systèmes de fichiers — n’importe quoi depuis des périphériques de stockage externes, comme les cartes SD ou les clés USB, à du stockage connecté comme dans le cas de ce tutoriel — sur des répertoires du système de fichiers existant de la machine. La syntaxe de la commande mount
que vous utiliserez comprend l’option -t
, qui nécessite trois arguments : le type de système de fichiers à monter, le périphérique où le système de fichiers à monter peut être trouvé, et le répertoire sur le client où vous allez monter le volume.
Notez que dans cet exemple, l’argument périphérique pointe vers un nom d’hôte suivi de deux points et ensuite le nom du volume. GlusterFS extrait les répertoires de stockage réels sur chaque hôte, ce qui signifie que cette commande ne cherche pas à monter le répertoire /gluster-storage
, mais plutôt le volume volume1
.
Notez également que vous n’avez à spécifier qu’un seul membre du cluster de stockage. Cela peut être n’importe quel nœud, puisque le service GlusterFS les traite comme une seule machine.
Exécutez la commande suivante sur votre machine cliente (gluster2) pour monter le volume sur le répertoire /storage-pool
que vous avez créé :
- sudo mount -t glusterfs gluster0.example.com:/volume1 /storage-pool
Ensuite, exécutez la commande df
. Cela affichera la quantité d’espace disque disponible pour les systèmes de fichiers auxquels l’utilisateur qui l’invoque a accès :
- df
Cette commande montrera que le volume GlusterFS est monté au bon endroit :
OutputFilesystem 1K-blocks Used Available Use% Mounted on
. . .
gluster0.example.com:/volume1 50633164 1938032 48695132 4% /storage-pool
Vous pouvez maintenant passer au test pour vérifier que toutes les données que vous écrivez sur le volume de votre client sont répliquées sur les nœuds de votre serveur, comme prévu.
Maintenant que vous avez mis en place votre client pour utiliser votre pool de stockage et votre volume, vous pouvez tester sa fonctionnalité.
Sur votre machine cliente (gluster2), naviguez jusqu’au point de montage que vous avez défini à l’étape précédente :
- cd /storage-pool
Ensuite, créez quelques fichiers de test. La commande suivante crée dix fichiers vides séparés dans votre pool de stockage :
- sudo touch file_{0..9}.test
Si vous examinez les répertoires de stockage que vous avez définis précédemment sur chaque hôte de stockage, vous découvrirez que tous ces fichiers sont présents sur chaque système.
Sur gluster0 :
- ls /gluster-storage
Outputfile_0.test file_2.test file_4.test file_6.test file_8.test
file_1.test file_3.test file_5.test file_7.test file_9.test
De même, sur gluster1 :
- ls /gluster-storage
Outputfile_0.test file_2.test file_4.test file_6.test file_8.test
file_1.test file_3.test file_5.test file_7.test file_9.test
Comme ces sorties le montrent, les fichiers test que vous avez ajoutés au client ont également été écrits sur vos deux nœuds.
S’il arrive jamais un moment où l’un des nœuds de votre cluster de stockage est hors service, il pourrait se désynchroniser avec le pool de stockage si des modifications sont apportées au système de fichiers. En effectuant une opération en lecture sur le point de montage du client après la remise en ligne du nœud, ce dernier sera avisé de récupérer les fichiers manquants :
- ls /storage-pool
Maintenant que vous avez vérifié que votre volume de stockage est correctement monté et qu’il peut reproduire des données sur les deux machines du cluster, vous pouvez verrouiller l’accès au pool de stockage.
À ce stade, n’importe quel ordinateur peut se connecter à votre volume de stockage sans aucune restriction. Vous pouvez changer cela en réglant l’option auth.allow
, qui définit les adresses IP de tous les clients qui devraient avoir accès au volume.
Si vous utilisez la configuration /etc/hosts
, les noms que vous avez définis pour chaque serveur ne seront pas acheminés correctement. Vous devez utiliser une adresse IP statique à la place. En revanche, si vous utilisez des enregistrements DNS, le nom de domaine que vous avez configuré fonctionnera ici.
Sur l’un ou l’autre de vos nœuds de stockage (gluster0 ou gluster1), exécutez la commande suivante :
- sudo gluster volume set volume1 auth.allow gluster2_ip_address
Si la commande se termine avec succès, elle renverra cette sortie :
Outputvolume set: success
Si vous avez besoin de supprimer la restriction à n’importe quel moment, vous pouvez saisir :
- sudo gluster volume set volume1 auth.allow *
Cela permettra de se connecter à nouveau depuis n’importe quelle machine. C’est n’est pas sûr, mais peut être utile pour les problèmes de débogage.
Si vous avez plusieurs clients, vous pouvez spécifier leurs adresses IP ou leurs noms de domaine en même temps (selon que vous utilisez /etc/hosts
ou la résolution de noms d’hôtes DNS), séparés par des virgules :
- sudo gluster volume set volume1 auth.allow gluster_client1_ip,gluster_client2_ip
Votre pool de stockage est maintenant configuré, sécurisé, et prêt à être utilisé. Ensuite, vous allez apprendre quelques commandes qui vous aideront à obtenir des informations sur l’état de votre pool de stockage.
Lorsque vous commencez à changer certains des paramètres de votre stockage GlusterFS, vous pouvez être perdus concernant quelles options sont disponibles, quels volumes sont actifs, et quels nœuds sont associés à chaque volume.
Plusieurs commandes différentes sont disponibles sur vos nœuds pour récupérer ces données et interagir avec votre pool de stockage.
Si vous souhaitez des informations sur chacun de vos volumes, exécutez la commande gluster volume info
:
- sudo gluster volume info
OutputVolume Name: volume1
Type: Replicate
Volume ID: a1e03075-a223-43ab-a0f6-612585940b0c
Status: Started
Snapshot Count: 0
Number of Bricks: 1 x 2 = 2
Transport-type: tcp
Bricks:
Brick1: gluster0.example.com:/gluster-storage
Brick2: gluster1.example.com:/gluster-storage
Options Reconfigured:
auth.allow: gluster2_ip_address
transport.address-family: inet
storage.fips-mode-rchecksum: on
nfs.disable: on
performance.client-io-threads: off
De même, pour obtenir des informations sur tous les pairs auxquels ce nœud est connecté, vous pouvez saisir :
- sudo gluster peer status
Number of Peers: 1
Hostname: gluster0.example.com
Uuid: cb00a2fc-2384-41ac-b2a8-e7a1793bb5a9
State: Peer in Cluster (Connected)
Si vous souhaitez des informations détaillées sur la performance de chaque nœud, vous pouvez établir le profile d’un volume en saisissant :
- sudo gluster volume profile volume_name start
Lorsque cette commande est terminée, vous pouvez obtenir les informations recueillies en saisissant :
- sudo gluster volume profile volume_name info
OutputBrick: gluster0.example.com:/gluster-storage
--------------------------------------------
Cumulative Stats:
%-latency Avg-latency Min-Latency Max-Latency No. of calls Fop
--------- ----------- ----------- ----------- ------------ ----
0.00 0.00 us 0.00 us 0.00 us 30 FORGET
0.00 0.00 us 0.00 us 0.00 us 36 RELEASE
0.00 0.00 us 0.00 us 0.00 us 38 RELEASEDIR
Duration: 5445 seconds
Data Read: 0 bytes
Data Written: 0 bytes
Interval 0 Stats:
%-latency Avg-latency Min-Latency Max-Latency No. of calls Fop
--------- ----------- ----------- ----------- ------------ ----
0.00 0.00 us 0.00 us 0.00 us 30 FORGET
0.00 0.00 us 0.00 us 0.00 us 36 RELEASE
0.00 0.00 us 0.00 us 0.00 us 38 RELEASEDIR
Duration: 5445 seconds
Data Read: 0 bytes
Data Written: 0 bytes
. . .
Comme indiqué précédemment, pour obtenir la liste de tous les composants associés à GlusterFS fonctionnant sur chacun de vos nœuds, exécutez la commande gluster volume status
:
- sudo gluster volume status
OutputStatus of volume: volume1
Gluster process TCP Port RDMA Port Online Pid
------------------------------------------------------------------------------
Brick gluster0.example.com:/gluster-storage 49152 0 Y 19003
Brick gluster1.example.com:/gluster-storage 49152 0 Y 19040
Self-heal Daemon on localhost N/A N/A Y 19061
Self-heal Daemon on gluster0.example.com N/A N/A Y 19836
Task Status of Volume volume1
------------------------------------------------------------------------------
There are no active volume tasks
Si vous comptez administrer vos volumes de stockage GlusterFS, il peut être judicieux de vous rendre dans la console GlusterFS. Cela vous permettra d’interagir avec votre environnement GlusterFS sans avoir besoin de saisir sudo gluster
avant toute saisie :
- sudo gluster
Cela vous donnera une invite où vous pouvez saisir vos commandes. help
en est une bonne pour vous orienter :
- help
Output peer help - display help for peer commands
volume help - display help for volume commands
volume bitrot help - display help for volume bitrot commands
volume quota help - display help for volume quota commands
snapshot help - display help for snapshot commands
global help - list global commands
Lorsque vous avez terminé, exécutez exit
pour quitter la console Gluster :
- exit
Avec cela, vous êtes prêt à commencer à intégrer GlusterFS à votre prochaine application.
En suivant ce tutoriel, vous disposez d’un système de stockage redondant qui vous permettra d’écrire simultanément sur deux serveurs distincts. Cela peut être utile pour un certain nombre d’applications et peut garantir la disponibilité de vos données même en cas de panne d’un serveur.
Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!