Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Dernière révision Les deux révisions suivantes | ||
formation:anfbigdata [2016/12/14 16:33] equemene [Chiffrement de la communication] |
formation:anfbigdata [2016/12/15 18:43] equemene |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== Travaux pratiques GlusterFS ====== | + | ====== Travaux pratiques GlusterFS pour ANF Bigdata ====== |
- | GlusterFS ou la quête de la simplicité | + | Support de Travaux pratiques dans le cadre de [[https://indico.mathrice.fr/event/5/|Des données au BigData : exploitez le stockage distribué]] |
+ | ===== CQQCOQP (Comment ? Quoi ? Qui, Combien ? Où ? Quand ? Pourquoi ?) ===== | ||
+ | |||
+ | * **Pourquoi ?** Survoler les principales fonctionnalités de GlusterFS et se faire sa propre idée | ||
+ | * **Quoi ?** Tester au travers d'exemples simples en appliquant le modèles STNPPNFP | ||
+ | * **Quand ?** Jeudi 15 décembre de 9h à 12h | ||
+ | * **Combien ?** 12GB d'espace disque, 3GB de RAM, 5 VM | ||
+ | * **Où ?** Sur une machine unique, dans en environnement VirtualBox | ||
+ | * **Qui ?** Pour des admin'sys soucieux d'expérimenter rapidement | ||
+ | * **Comment ?** En appliquant une série de commandes simples au travers d'un terminal | ||
===== Objectif de la séance ===== | ===== Objectif de la séance ===== | ||
+ | C'est de donner un aperçu des différentes fonctionnalités de GlusterFS dans un environnement propre, en insistant sur sa simplicité d'installation, de configuration, d'administration. | ||
===== Préparation de la séance ===== | ===== Préparation de la séance ===== | ||
Ligne 685: | Ligne 694: | ||
</code> | </code> | ||
- | </code> | + | <code> |
root@peer2: 494 | root@peer2: 494 | ||
root@peer1: 335 | root@peer1: 335 | ||
Ligne 695: | Ligne 704: | ||
La redistribution n'est pas parfaite, mais elle reste correcte ! | La redistribution n'est pas parfaite, mais elle reste correcte ! | ||
- | Replaçons maintenant la brique issue de **peer2** par celle disponible de **peer4** : | + | Supprimons maintenant la brique issue de **peer1** à partir de **peer2** : |
<code> | <code> | ||
- | ssh root@peer2 gluster volume replace-brick MyGlusterLinear peer1:/MyGlusterLinear peer4:/MyGlusterLinear | + | ssh root@peer2 gluster volume remove-brick MyGlusterLinear peer1:/MyGlusterLinear start |
</code> | </code> | ||
+ | Le message suivant indique que la procédure a démarré | ||
<code> | <code> | ||
- | volume replace-brick: success: replace-brick commit force operation successful | + | |
+ | </code> | ||
+ | |||
+ | Contrôlons la progression de la migration des données issues de la demande de suppression : | ||
+ | <code> | ||
+ | ssh root@peer2 gluster volume remove-brick MyGlusterLinear peer1:/MyGlusterLinear status | ||
+ | </code> | ||
+ | |||
+ | Nous distinguons que le processus est en cours : | ||
+ | <code> | ||
+ | </code> | ||
+ | |||
+ | Une fois terminé, nous avons pour la même commande précédente : | ||
+ | <code> | ||
+ | |||
+ | </code> | ||
+ | |||
+ | Relançons la commande pour voir la distribution sur les différents serveurs | ||
+ | <code> | ||
+ | |||
+ | </code> | ||
+ | |||
+ | Validons la suppression | ||
+ | <code> | ||
+ | ssh root@peer2 gluster volume remove-brick MyGlusterLinear peer1:/MyGlusterLinear commit | ||
+ | </code> | ||
+ | |||
+ | Un petit message nous invite à la prudence, pour, au pire, restaurer les données : | ||
+ | <code> | ||
</code> | </code> | ||
Ligne 1195: | Ligne 1234: | ||
<code> | <code> | ||
- | clush -w peer[1-4] mkdir /MyGlusterReplica | + | clush -w root@peer[1-4] mkdir /MyGlusterReplica |
ssh root@peer1 gluster volume create MyGlusterReplica replica 2 transport tcp peer1:/MyGlusterReplica peer3:/MyGlusterReplica force | ssh root@peer1 gluster volume create MyGlusterReplica replica 2 transport tcp peer1:/MyGlusterReplica peer3:/MyGlusterReplica force | ||
ssh root@peer1 gluster volume start MyGlusterReplica | ssh root@peer1 gluster volume start MyGlusterReplica | ||
ssh root@peer1 gluster volume info | ssh root@peer1 gluster volume info | ||
- | ssh peer1 gluster volume tier MyGlusterReplica attach replica 2 peer2:/MyGlusterReplica peer4:/MyGlusterReplica force | + | </code> |
- | ssh root@peer1 gluster tier status | + | <code> |
+ | Volume Name: MyGlusterReplica | ||
+ | Type: Replicate | ||
+ | Volume ID: 93689088-b6b5-413f-8a4b-3b395f6b965c | ||
+ | Status: Started | ||
+ | Snapshot Count: 0 | ||
+ | Number of Bricks: 1 x 2 = 2 | ||
+ | Transport-type: tcp | ||
+ | Bricks: | ||
+ | Brick1: peer1:/MyGlusterReplica | ||
+ | Brick2: peer3:/MyGlusterReplica | ||
+ | Options Reconfigured: | ||
+ | transport.address-family: inet | ||
+ | performance.readdir-ahead: on | ||
+ | nfs.disable: on | ||
+ | </code> | ||
+ | |||
+ | Activation du //tiering// sur les deux autres pairs **peer2** et **peer4** : | ||
+ | <code> | ||
+ | ssh root@peer1 gluster volume tier MyGlusterReplica attach replica 2 peer2:/MyGlusterReplica peer4:/MyGlusterReplica force | ||
+ | </code> | ||
+ | <code> | ||
+ | Tiering Migration Functionality: MyGlusterReplica: success: Attach tier is successful on MyGlusterReplica. use tier status to check the status. | ||
+ | ID: f1084e85-f5cb-475e-8457-fe258dca4533 | ||
+ | </code> | ||
+ | <code> | ||
+ | ssh root@peer1 gluster volume tier status | ||
+ | </code> | ||
+ | <code> | ||
+ | ssh root@peer1 gluster volume tier MyGlusterReplica status | ||
+ | Node Promoted files Demoted files Status | ||
+ | --------- --------- --------- --------- | ||
+ | localhost 0 0 in progress | ||
+ | peer4 0 0 in progress | ||
+ | peer3 0 0 in progress | ||
+ | peer2 0 0 in progress | ||
+ | Tiering Migration Functionality: MyGlusterReplica: success | ||
+ | </code> | ||
+ | <code> | ||
ssh root@peer1 gluster volume info | ssh root@peer1 gluster volume info | ||
</code> | </code> | ||
Ligne 1230: | Ligne 1307: | ||
</code> | </code> | ||
+ | Montage du volume sur le client | ||
+ | <code> | ||
+ | sudo mkdir /media/MyGlusterReplica | ||
+ | sudo mount -t glusterfs -o noatime peer1:MyGlusterReplica /media/MyGlusterReplica | ||
+ | sudo chmod 777 /media/MyGlusterReplica | ||
+ | sudo chmod o+t /media/MyGlusterReplica | ||
+ | </code> | ||
+ | |||
+ | <code> | ||
+ | seq -w 1000 | /usr/bin/time xargs -P 1000 -I '{}' bash -c "echo Hello File '{}' > /media/MyGlusterReplica/File.'{}'" | ||
+ | </code> | ||
+ | |||
+ | <code> | ||
+ | clush -w root@peer[1-4] 'ls /MyGlusterReplica/File.* | wc -l' | ||
+ | </code> | ||
+ | |||
+ | <code> | ||
+ | root@peer1: 1000 | ||
+ | root@peer3: 1000 | ||
+ | root@peer4: 1000 | ||
+ | root@peer2: 1000 | ||
+ | </code> | ||
Résilience des disques | Résilience des disques | ||