« Gluster : Création d'un cluster Glusterfs » : différence entre les versions
(Page créée avec « == Introduction == L'objectif d'aujourd'hui est de créer un cluster de 3 serveurs web Ubuntu répliqués via Glusterfs Un réseau dédié va servir à la réplication Gluster. Un 2ème réseau dédié va servir pour le service web (communication avec le reverse proxy) Un 3ème réseau servira pour les accès Internet ==== Paramètres des serveurs ==== * Web01 : ** IP LAN : 172.20.37.1/29 ** IP GLUSTER : 100.85.37.1/29 ** IP WWW : 10.20.37.1/29 * Web02 : **... ») |
Aucun résumé des modifications |
||
(9 versions intermédiaires par le même utilisateur non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
== Introduction == | == Introduction == | ||
L'objectif d'aujourd'hui est de créer un cluster de 3 serveurs web Ubuntu répliqués via Glusterfs | L'objectif d'aujourd'hui est de créer un cluster de 3 serveurs web Ubuntu répliqués via Glusterfs | ||
Chaque serveur aura un disque système (/dev/vda) et un disque datas (/dev/vdb) | |||
Un réseau dédié va servir à la réplication Gluster. | Un réseau dédié va servir à la réplication Gluster. | ||
Ligne 6 : | Ligne 8 : | ||
Un 2ème réseau dédié va servir pour le service web (communication avec le reverse proxy) | Un 2ème réseau dédié va servir pour le service web (communication avec le reverse proxy) | ||
Un 3ème réseau servira pour les accès Internet | Un 3ème réseau servira pour les accès Internet des serveurs | ||
==== Paramètres des serveurs ==== | ==== Paramètres des serveurs ==== | ||
* Web01 : | * '''Web01 :''' | ||
** IP LAN : 172.20.37.1/29 | ** IP LAN : 172.20.37.1/29 | ||
** IP GLUSTER : 100.85.37.1/29 | ** IP GLUSTER : 100.85.37.1/29 | ||
** IP WWW : 10.20.37.1/29 | ** IP WWW : 10.20.37.1/29 | ||
* Web02 : | * '''Web02 :''' | ||
** IP LAN : 172.20.37.2/29 | ** IP LAN : 172.20.37.2/29 | ||
** IP GLUSTER : 100.85.37.2/29 | ** IP GLUSTER : 100.85.37.2/29 | ||
** IP WWW : 10.20.37.2/29 | ** IP WWW : 10.20.37.2/29 | ||
* Web03 : | * '''Web03 :''' | ||
** IP LAN : 172.20.37.3/29 | ** IP LAN : 172.20.37.3/29 | ||
** IP GLUSTER : 100.85.37.3/29 | ** IP GLUSTER : 100.85.37.3/29 | ||
Ligne 42 : | Ligne 44 : | ||
ff02::1 ip6-allnodes | ff02::1 ip6-allnodes | ||
ff02::2 ip6-allrouters | ff02::2 ip6-allrouters | ||
</syntaxhighlight> | </syntaxhighlight><code>sudo hostnamectl set-hostname web01</code> | ||
<code>reboot</code> | |||
==== Web02 ==== | ==== Web02 ==== | ||
Ligne 59 : | Ligne 63 : | ||
ff02::1 ip6-allnodes | ff02::1 ip6-allnodes | ||
ff02::2 ip6-allrouters | ff02::2 ip6-allrouters | ||
</syntaxhighlight> | </syntaxhighlight><code>sudo hostnamectl set-hostname web02</code> | ||
<code>reboot</code> | |||
==== Web03 ==== | ==== Web03 ==== | ||
Ligne 78 : | Ligne 84 : | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<code>sudo hostnamectl set-hostname web03</code> | |||
<code>reboot</code> | |||
=== Création et partage des clés SSH === | |||
==== Création des clés ==== | |||
===== Sur chacun des serveurs ===== | |||
<code>ssh-keygen -t rsa -b 4096</code> | |||
==== Partage des clés entre serveurs ==== | |||
===== Web01 ===== | |||
<code>ssh-copy-id root@web02</code> | |||
<code>ssh-copy-id root@web03</code> | |||
===== Web02 ===== | |||
<code>ssh-copy-id root@web01</code> | |||
<code>ssh-copy-id root@web03</code> | |||
===== Web03 ===== | |||
<code>ssh-copy-id root@web01</code> | |||
<code>ssh-copy-id root@web02</code> | |||
Faire un test en se connectant sur chacun des serveurs depuis les autres | |||
=== Installation de Gluster === | |||
<code>apt-get install glusterfs-server -y</code> | |||
==== Création des partitions sur chacun des serveurs ==== | |||
<code>fdisk /dev/vdb</code> | |||
<code>mkfs.xfs /dev/sdb1</code> | |||
==== Création du montage sur chacun des serveurs ==== | |||
<code>mkdir /mnt/gluster01</code> | |||
===== Récuperation de l'UUID du disque pour le montage ===== | |||
<code>blkid /dev/vdb1</code> | |||
Se qui doit répondre quelque chose comme ceci (attention c'est différent pour chacun des serveurs) :<syntaxhighlight lang="bash"> | |||
/dev/vdb1: UUID="5a301614-2c75-4b59-a053-8918c1093685" BLOCK_SIZE="512" TYPE="xfs" PARTUUID="8301f8da-45f8-4b3b-8c73-8a6d7a84b64f" | |||
</syntaxhighlight><code>nano /etc/fstab</code> | |||
* Ajouter la ligne (à adapter en fonction de la réponse précédente) : | |||
<syntaxhighlight lang="bash"> | |||
/dev/disk/by-uuid/5a301614-2c75-4b59-a053-8918c1093685 /mnt/gluster01 xfs defaults 0 0 | |||
</syntaxhighlight> | |||
* Recharger le démon : | |||
<code>systemctl daemon-reload</code> | |||
* Recharger fstab | |||
<code>mount -a</code> | |||
=== Création du cluster Glusterfs === | |||
==== Sur Web01 uniquement ==== | |||
* On intègre les 12 autres serveurs au Cluster | |||
<code>gluster peer probe web02</code> | |||
<code>gluster peer probe web03</code> | |||
* Petit contrôle | |||
<code>gluster pool list</code> | |||
=== Création du volume Gluster === | |||
==== Sur chacun des serveurs ==== | |||
<code>mkdir /mnt/gluster01/b01</code> | |||
==== Sur Web01 uniquement ==== | |||
* On crée le volume avec les différents paramètres nécessaires | |||
<code>gluster volume create volume1 replica 3 web01:/mnt/gluster01/b01 web02:/mnt/gluster01/b01 web03:/mnt/gluster01/b01</code> | |||
* On démarre le volume | |||
<code>gluster volume start volume1</code> | |||
=== Montage du volume Gluster === | |||
* On crée le point de montage | |||
<code>mkdir /mnt/www</code> | |||
* On édite à nouveau fstab | |||
<code>nano /etc/fstab</code> | |||
* On ajout cette ligne | |||
<syntaxhighlight lang="bash"> | |||
localhost:/volume1 /mnt/www glusterfs defaults,_netdev,x-systemd.requires=glusterd.service 0 0 | |||
</syntaxhighlight> | |||
* On recharge le démon | |||
<code>systemctl daemon-reload</code> | |||
* On recharge fstab | |||
<code>mount -a</code> | |||
=== Création du lien vers le dossier /var/www === | |||
* Depuis /var | |||
<code>ln -s ../mnt/www</code> | |||
... Reste à installer & configurer Apache sur chacun des serveurs . | |||
== Liens == | == Liens == | ||
Ligne 92 : | Ligne 216 : | ||
https://www.virtualizationhowto.com/2024/10/glusterfs-configuration-in-ubuntu-server-22-04-and-24-04/ | https://www.virtualizationhowto.com/2024/10/glusterfs-configuration-in-ubuntu-server-22-04-and-24-04/ | ||
https://docs.gluster.org/en/main/ | |||
https://docs.gluster.org/en/main/Administrator-Guide/Tuning-Volume-Options/ | |||
[[Catégorie:Gluster]] | [[Catégorie:Gluster]] | ||
<html> | |||
<script src='https://storage.ko-fi.com/cdn/scripts/overlay-widget.js'></script> | |||
<script> | |||
kofiWidgetOverlay.draw('yakakliker', { | |||
'type': 'floating-chat', | |||
'floating-chat.donateButton.text': 'Café', | |||
'floating-chat.donateButton.background-color': '#00b9fe', | |||
'floating-chat.donateButton.text-color': '#fff' | |||
}); | |||
</script> | |||
</html> | |||
<html> | |||
<a href="https://www.compteurdevisite.com" title="compteur web gratuit sans pub"><img src="https://counter6.optistats.ovh/private/compteurdevisite.php?c=b4epghealnwlf7wuq7gn3ygll9aywrfx" border="0" title="compteur web gratuit sans pub" alt="compteur web gratuit sans pub"></a> | |||
</html> |
Dernière version du 17 février 2025 à 14:34
Introduction
L'objectif d'aujourd'hui est de créer un cluster de 3 serveurs web Ubuntu répliqués via Glusterfs
Chaque serveur aura un disque système (/dev/vda) et un disque datas (/dev/vdb)
Un réseau dédié va servir à la réplication Gluster.
Un 2ème réseau dédié va servir pour le service web (communication avec le reverse proxy)
Un 3ème réseau servira pour les accès Internet des serveurs
Paramètres des serveurs
- Web01 :
- IP LAN : 172.20.37.1/29
- IP GLUSTER : 100.85.37.1/29
- IP WWW : 10.20.37.1/29
- Web02 :
- IP LAN : 172.20.37.2/29
- IP GLUSTER : 100.85.37.2/29
- IP WWW : 10.20.37.2/29
- Web03 :
- IP LAN : 172.20.37.3/29
- IP GLUSTER : 100.85.37.3/29
- IP WWW : 10.20.37.3/29
Installation
Edition des fichiers /etc/hosts sur les 3 serveurs
Web01
127.0.0.1 localhost
127.0.1.1 web01.yakakliker.org web01
100.85.37.2 web02.yakakliker.org web02
100.85.37.3 web03.yakakliker.org web03
100.85.37.1 web01.yakakliker.org web01
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
sudo hostnamectl set-hostname web01
reboot
Web02
127.0.0.1 localhost
127.0.1.1 web02.yakakliker.org web02
100.85.37.1 web01.yakakliker.org web01
100.85.37.3 web03.yakakliker.org web03
100.85.37.2 web02.yakakliker.org web02
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
sudo hostnamectl set-hostname web02
reboot
Web03
127.0.0.1 localhost
127.0.1.1 web03.yakakliker.org web03
100.85.37.2 web02.yakakliker.org web02
100.85.37.1 web01.yakakliker.org web01
100.85.37.3 web03.yakakliker.org web03
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
sudo hostnamectl set-hostname web03
reboot
Création et partage des clés SSH
Création des clés
Sur chacun des serveurs
ssh-keygen -t rsa -b 4096
Partage des clés entre serveurs
Web01
ssh-copy-id root@web02
ssh-copy-id root@web03
Web02
ssh-copy-id root@web01
ssh-copy-id root@web03
Web03
ssh-copy-id root@web01
ssh-copy-id root@web02
Faire un test en se connectant sur chacun des serveurs depuis les autres
Installation de Gluster
apt-get install glusterfs-server -y
Création des partitions sur chacun des serveurs
fdisk /dev/vdb
mkfs.xfs /dev/sdb1
Création du montage sur chacun des serveurs
mkdir /mnt/gluster01
Récuperation de l'UUID du disque pour le montage
blkid /dev/vdb1
Se qui doit répondre quelque chose comme ceci (attention c'est différent pour chacun des serveurs) :
/dev/vdb1: UUID="5a301614-2c75-4b59-a053-8918c1093685" BLOCK_SIZE="512" TYPE="xfs" PARTUUID="8301f8da-45f8-4b3b-8c73-8a6d7a84b64f"
nano /etc/fstab
- Ajouter la ligne (à adapter en fonction de la réponse précédente) :
/dev/disk/by-uuid/5a301614-2c75-4b59-a053-8918c1093685 /mnt/gluster01 xfs defaults 0 0
- Recharger le démon :
systemctl daemon-reload
- Recharger fstab
mount -a
Création du cluster Glusterfs
Sur Web01 uniquement
- On intègre les 12 autres serveurs au Cluster
gluster peer probe web02
gluster peer probe web03
- Petit contrôle
gluster pool list
Création du volume Gluster
Sur chacun des serveurs
mkdir /mnt/gluster01/b01
Sur Web01 uniquement
- On crée le volume avec les différents paramètres nécessaires
gluster volume create volume1 replica 3 web01:/mnt/gluster01/b01 web02:/mnt/gluster01/b01 web03:/mnt/gluster01/b01
- On démarre le volume
gluster volume start volume1
Montage du volume Gluster
- On crée le point de montage
mkdir /mnt/www
- On édite à nouveau fstab
nano /etc/fstab
- On ajout cette ligne
localhost:/volume1 /mnt/www glusterfs defaults,_netdev,x-systemd.requires=glusterd.service 0 0
- On recharge le démon
systemctl daemon-reload
- On recharge fstab
mount -a
Création du lien vers le dossier /var/www
- Depuis /var
ln -s ../mnt/www
... Reste à installer & configurer Apache sur chacun des serveurs .
Liens
https://www.it-connect.fr/tuto-glusterfs-cluster-haute-disponibilite-donnees-almalinux-ou-debian/
https://www.howtoforge.com/how-to-install-and-configure-glusterfs-on-ubuntu-22-04/
https://www.server-world.info/en/note?os=Ubuntu_22.04&p=glusterfs&f=2
https://docs.gluster.org/en/main/
https://docs.gluster.org/en/main/Administrator-Guide/Tuning-Volume-Options/