LINUX:Glusterfs - Type Dispersé

De WIKI sur Linux (ADB)
Aller à la navigation Aller à la recherche

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