Stockage haute disponibilité avec GlusterFS sur Ubuntu 18.04 LTS

Glusterfs est un système de fichiers réseau évolutif capable de passer à plusieurs pétaoctets et de gérer des milliers de clients. C’est un système de fichiers distribué et open source qui regroupe 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 nuage et le streaming de médias de données.

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 comme client, et 2 autres comme stockage. Chaque serveur de stockage sera un miroir de l’autre, et les fichiers seront répliqués sur les deux serveurs de stockage.

Conditions préalables

  • 3 serveurs Ubuntu 18.04
    • 10.0.15.10 – gfs01
    • 10.0.15.11 – gfs02
    • 10.0.15.12 – client01
  • Privilèges de la racine

Ce que nous allons faire ?

  1. Pré-installation de GlusterFS
  2. Installer le serveur GlusterFS
  3. Configurer les serveurs GlusterFS
  4. Configurer le client GlusterFS
  5. Test de réplication/mirroring

Étape 1 – Pré-installation de GlusterFS

La première étape à effectuer avant d’installer GlusterFS sur tous les serveurs est de configurer le fichier hosts et d’ajouter le référentiel GlusterFS à chaque serveur.

Configurer le fichier Hosts

Connecte-toi à chaque serveur et obtiens l’accès root avec la commande ‘sudo su’, puis édite le fichier ‘/etc/hosts’.

vim /etc/hosts

Colle la configuration des hôtes ci-dessous.

10.0.15.10 gfs01
10.0.15.11 gfs02
10.0.15.12 client01

Sauvegarde et quitte.

Maintenant, envoie 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 sera résolu par l’adresse IP de chaque serveur.

Configure le fichier hosts

Ajouter le référentiel GlusterFS

Installe le paquet software-properties-common sur le système.

sudo apt install software-properties-common -y

Ajoute 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.

Ajouter le référentiel GlusterFS

Étape 2 – Installer le serveur GlusterFS

Dans cette étape, nous allons installer le serveur glusterfs sur les serveurs ‘gfs01’ et ‘gfs02’.

Installe glusterfs-server à l’aide de la commande apt.

sudo apt install glusterfs-server -y

Démarre maintenant le service glusterd et active-le pour qu’il se lance chaque fois au 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érifie les services et la version du logiciel installé.

systemctl status glusterd
glusterfsd --version

Installer le serveur GlusterFS

É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 de confiance

À partir du serveur ‘gfs01’, nous devons ajouter le serveur ‘gfs02’ au pool de stockage glusterfs.

Exécute la commande ci-dessous.

gluster peer probe gfs02

Nous verrons maintenant le résultat ‘peer probe : success’, et nous avons ajouté le serveur ‘gfs02’ au pool de stockage de confiance.

Vérifie l’état et la liste du pool de stockage à l’aide des commandes ci-dessous.

gluster peer status
gluster pool list

Tu verras que le serveur ‘gfs02’ est connecté au cluster de pairs et qu’il figure dans la liste des pools.

Créer un pool de stockage de confiance

Configurer le volume GlusterFS distribué

Après avoir créé le pool de stockage de confiance, 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 de serveurs, il est recommandé de créer le volume glusterfs en utilisant la partition différente, et non en utilisant un répertoire système.

Crée un nouveau répertoire ‘/glusterfs/distributed’ sur chaque serveur bot ‘gfs01’ et ‘gfs02’.

mkdir -p /glusterfs/distributed

Et sur le serveur ‘gfs01’, crée 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

Maintenant que nous avons créé le volume distribué ‘vol01’, démarre le ‘vol01’ et vérifie les informations sur le volume.

gluster volume start vol01
gluster volume info vol01

Et voici le résultat.

Configurer le volume GlusterFS distribué

À 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 sur chaque serveur de réplique, et nous sommes prêts à monter le volume.

Ci-dessous les informations sur le volume ‘vol01’ du serveur ‘gfs02’.

info volume

Étape 4 – Configurer le client GlusterFS

Dans cette étape, nous allons monter le volume glusterfs ‘vol01’ sur le client Ubuntu, et nous devons installer glusterfs-client sur le serveur client.

Installe glusterfs-client sur le système Ubuntu à l’aide de la commande apt.

sudo apt install glusterfs-client -y

Crée maintenant un nouveau répertoire ‘/mnt/glusterfs’ lorsque l’installation de glusterfs-client est terminée.

mkdir -p /mnt/glusterfs

Et monte le volume glusterfs distribué ‘vol01’ dans le répertoire ‘/mnt/glusterfs’.

sudo mount -t glusterfs gfs01:/vol01 /mnt/glusterfs

Vérifie maintenant le volume disponible sur le système.

df -h /mnt/glusterfs

Et nous obtiendrons le volume glusterfs monté dans le répertoire ‘/mnt/glusterfs’.

Configurer le client GlusterFS

Supplémentaire :

Pour monter glusterfs de façon permanente sur le système client Ubuntu, nous pouvons ajouter le volume à ‘/etc/fstab’.

Modifie le fichier de configuration ‘/etc/fstab’.

vim /etc/fstab

Et colle la configuration ci-dessous.

gfs01:/vol01 /mnt/glusterfs glusterfs defaults,_netdev 0 0

Sauvegarde et quitte.

Redémarre maintenant le serveur et quand il sera en ligne, le volume glusterfs ‘vol01’ sera monté automatiquement dans le fstab.

Étape 5 – Test de la réplication/mirrorisation

Dans cette étape, nous allons tester la mise en miroir des données sur chaque nœud de serveur.

Monte 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

Retourne maintenant sur le client Ubuntu et va dans le répertoire ‘/mnt/glusterfs’.

cd /mnt/glusterfs

Crée quelques fichiers à l’aide de la commande touch.

touch file01 file02 file03

Réplication de test

Vérifie maintenant sur chaque serveur – ‘gfs01’ et ‘gfs02’ – et nous obtiendrons tous les fichiers que nous avons créés sur la machine cliente.

cd /mnt/
ls -lah

Voici le résultat du serveur ‘gfs01’.

Résultat du serveur 1

Et voici le résultat du serveur ‘gfs02’.

Résultat du serveur 2

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.

Vous aimerez aussi...