<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>https://doc.ycharbi.fr/index.php?action=history&amp;feed=atom&amp;title=Glusterfs</id>
	<title>Glusterfs - Historique des versions</title>
	<link rel="self" type="application/atom+xml" href="https://doc.ycharbi.fr/index.php?action=history&amp;feed=atom&amp;title=Glusterfs"/>
	<link rel="alternate" type="text/html" href="https://doc.ycharbi.fr/index.php?title=Glusterfs&amp;action=history"/>
	<updated>2026-06-12T20:52:11Z</updated>
	<subtitle>Historique des versions pour cette page sur le wiki</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://doc.ycharbi.fr/index.php?title=Glusterfs&amp;diff=1427&amp;oldid=prev</id>
		<title>Ycharbi : Page créée avec « Category:systèmes_de_fichiers  [https://fr.wikipedia.org/wiki/GlusterFS GlusterFS] (&#039;&#039;GNU Cluster File System&#039;&#039;) est un [https://fr.wikipedia.org/wiki/Syst%C3%A8me_de_fichiers_distribu%C3%A9 système de fichiers distribué] libre ([https://www.gnu.org/licenses/old-licenses/gpl-2.0.html GPLv2]) disponible sous &#039;&#039;GNU/Linux&#039;&#039; (via [https://fr.wikipedia.org/wiki/Filesystem_in_Userspace FUSE]) et &#039;&#039;BSD&#039;&#039;. Initialement créé par une entreprise indienne rachetée par... »</title>
		<link rel="alternate" type="text/html" href="https://doc.ycharbi.fr/index.php?title=Glusterfs&amp;diff=1427&amp;oldid=prev"/>
		<updated>2023-02-23T18:49:09Z</updated>

		<summary type="html">&lt;p&gt;Page créée avec « &lt;a href=&quot;/index.php/Cat%C3%A9gorie:Syst%C3%A8mes_de_fichiers&quot; title=&quot;Catégorie:Systèmes de fichiers&quot;&gt;Category:systèmes_de_fichiers&lt;/a&gt;  [https://fr.wikipedia.org/wiki/GlusterFS GlusterFS] (&amp;#039;&amp;#039;GNU Cluster File System&amp;#039;&amp;#039;) est un [https://fr.wikipedia.org/wiki/Syst%C3%A8me_de_fichiers_distribu%C3%A9 système de fichiers distribué] libre ([https://www.gnu.org/licenses/old-licenses/gpl-2.0.html GPLv2]) disponible sous &amp;#039;&amp;#039;GNU/Linux&amp;#039;&amp;#039; (via [https://fr.wikipedia.org/wiki/Filesystem_in_Userspace FUSE]) et &amp;#039;&amp;#039;BSD&amp;#039;&amp;#039;. Initialement créé par une entreprise indienne rachetée par... »&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nouvelle page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Category:systèmes_de_fichiers]]&lt;br /&gt;
&lt;br /&gt;
[https://fr.wikipedia.org/wiki/GlusterFS GlusterFS] (&amp;#039;&amp;#039;GNU Cluster File System&amp;#039;&amp;#039;) est un [https://fr.wikipedia.org/wiki/Syst%C3%A8me_de_fichiers_distribu%C3%A9 système de fichiers distribué] libre ([https://www.gnu.org/licenses/old-licenses/gpl-2.0.html GPLv2]) disponible sous &amp;#039;&amp;#039;GNU/Linux&amp;#039;&amp;#039; (via [https://fr.wikipedia.org/wiki/Filesystem_in_Userspace FUSE]) et &amp;#039;&amp;#039;BSD&amp;#039;&amp;#039;. Initialement créé par une entreprise indienne rachetée par [https://fr.wikipedia.org/wiki/Red_Hat Red Hat] en 2011, le projet est aujourd&amp;#039;hui supporté par ce dernier.&lt;br /&gt;
&lt;br /&gt;
Il permet la gestion de volumes de données sur le réseaux en se basant sur une grappe de machines, appelée pairs, en suivant le principe pair à pair. Les machines de la grappe se partages une partie d&amp;#039;un volume et apparaissent alors comme un de ses composant sous le nom de biques (&amp;#039;&amp;#039;bricks&amp;#039;&amp;#039;). Une brique se décrit sous la forme &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; inline&amp;gt;nomHôte:/chemin/partagé/au/volume&amp;lt;/syntaxhighlight&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;img src=&amp;quot;https://doc.ycharbi.fr/fichiers/systèmes_de_fichiers/glusterfs/Schéma_GlusterFS.svg&amp;quot; alt=&amp;quot;Schéma GlusterFS&amp;quot; style=&amp;quot;display: block; height:auto; margin-left:auto; margin-right:auto;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Modes de fonctionnement=&lt;br /&gt;
&amp;#039;&amp;#039;GlusterFS&amp;#039;&amp;#039; permet l&amp;#039;utilisation de plusieurs [https://docs.gluster.org/en/latest/Quick-Start-Guide/Architecture/ modes] de gestion de données. Il est ainsi possible de les répartir selon des besoins différents sur l&amp;#039;ensemble des briques composants la grappe. &lt;br /&gt;
&lt;br /&gt;
==Volume distribué==&lt;br /&gt;
Ce [https://docs.gluster.org/en/latest/Administrator-Guide/Setting-Up-Volumes/#creating-distributed-volumes mode] réparti les données sur le volume en plaçant un fichier sur une seule brique à la fois. Il est conçu pour combiner l&amp;#039;espace de tous les disques le composant. Il n&amp;#039;offre alors aucune redondance mais permet une grande évolutivité de l&amp;#039;espace de stockage. Il s&amp;#039;agit du mode par défaut.&lt;br /&gt;
&lt;br /&gt;
===Exemple===&lt;br /&gt;
Si 3 serveurs ont chacun un disque de 2 To, la capacité utile totale sera de 6 To en se fiant au calcul suivant :&lt;br /&gt;
 &amp;lt;Taille utilisable&amp;gt; = &amp;lt;taille des briques&amp;gt; * &amp;lt;nombre de briques&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Volume répliqué==&lt;br /&gt;
[https://docs.gluster.org/en/latest/Administrator-Guide/Setting-Up-Volumes/#creating-replicated-volumes Ici] le principe est inverse, chaque fichier est répliqué sur chaque brique composant le volume. La redondance est maximale mais aucun gain d&amp;#039;espace dû à au nombres de disques n&amp;#039;est occasionné.&lt;br /&gt;
&lt;br /&gt;
===Exemple===&lt;br /&gt;
Si 3 serveurs ont chacun un disque de 2 To, la capacité utile totale sera de 2 To en se fiant au calcul suivant :&lt;br /&gt;
 &amp;lt;Taille utilisable&amp;gt; = &amp;lt;taille des briques&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Volume répliqué distribué==&lt;br /&gt;
Ce [https://docs.gluster.org/en/latest/Administrator-Guide/Setting-Up-Volumes/#creating-distributed-volumes mode] est une combinaison des deux premiers. Le nombre de briques le composant doit être un multiple du nombre de répliques. 4 pairs minimum sont nécessaires. Ce référer à la documentation officielle pour les détails.&lt;br /&gt;
&lt;br /&gt;
===Exemple===&lt;br /&gt;
Si 4 serveurs ont chacun un disque de 2 To, la capacité utile totale sera de 4 To en se fiant au calcul suivant :&lt;br /&gt;
 &amp;lt;Taille utilisable&amp;gt; = &amp;lt;taille des briques&amp;gt; * (&amp;lt;nombre de briques&amp;gt; / 2)&lt;br /&gt;
&lt;br /&gt;
==Volume dispersé==&lt;br /&gt;
Le but de ce [https://docs.gluster.org/en/latest/Administrator-Guide/Setting-Up-Volumes/#creating-dispersed-volumes mode] est de scinder les fichiers pour en disperser les fragments sur les briques composants le volume. Ceux-ci sont utilisés pour obtenir un niveau de fiabilité configurable avec un minimum de perte d&amp;#039;espace. Il est possible de définir le nombre de redondance tant qu&amp;#039;il est strictement inférieur au nombre de briques divisé par 2.&lt;br /&gt;
&lt;br /&gt;
===Exemple===&lt;br /&gt;
Si 3 serveurs ont chacun un disque de 2 To, la capacité utile totale sera de 4 To en se fiant au calcul suivant :&lt;br /&gt;
 &amp;lt;Taille utilisable&amp;gt; = &amp;lt;taille des briques&amp;gt; * (&amp;lt;nombre de briques&amp;gt; - &amp;lt;redondance&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
==Volume dispersé distribué==&lt;br /&gt;
Les volumes [https://docs.gluster.org/en/latest/Administrator-Guide/Setting-Up-Volumes/#creating-distributed-dispersed-volumes dispersés distribués] sont équivalents aux volumes répliqués distribués, mais ils utilisent des sous-volumes dispersés au lieu de volumes répliqués. Le nombre de briques doit être un multiple du premier sous-volume. Un minium de 6 pairs est exigé dans ce mode.&lt;br /&gt;
&lt;br /&gt;
Son objectif est de faire évoluer facilement la taille du volume et de répartir la charge sur plusieurs briques.&lt;br /&gt;
&lt;br /&gt;
===Exemple===&lt;br /&gt;
Si 6 serveurs ont chacun un disque de 2 To, la capacité utile totale sera de 5 To en se fiant au calcul suivant :&lt;br /&gt;
 &amp;lt;Taille utilisable&amp;gt; = (&amp;lt;taille des briques&amp;gt; * (&amp;lt;nombre de briques&amp;gt; - &amp;lt;redondance&amp;gt;)) / 2&lt;br /&gt;
&lt;br /&gt;
=Installation et mise en œuvre=&lt;br /&gt;
==installation==&lt;br /&gt;
L&amp;#039;outil est disponible dans les dépôts de &amp;#039;&amp;#039;Debian Stable&amp;#039;&amp;#039;&lt;br /&gt;
 apt install --no-install-recommends glusterfs-server&lt;br /&gt;
&lt;br /&gt;
Le service est censé démarrer à l&amp;#039;issue&lt;br /&gt;
 systemctl status glusterd&lt;br /&gt;
&lt;br /&gt;
==Création d&amp;#039;une grappe==&lt;br /&gt;
La création d&amp;#039;une grappe s&amp;#039;effectue à l’association de pairs (machines) depuis l&amp;#039;un d&amp;#039;eux. 3 machines sont utilisées dans notre exemple. Elle se trouvent dans le même &amp;#039;&amp;#039;LAN&amp;#039;&amp;#039; et portent les noms &amp;#039;&amp;#039;srv1&amp;#039;&amp;#039;; &amp;#039;&amp;#039;srv2&amp;#039;&amp;#039;; &amp;#039;&amp;#039;srv3&amp;#039;&amp;#039; (ajoutés dans &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; inline&amp;gt;/etc/hosts&amp;lt;/syntaxhighlight&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Sur l&amp;#039;une des machines de la future grappe (ici &amp;#039;&amp;#039;srv1&amp;#039;&amp;#039;)&lt;br /&gt;
 gluster peer probe srv2&lt;br /&gt;
 gluster peer probe srv3&lt;br /&gt;
&lt;br /&gt;
{{attention|L&amp;#039;aspect sécurité de la solution n&amp;#039;est pas quelque chose de très pris au sérieux. En témoigne la section dédiée de la [https://docs.gluster.org/en/main/security/ documentation officielle]. Le service écoute sur toutes les interfaces sans authentification (il va sans dire que le trafic n&amp;#039;est pas non plus chiffré...). Il suffit alors à un attaquant de s&amp;#039;ajouter de lui même dans la grappe pour avoir accès aux données. L&amp;#039;utilisation d&amp;#039;IPSec en mode transport est à privilégier dans un réseau de production.}}&lt;br /&gt;
&lt;br /&gt;
Il est possible de lister les pairs de la grappe avec la commande&lt;br /&gt;
 gluster pool list&lt;br /&gt;
&lt;br /&gt;
==Création d&amp;#039;un volume==&lt;br /&gt;
Le mode de fonctionnement d&amp;#039;un volume est définit par les paramètres de répartition passés à la commande de sa création. Nous utiliserons un volume dispersé pour la suite de la documentation.&lt;br /&gt;
&lt;br /&gt;
le répertoire partagé doit existé sur tous les pairs&lt;br /&gt;
 mkdir -p /srv/gluster/volume1&lt;br /&gt;
&lt;br /&gt;
Exécuter sur un des pairs&lt;br /&gt;
 gluster volume create volume1 disperse 3 redundancy 1 srv1:/srv/gluster/volume1 srv2:/srv/gluster/volume1 srv3:/srv/gluster/volume1 force&lt;br /&gt;
ou (méthode simplifiée)&lt;br /&gt;
 gluster volume create volume1 disperse 3 redundancy 1 srv{1..3}:/srv/gluster/volume1 force&lt;br /&gt;
ou (méthode encore plus simplifiée)&lt;br /&gt;
 gluster volume create volume1 disperse 3 srv{1..3}:/srv/gluster/volume1 force&lt;br /&gt;
&lt;br /&gt;
L&amp;#039;utilisation du paramètre &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; inline&amp;gt;force&amp;lt;/syntaxhighlight&amp;gt; permet d&amp;#039;utiliser la commande avec l&amp;#039;utilisateur &amp;#039;&amp;#039;root&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
Voici un autre exemple pour un volume répliqué&lt;br /&gt;
 gluster volume create volume1 replica 3 srv1:/srv/gluster/volume1 srv2:/srv/gluster/volume1 srv3:/srv/gluster/volume1 force&lt;br /&gt;
&lt;br /&gt;
Vous noterez que le mot clé &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; inline&amp;gt;disperse&amp;lt;/syntaxhighlight&amp;gt; est remplacé par &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; inline&amp;gt;replica&amp;lt;/syntaxhighlight&amp;gt; dans ce mode.&lt;br /&gt;
&lt;br /&gt;
{{info|Pour rappel, dans ce mode, le nombre de réplication doit être égale au nombre de machines déclarées par la suite.}}&lt;br /&gt;
&lt;br /&gt;
==Gestion des volumes==&lt;br /&gt;
===Démarrer un volume===&lt;br /&gt;
 gluster volume start volume1&lt;br /&gt;
&lt;br /&gt;
===Montage du volume===&lt;br /&gt;
Tous les pairs peuvent monter le volume en local via le réseau. Pour les machines ne faisant pas parties de la grappe, un protocole de partage réseau, tel que [[Nfs|NFS]] ou [[Samba|SMB]], doit être utilisé.&lt;br /&gt;
&lt;br /&gt;
Montage non persistant&lt;br /&gt;
 mount.glusterfs localhost:/volume1 /mnt&lt;br /&gt;
&lt;br /&gt;
Montage persistant :&lt;br /&gt;
 echo &amp;#039;localhost:/volume1 /mnt glusterfs defaults,_netdev,backupvolfile-server=localhost 0 0&amp;#039; &amp;gt;&amp;gt; /etc/fstab&lt;br /&gt;
 mount localhost:/volume1&lt;br /&gt;
&lt;br /&gt;
===Lister les volumes===&lt;br /&gt;
 gluster volume list&lt;br /&gt;
&lt;br /&gt;
===Supervision===&lt;br /&gt;
&amp;#039;&amp;#039;GlusterFS&amp;#039;&amp;#039; écrit son journal dans &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; inline&amp;gt;/var/log/glusterfs/glusterd.log&amp;lt;/syntaxhighlight&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Il n&amp;#039;existe pas de solution de supervision intégrée à l&amp;#039;outil. Il est cependant assez simple d&amp;#039;imaginer une alerte automatisée en ordonnançant la commande de statut des pairs&lt;br /&gt;
 gluster --mode=script peer status | grep -B2 Disconnected&lt;br /&gt;
&lt;br /&gt;
{{info|L&amp;#039;ajout de l&amp;#039;option &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; inline&amp;gt;--mode=script&amp;lt;/syntaxhighlight&amp;gt; à une commande &amp;#039;&amp;#039;CLI&amp;#039;&amp;#039; garanti l&amp;#039;exécution de la commande sans demande de confirmation.}}&lt;br /&gt;
&lt;br /&gt;
==Remplacement d&amp;#039;une machine==&lt;br /&gt;
Dans le cas de la défaillance d&amp;#039;un des pairs, son remplacement s&amp;#039;effectue par l&amp;#039;ajout d&amp;#039;une nouvelle machine suivit du retrait de l&amp;#039;ancienne.&lt;br /&gt;
&lt;br /&gt;
Ajout d&amp;#039;une nouvelle machine&lt;br /&gt;
 gluster peer probe srv4&lt;br /&gt;
&lt;br /&gt;
Récupération du nom de la brique à remplacer&lt;br /&gt;
 gluster volume info all&lt;br /&gt;
&lt;br /&gt;
Remplacement de la brique (penser à le faire pour tous les volumes la comprenant)&lt;br /&gt;
 gluster volume replace-brick volume1 srv3:/srv/gluster/volume1 srv4:/srv/gluster/volume1 commit force&lt;br /&gt;
&lt;br /&gt;
Suppression du pair de la grappe&lt;br /&gt;
 gluster peer detach srv3&lt;br /&gt;
&lt;br /&gt;
=Sources=&lt;br /&gt;
* https://docs.gluster.org/en/latest/&lt;br /&gt;
* https://thenewstack.io/tutorial-create-a-docker-swarm-with-persistent-storage-using-glusterfs/&lt;/div&gt;</summary>
		<author><name>Ycharbi</name></author>
	</entry>
</feed>