LINUX:Glusterfs - Type Dispersé
→ retour au menu de Glusterfs - Gestion des serveurs
But
Ce quatrième type dispersé correspond au RAID6. Les fichiers sont distribués sur les divers espaces disques individuels des machines du cluster. Chaque fichier est découpé en morceaux égaux ou blocs, le dernier est complété par du vide et il y a un ou plusieurs blocs de contrôle. Chaque espace disque accueille à tour de rôle un de ces blocs.
Ce type est particulièrement adapté aux gros fichiers.
Notons que les commandes peuvent se faire à partir de n'importe quel serveur du cluster.
Paramètres
Pour ce type, il faut définir les nombres de blocs.
Ils sont définis au travers de trois paramètres:
- disperse : le nombre total de blocs
- disperse-data : le nombre de blocs qui vont contenir les parties des fichiers
- redundancy : le nombre de blocs de contrôle
Ces trois paramètres doivent répondre aux contraintes suivantes:
- disperse = disperse-data + redundancy
- disperse = "nombre d'espaces disques individuels"
Si un paramètre est omis, il est déduit de ces contraintes.
Dispersé sur six espaces disques - 1er cas
Ce premier exemple va créer un volume utilisant six espaces disques individuels se trouvant sur six machines. Nous n'utiliserons qu'un bloc de contrôle.
Mise en place
La commande suivante crée un volume nommé "diskgfs8" sur les machines "sv1.home.dom", "sv2.home.dom", "sv3.home.dom", "sv4.home.dom", "sv5.home.dom" et "sv6.home.dom":
gluster volume create diskgfs8 disperse-data 5 redundancy 1 transport tcp \ sv1.home.dom:/disk1/glusterfs/brique8 sv2.home.dom:/disk1/glusterfs/brique8 \ sv3.home.dom:/disk1/glusterfs/brique8 sv4.home.dom:/disk1/glusterfs/brique8 \ sv5.home.dom:/disk1/glusterfs/brique8 sv6.home.dom:/disk1/glusterfs/brique8
Ici nous avons un message:
This configuration is not optimal on most workloads. Do you want to use it ? (y/n)
La raison est une question d'optimisation. Dans le cas de six blocs, deux blocs de contrôle sont recommandés. On valide.
Sur chacune de ces machines, un sous-répertoire "brique8" est créé automatiquement sous le répertoire "/disk1/glusterfs". Je conseille fortement de ne pas créer ce répertoire "brique8" au préalable. Glusterfs va lui attribuer des droits spéciaux à ne pas modifier. Et en cas de réutilisation, vous aurez des problèmes. Pour une question de clarté, nous utilisons la même arborescence de répertoires.
On remarque tout de suite que comme le système RAID5, si un disque entre en erreur, on ne perd pas ces fichiers.
Maintenant que ce volume est créé, il faut le démarrer pour le rendre accessible grâce à la commande suivante:
gluster volume start diskgfs8
Statut
Les informations ci-dessus peuvent être obtenues grâce à la commande suivante pour le volume "diskgfs8":
gluster volume status diskgfs8
qui donne:
Status of volume: diskgfs8 Gluster process TCP Port RDMA Port Online Pid ------------------------------------------------------------------------------ Brick sv1.home.dom:/disk1/glusterfs/brique8 52510 0 Y 3493 Brick sv2.home.dom:/disk1/glusterfs/brique8 55840 0 Y 2167 Brick sv3.home.dom:/disk1/glusterfs/brique8 52590 0 Y 2190 Brick sv4.home.dom:/disk1/glusterfs/brique8 56440 0 Y 1533 Brick sv5.home.dom:/disk1/glusterfs/brique8 57202 0 Y 1539 Brick sv6.home.dom:/disk1/glusterfs/brique8 55632 0 Y 26456 Self-heal Daemon on localhost N/A N/A Y 3529 Self-heal Daemon on sv4.home.dom N/A N/A Y 1566 Self-heal Daemon on sv2.home.dom N/A N/A Y 2199 Self-heal Daemon on sv3.home.dom N/A N/A Y 2223 Self-heal Daemon on sv5.home.dom N/A N/A Y 1574 Self-heal Daemon on sv6.home.dom N/A N/A Y 26472 Task Status of Volume diskgfs8 ------------------------------------------------------------------------------ There are no active volume tasks
D'autres informations peuvent être obtenues:
gluster volume info diskgfs8
qui donne:
Volume Name: diskgfs8 Type: Distributed-Disperse Volume ID: 9c019d91-5c92-4475-b515-34d1ea1b0e91 Status: Started Snapshot Count: 0 Number of Bricks: 1 x (5 + 1) = 6 Transport-type: tcp Bricks: Brick1: sv1.home.dom:/disk1/glusterfs/brique8 Brick2: sv2.home.dom:/disk1/glusterfs/brique8 Brick3: sv3.home.dom:/disk1/glusterfs/brique8 Brick4: sv4.home.dom:/disk1/glusterfs/brique8 Brick5: sv5.home.dom:/disk1/glusterfs/brique8 Brick6: sv6.home.dom:/disk1/glusterfs/brique8 Options Reconfigured: storage.fips-mode-rchecksum: on transport.address-family: inet nfs.disable: on
On remarque la notation du nombre de briques: 1 x (5 + 1) = 6
- Pas de distribution (le "1" du début)
- disperse-data = 5
- redundancy = 1
- disperse = 6
Dispersé sur six espaces disques - 2ème cas
Ce second exemple va créer un volume utilisant six espaces disques individuels se trouvant sur six machines. Comme recommandé, nous utiliserons deux blocs de contrôle.
Mise en place
La commande suivante crée un volume nommé "diskgfs9" sur les machines "sv1.home.dom", "sv2.home.dom", "sv3.home.dom", "sv4.home.dom", "sv5.home.dom" et "sv6.home.dom":
gluster volume create diskgfs9 disperse-data 4 redundancy 2 transport tcp \ sv1.home.dom:/disk1/glusterfs/brique9 sv2.home.dom:/disk1/glusterfs/brique9 \ sv3.home.dom:/disk1/glusterfs/brique9 sv4.home.dom:/disk1/glusterfs/brique9 \ sv5.home.dom:/disk1/glusterfs/brique9 sv6.home.dom:/disk1/glusterfs/brique9
Sur chacune de ces machines, un sous-répertoire "brique9" est créé automatiquement sous le répertoire "/disk1/glusterfs". Je conseille fortement de ne pas créer ce répertoire "brique9" au préalable. Glusterfs va lui attribuer des droits spéciaux à ne pas modifier. Et en cas de réutilisation, vous aurez des problèmes. Pour une question de clarté, nous utilisons la même arborescence de répertoires.
On remarque tout de suite que comme le système RAID6, si deux disques entrent en erreur, on ne perd pas ces fichiers.
Maintenant que ce volume est créé, il faut le démarrer pour le rendre accessible grâce à la commande suivante:
gluster volume start diskgfs9
Statut
Les informations ci-dessus peuvent être obtenues grâce à la commande suivante pour le volume "diskgfs9":
gluster volume status diskgfs9
qui donne:
Status of volume: diskgfs9 Gluster process TCP Port RDMA Port Online Pid ------------------------------------------------------------------------------ Brick sv1.home.dom:/disk1/glusterfs/brique9 54980 0 Y 3610 Brick sv2.home.dom:/disk1/glusterfs/brique9 60424 0 Y 2262 Brick sv3.home.dom:/disk1/glusterfs/brique9 60537 0 Y 2287 Brick sv4.home.dom:/disk1/glusterfs/brique9 56533 0 Y 1627 Brick sv5.home.dom:/disk1/glusterfs/brique9 52008 0 Y 1637 Brick sv6.home.dom:/disk1/glusterfs/brique9 56488 0 Y 26520 Self-heal Daemon on localhost N/A N/A Y 3529 Self-heal Daemon on sv4.home.dom N/A N/A Y 1566 Self-heal Daemon on sv2.home.dom N/A N/A Y 2199 Self-heal Daemon on sv3.home.dom N/A N/A Y 2223 Self-heal Daemon on sv5.home.dom N/A N/A Y 1574 Self-heal Daemon on sv6.home.dom N/A N/A Y 26472 Task Status of Volume diskgfs9 ------------------------------------------------------------------------------ There are no active volume tasks
D'autres informations peuvent être obtenues:
gluster volume info diskgfs9
qui donne:
Volume Name: diskgfs9 Type: Distributed-Disperse Volume ID: 0141954a-750a-473f-b83b-18b2038674fe Status: Started Snapshot Count: 0 Number of Bricks: 1 x (4 + 2) = 6 Transport-type: tcp Bricks: Brick1: sv1.home.dom:/disk1/glusterfs/brique9 Brick2: sv2.home.dom:/disk1/glusterfs/brique9 Brick3: sv3.home.dom:/disk1/glusterfs/brique9 Brick4: sv4.home.dom:/disk1/glusterfs/brique9 Brick5: sv5.home.dom:/disk1/glusterfs/brique9 Brick6: sv6.home.dom:/disk1/glusterfs/brique9 Options Reconfigured: storage.fips-mode-rchecksum: on transport.address-family: inet nfs.disable: on
On remarque la notation du nombre de briques: 1 x (4 + 2) = 6
- Pas de distribution (le "1" du début)
- disperse-data = 4
- redundancy = 2
- disperse = 6
Dispersé sur six espaces disques - 3ème cas
Ce troisième exemple va créer un volume utilisant six espaces disques individuels se trouvant sur six machines. Nous ne spécifierons que le nombre total de blocs.
Mise en place
La commande suivante crée un volume nommé "diskgfs10" sur les machines "sv1.home.dom", "sv2.home.dom", "sv3.home.dom", "sv4.home.dom", "sv5.home.dom" et "sv6.home.dom":
gluster volume create diskgfs10 disperse 6 transport tcp \ sv1.home.dom:/disk1/glusterfs/brique10 sv2.home.dom:/disk1/glusterfs/brique10 \ sv3.home.dom:/disk1/glusterfs/brique10 sv4.home.dom:/disk1/glusterfs/brique10 \ sv5.home.dom:/disk1/glusterfs/brique10 sv6.home.dom:/disk1/glusterfs/brique10
Ici nous avons un message:
The optimal redundancy for this configuration is 2. Do you want to create the volume with this value ? (y/n)
La raison est une question d'optimisation. Dans le cas de six blocs, deux blocs de contrôle sont recommandés. C'est ce qu'il propose. On valide.
Sur chacune de ces machines, un sous-répertoire "brique10" est créé automatiquement sous le répertoire "/disk1/glusterfs". Je conseille fortement de ne pas créer ce répertoire "brique10" au préalable. Glusterfs va lui attribuer des droits spéciaux à ne pas modifier. Et en cas de réutilisation, vous aurez des problèmes. Pour une question de clarté, nous utilisons la même arborescence de répertoires.
On remarque tout de suite que comme le système RAID6, si deux disques entrent en erreur, on ne perd pas ces fichiers.
Maintenant que ce volume est créé, il faut le démarrer pour le rendre accessible grâce à la commande suivante:
gluster volume start diskgfs10
Statut
Les informations ci-dessus peuvent être obtenues grâce à la commande suivante pour le volume "diskgfs10":
gluster volume status diskgfs10
qui donne:
Status of volume: diskgfs10 Gluster process TCP Port RDMA Port Online Pid ------------------------------------------------------------------------------- Brick sv1.home.dom:/disk1/glusterfs/brique10 59567 0 Y 3705 Brick sv2.home.dom:/disk1/glusterfs/brique10 50379 0 Y 2338 Brick sv3.home.dom:/disk1/glusterfs/brique10 55454 0 Y 2363 Brick sv4.home.dom:/disk1/glusterfs/brique10 51415 0 Y 1703 Brick sv5.home.dom:/disk1/glusterfs/brique10 59923 0 Y 1711 Brick sv6.home.dom:/disk1/glusterfs/brique10 57405 0 Y 26640 Self-heal Daemon on localhost N/A N/A Y 3529 Self-heal Daemon on sv4.home.dom N/A N/A Y 1566 Self-heal Daemon on sv2.home.dom N/A N/A Y 2199 Self-heal Daemon on sv3.home.dom N/A N/A Y 2223 Self-heal Daemon on sv5.home.dom N/A N/A Y 1574 Self-heal Daemon on sv6.home.dom N/A N/A Y 26472 Task Status of Volume diskgfs10 ------------------------------------------------------------------------------ There are no active volume tasks
D'autres informations peuvent être obtenues:
gluster volume info diskgfs10
qui donne:
Volume Name: diskgfs10 Type: Distributed-Disperse Volume ID: faf59965-a453-431b-9e2d-7fba9c69da9a Status: Started Snapshot Count: 0 Number of Bricks: 1 x (4 + 2) = 6 Transport-type: tcp Bricks: Brick1: sv1.home.dom:/disk1/glusterfs/brique10 Brick2: sv2.home.dom:/disk1/glusterfs/brique10 Brick3: sv3.home.dom:/disk1/glusterfs/brique10 Brick4: sv4.home.dom:/disk1/glusterfs/brique10 Brick5: sv0.home.dom:/disk1/glusterfs/brique10 Brick6: serverdb.home.dom:/disk1/glusterfs/brique10 Options Reconfigured: storage.fips-mode-rchecksum: on transport.address-family: inet nfs.disable: on
Comme dans le cas précédent, on remarque la notation du nombre de briques: 1 x (4 + 2) = 6
- Pas de distribution (le "1" du début)
- disperse-data = 4
- redundancy = 2
- disperse = 6
→ retour au menu de Glusterfs - Gestion des serveurs