technique:infrastructure:machines_virtuelles:installation_glusterfs

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
technique:infrastructure:vm:installation_glusterfs [2020/02/06 16:28] – ↷ Page déplacée de infrastructure:vm:installation_glusterfs à technique:infrastructure:vm:installation_glusterfs qduchemitechnique:infrastructure:machines_virtuelles:installation_glusterfs [2020/09/29 20:45] (Version actuelle) – supprimée qduchemi
Ligne 1: Ligne 1:
-====== Mise en place d'un volume GlusterFS ====== 
  
-Cette page a pour but la mise en place d'un volume partagé utilisant [[https://fr.wikipedia.org/wiki/GlusterFS|GlusterFS]]. 
- 
-**Picasoft n'utilise plus de volume GlusterFS dans son infrastructure pour des raisons de performances. Cette page est conservée à titre de tutoriel uniquement et ne reflète pas l'état de l'infrastructure.** 
- 
-=====Préparation d'un disque logique===== 
-====Ajouter un autre disque à la VM==== 
- 
-Afin de stocker les données, nous devons créer un disque dédié au volume GlusterFS.  
-Pour se faire, il faut aller (sur l'interface proxmox) sur la VM pour laquelle on veut ajouter un disque, puis aller dans la rubrique "Hardware" puis sélectionner l'option "Add", en haut a gauche du cadrant. On clique dessus et on clique sur l'option "Hard disk". On configure ce disque de telle sorte a ce qu'il ai une capacité de 15G, au format raw, avec un "storage" local (qui correspond en fait au ssd). On monte le disque dur en SATA. 
- 
-Le disque devrait être bien ajouté a la liste de composants hardware de la VM. Toutefois, il apparaît en rouge. Pour qu'il soit bien pris en compte et rattaché à la VM, il est nécessaire de la relancer. 
- 
-Une fois que le disque dur est bien prit en compte par la VM, il est nécessaire d'executer les commandes suivantes dans la VM: 
- 
-1. Verifier que le disque a bien été ajouté/est détectable par l'OS: 
-  $ fdisk -l 
- 
-2. On ajoute le "physical volume" avec pvcreate pour le rendre visible au niveau de LVM. Ainsi on pourra lui ajouter un volume group par dessus 
-  $ pvcreate /dev/sdb 
- 
-3. On créer un volume groupe data 
-  $ vgcreate vg01 /dev/sdb 
- 
-====Volume LVM==== 
- 
-C'est ce volume qui sera ensuite partagé avec les différents serveurs sur le réseau.  
-  $ vgs 
-    VG   #PV #LV #SN Attr   VSize  VFree 
-    vg00       0 wz--n- 39,76g     0 
-    vg01       0 wz--n- 15,00g 15,00g 
-   
-Sur la machine virtuelle, j'ai donc ajouté un nouveau disque d'une taille de 15G ici ajouté sur un groupe logique vg01.  
-Je créé ensuite un volume logique (lv) à partir de ce vg et qui va prendre tout l'espace disponible  
-  $ lvcreate -l 100%FREE -n data vg01 
- 
-On peux maintenant formater ce disque et le monter sur la machine: 
-  $ mkfs -t ext4 /dev/mapper/vg01-data. 
-  $ echo "/dev/mapper/vg01-data /gluster-data ext4    defaults        0       2" >> /etc/fstab 
-  $ mkdir /gluster-data && mount -a  
- 
-====Volume GlusterFS==== 
-Une fois le volume monté, il faut maintenant créer un volume de plus haut niveau à l'aide de glusterFS. Cela permettra aux différentes machines de notre cluster d'accéder à un volume de données partagé et répliqué automatiquement entre les nœuds. Cela signifie qu'en cas de panne, le nœud restant sera toujours en mesure de fournir le service évitant ainsi l'interruption de service.  
- 
-La première chose à faire et de s'assurer que les différentes machines du cluster se connaissent les unes les autres: 
-  $ cat /etc/hosts 
-     127.0.0.1 localhost 
-     91.224.148.57   pica01 pica01.picasoft.net 
-     91.224.148.60   pica02 pica02.picasoft.net 
- 
-Il faut ajouter les clés du repo ainsi que le repo contenant les packages  
-  $ wget -O - http://download.gluster.org/pub/gluster/glusterfs/3.9/rsa.pub | apt-key add - 
-  $ echo deb http://download.gluster.org/pub/gluster/glusterfs/3.9/LATEST/Debian/jessie/apt jessie main > /etc/apt/sources.list.d/gluster.list 
-  $ apt-get update 
-  $ apt-get -y install glusterfs-server 
-   
-Ensuite, on ajoute le second serveur à partir du premier noeud du cluster. Ici, on lance donc sur pica01 
-  $ gluster peer probe pica02 
-  $ gluster peer status 
-    Number of Peers: 1 
-    Hostname: pica02 
-    Uuid: 36530258-860b-4403-85b3-3de1fd6bb47a 
-    State: Peer in Cluster (Connected) 
-     
-On peut maintenant créer un volume répliqué que l'on va configurer en mirroring afin d'avoir une copie parfaite des données entre les noeuds.  
-  $ gluster volume create gluster-data replica 2 transport tcp pica01:/gluster-data pica02:/gluster-data force 
-  $ gluster volume start gluster-data 
- 
-Une fois le volume créé, on peut vérifier l'état de celui-ci via la commande:  
-  $ gluster volume info 
-    Volume Name: gluster-data 
-    Type: Replicate 
-    Volume ID: 24ec2dcb-84fe-4981-9e01-1a5614cd209b 
-    Status: Started 
-    Snapshot Count: 0 
-    Number of Bricks: 1 x 2 = 2 
-    Transport-type: tcp 
-    Bricks: 
-    Brick1: pica01:/gluster-data 
-    Brick2: pica02:/gluster-data 
- 
-Afin d'éviter que n'importe qui puisse accéder à notre volume et faire des écriture, on doit limiter les droits en écriture aux machines pica01/02 
-  $ gluster volume set gluster-data auth.allow pica02 
- 
-On peut maintenant ajouter une ligne au fichier fstab pour lancer le montage automatique du volume. À noter qu'il faut adapter le point de montage en fonction de la machine  
-  $ echo "pica01:/gluster-data /DATA glusterfs defaults,_netdev 0 0" >> /etc/fstab 
-  $ mkdir /DATA && mount -a 
- 
-Pour le moment, le montage automatique au boot de la machine ne fonctionne pas. Pour palier à ce problème, j'ai ajouté les lignes suivante a la fin du fichier /etc/rc.local (avant l'instruction exit 0 bien sûr) 
-<code> 
-systemctl start glusterfs-server 
-mount -a 
-</code> 
- 
-====Augmentation de la taille d'un volume GlusterFS==== 
-L'augmentation de la taille d'un volume GlusterFS se fait de manière transparente en augmentant l'espace utile au niveau de lvm.  
- 
-1. Augmenter la taille du disque au niveau de l'hyperviseur. Sur Proxmox, lorsque l'on clique sur une VM puis dans la partie hardware, on peut après avoir cliqué sur un disque le resize via le menu en haut. Il faut ensuite rescanner la table de partition pour que la modification soit prise en compte sur le système d'exploitation. Un reboot permet aussi de rescanner cette table de partition. On peut vérifier l'ajout d'espace à l'aide de la commande fdisk  
-<code>root@pica02:~# fdisk -l /dev/sdb 
-Disque /dev/sdb : 30 GiB, 32212254720 octets, 62914560 secteurs 
-</code> 
- 
-2. Augmenter le physical volume. Sur notre installation, un disque est dédié au glusterfs, il n'y a donc aucun problème pour augmenter la taille du physical volume associé (attention, lorsqu'un OS est sur un disque, cette opération peut mener à la corruption du système).  
-<code> 
-pvresize /dev/sdb 
-root@pica02:~# pvs 
-PV         VG   Fmt  Attr PSize  PFree 
-/dev/sda5  vg00 lvm2 a--  39,76g    0 
-/dev/sdb   vg01 lvm2 a--  30,00g    0 
-</code> 
- 
-3. Augmentation des logical volumes où XX correspond au nombre de gigaoctets à ajouter 
-<code> 
-lvextend -L+XXG /dev/vg01/data 
-root@pica02:~# lvs 
-  LV   VG   Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert 
-  root vg00 -wi-ao---- 37,90g 
-  swap vg00 -wi-ao----  1,86g 
-  data vg01 -wi-ao---- 30,00g 
-</code>  
- 
-4. Au niveau des volumes logiques, on voit bien le nouveau volume, mais le système de fichier ne voit pas encore tous ces nouveaux octets. On peut s'en convaincre avec un ```df -h```. Il faut donc dire au système de fichier de prendre en compte ces nouveaux octets ajoutés. 
-<code>resize2fs /dev/vg01/data 
-root@pica02:~# df -h | grep data 
-/dev/mapper/vg01-data    30G    4,2G   24G  15% /gluster-data 
-pica02:/gluster-data     30G    4,2G   24G  15% /DATA 
-</code>  
- 
-Une fois ces opérations réalisées sur les 2 noeuds, glusterfs va augmenter automatiquement le volume disponible. On peut vérifier cela avec la commande:  
-<code>gluster volume status gluster-data detail 
-Status of volume: gluster-data 
------------------------------------------------------------------------------- 
-Brick                : Brick pica01:/gluster-data 
-TCP Port             : 49152 
-RDMA Port            : 0 
-Online               : Y 
-Pid                  : 2699 
-File System          : ext4 
-Device               : /dev/mapper/vg01-data 
-Mount Options        : rw,relatime,data=ordered 
-Inode Size           : 256 
-Disk Space Free      : 25.2GB 
-Total Disk Space     : 29.4GB 
-Inode Count          : 1966080 
-Free Inodes          : 1881903 
------------------------------------------------------------------------------- 
-Brick                : Brick pica02:/gluster-data 
-TCP Port             : 49152 
-RDMA Port            : 0 
-Online               : Y 
-Pid                  : 2340 
-File System          : ext4 
-Device               : /dev/mapper/vg01-data 
-Mount Options        : rw,relatime,data=ordered 
-Inode Size           : 256 
-Disk Space Free      : 25.2GB 
-Total Disk Space     : 29.4GB 
-Inode Count          : 1966080 
-Free Inodes          : 1881903 
-</code> 
  • technique/infrastructure/machines_virtuelles/installation_glusterfs.1581002898.txt.gz
  • de qduchemi