Glusterfs est un système de fichiers réseau évolutif avec des capacités de mise à l'échelle de plusieurs pétaoctets et de gestion de milliers de clients. Il s'agit d'un système de fichiers open source et distribué qui définit les ressources de stockage sur disque de plusieurs serveurs dans un seul espace de noms. Il convient aux tâches gourmandes en données telles que le stockage dans le cloud et la diffusion de données multimédias.
Dans ce tutoriel, je vais montrer comment configurer un serveur de stockage haute disponibilité avec GlusterFS sur Ubuntu 18.04 LTS (Bionic Beaver). Nous utiliserons 3 serveurs ubuntu, 1 serveur en tant que client et 2 autres en tant que stockage. Chaque serveur de stockage sera un miroir de l'autre et les fichiers seront répliqués sur les deux serveurs de stockage.
Prérequis
- 3 serveurs Ubuntu 18.04
- 10.0.15.10 - gfs01
- 10.0.15.11 - gfs02
- 10.0.15.12 - client01
- Privilèges racine
Qu'allons-nous faire ?
- Pré-installation de GlusterFS
- Installer le serveur GlusterFS
- Configurer les serveurs GlusterFS
- Configurer le client GlusterFS
- Test de réplication/mise en miroir
Étape 1 - Pré-installation de GlusterFS
La première étape que nous devons faire avant d'installer glusterfs sur tous les serveurs est de configurer le fichier des hôtes et d'ajouter le référentiel GlusterFS à chaque serveur.
Configurer le fichier des hôtes
Connectez-vous à chaque serveur et obtenez l'accès root avec la commande 'sudo su', puis modifiez le fichier '/etc/hosts'.
vim /etc/hosts
Collez la configuration des hôtes ci-dessous.
10.0.15.10 gfs01 10.0.15.11 gfs02 10.0.15.12 client01
Enregistrez et quittez.
Maintenant, envoyez un ping à chaque serveur en utilisant le nom d'hôte comme ci-dessous.
ping -c 3 gfs01
ping -c 3 gfs02
ping -c 3 client01
Chaque nom d'hôte correspondra à chaque adresse IP de serveur.
Ajouter un référentiel GlusterFS
Installez le package software-properties-common sur le système.
sudo apt install software-properties-common -y
Ajoutez la clé et le référentiel glusterfs en exécutant les commandes ci-dessous.
wget -O- https://download.gluster.org/pub/gluster/glusterfs/3.12/rsa.pub | apt-key add -
sudo add-apt-repository ppa:gluster/glusterfs-3.12
La commande mettra à jour tous les référentiels. Et nous avons déjà ajouté le référentiel glusterfs à tous les systèmes.
Étape 2 - Installer le serveur GlusterFS
Dans cette étape, nous allons installer le serveur glusterfs sur les serveurs 'gfs01' et 'gfs02'.
Installez glusterfs-server à l'aide de la commande apt.
sudo apt install glusterfs-server -y
Démarrez maintenant le service glusterd et activez-le pour qu'il se lance à chaque démarrage du système.
sudo systemctl start glusterd
sudo systemctl enable glusterd
Le serveur Glusterfs est maintenant opérationnel sur les serveurs 'gfs01' et 'gfs02'.
Vérifiez les services et la version du logiciel installé.
systemctl status glusterd
glusterfsd --version
Étape 3 - Configurer les serveurs GlusterFS
Les services Glusterd sont maintenant opérationnels et la prochaine étape consiste à configurer ces serveurs en créant un pool de stockage de confiance et en créant le volume glusterfs distribué.
Créer un pool de stockage approuvé
À partir du serveur 'gfs01', nous devons ajouter le serveur 'gfs02' au pool de stockage glusterfs.
Exécutez la commande ci-dessous.
gluster peer probe gfs02
Nous allons maintenant voir le résultat 'peer probe:success', et nous avons ajouté le serveur 'gfs02' au pool de stockage de confiance.
Vérifiez l'état et la liste du pool de stockage à l'aide des commandes ci-dessous.
gluster peer status
gluster pool list
Et vous verrez que le serveur 'gfs02' est connecté au cluster de pairs, et il est sur la liste du pool.
Configurer le volume GlusterFS distribué
Après avoir créé le pool de stockage approuvé, nous allons créer un nouveau volume glusterfs distribué. Nous allons créer le nouveau volume glusterfs basé sur le répertoire système.
Remarque :
- Pour la production du serveur, il est recommandé de créer le volume glusterfs en utilisant une partition différente, et non en utilisant un répertoire système.
Créez un nouveau répertoire '/glusterfs/distributed' sur chaque serveur bot 'gfs01' et 'gfs02'.
mkdir -p /glusterfs/distributed
Et depuis le serveur 'gfs01', créez le volume glusterfs distribué nommé 'vol01' avec 2 répliques 'gfs01' et 'gfs02'.
gluster volume create vol01 replica 2 transport tcp \
gfs01:/glusterfs/distributed \
gfs02:/glusterfs/distributed \
force
Nous avons maintenant créé le volume distribué "vol01" - démarrez le "vol01" et vérifiez les informations sur le volume.
gluster volume start vol01
gluster volume info vol01
Et voici le résultat.
A ce stade, nous avons créé le volume 'vol01' avec le type 'Replicate' et 2 briques sur les serveurs 'gfs01' et 'gfs02'. Toutes les données seront distribuées automatiquement à chaque serveur répliqué, et nous sommes prêts à monter le volume.
Ci-dessous les informations sur le volume 'vol01' du serveur 'gfs02'.
Étape 4 - Configurer le client GlusterFS
Dans cette étape, nous allons monter le volume glusterfs 'vol01' sur le client Ubuntu, et nous devons installer le client glusterfs sur le serveur client.
Installez glusterfs-client sur le système Ubuntu à l'aide de la commande apt.
sudo apt install glusterfs-client -y
Créez maintenant un nouveau répertoire '/mnt/glusterfs' lorsque l'installation de glusterfs-client est terminée.
mkdir -p /mnt/glusterfs
Et montez le volume distribué glusterfs 'vol01' dans le répertoire '/mnt/glusterfs'.
sudo mount -t glusterfs gfs01:/vol01 /mnt/glusterfs
Vérifiez maintenant le volume disponible sur le système.
df -h /mnt/glusterfs
Et nous allons monter le volume glusterfs dans le répertoire '/mnt/glusterfs'.
Supplémentaire :
Pour monter glusterfs de manière permanente sur le système client Ubuntu, nous pouvons ajouter le volume au '/etc/fstab'.
Modifiez le fichier de configuration '/etc/fstab'.
vim /etc/fstab
Et collez la configuration ci-dessous.
gfs01:/vol01 /mnt/glusterfs glusterfs defaults,_netdev 0 0
Enregistrez et quittez.
Maintenant, redémarrez le serveur et lorsqu'il sera en ligne, nous aurons le volume glusterfs 'vol01' monté automatiquement via le fstab.
Étape 5 - Tester la réplication/la mise en miroir
Dans cette étape, nous testerons la mise en miroir des données sur chaque nœud de serveur.
Montez le volume glusterfs 'vol01' sur chaque serveur glusterfs.
Sur le serveur 'gfs01'.
mount -t glusterfs gfs01:/vol01 /mnt
Sur le serveur 'gfs02'.
mount -t glusterfs gfs02:/vol01 /mnt
Maintenant, revenez au client Ubuntu et allez dans le répertoire '/mnt/glusterfs'.
cd /mnt/glusterfs
Créez des fichiers à l'aide de la commande tactile.
touch file01 file02 file03
Vérifiez maintenant sur chaque - 'gfs01' et 'gfs02' - serveur, et nous obtiendrons tous les fichiers que nous avons créés à partir de la machine cliente.
cd /mnt/
ls -lah
Voici le résultat du serveur 'gfs01'.
Et voici le résultat du serveur 'gfs02'.
Tous les fichiers que nous avons créés à partir de la machine cliente seront distribués à tous les serveurs de nœuds de volume glusterfs.