Wiki Monter un volume/répertoire GlusterFS sur Ubuntu/Debian

0
27
juin
2017

Testé sur : Ubuntu 16.04, Raspbian Jessie
Ce wiki traite de la partie client de GlusterFS pour la partie serveur voyez ce wiki : GlusterFS sur Ubuntu/Debian

Introduction

  • On utilise FUSE pour monter un dossier GlusterFS. Ces dossiers sont distribués entre X quantités de serveurs selon ce que vous avez configuré et sont assez tolérant face aux pannes. Vous ne pouvez hélas pas configurer le client pour contacter votre grille mais un serveur qui lui sera en contact (bittorent) avec les autres serveurs (via aussi des liens direct (hostname)).

Montage d'un volume GlusterFS

Pré-requis

Passez en admin (root)

Sur Ubuntu/Raspbian

sudo su

Sur Debian/Ubuntu minimal

su

Installez glusterfs-client

apt-get install glusterfs-client

Création du point de montage local

mkdir /media/monNouveauMontage

Montage en ligne de commande d'un répertoire GlusterFS

Adaptez puis entrez cette commande dans votre terminal

mount -t glusterfs HOSTNAME:PORT:/NomVolume /media/monNouveauMontage
  • HOSTNAME => peut valoir l'ip, le nom de domaine ou tout path réseau valable
  • :PORT => votre numero de port (non requis, supprimez aussi le deux points si vous utilisez le port par défaut)
  • :/NomVolume => le nom du volume dans dans la grille GlusterFS
  • /media/monNouveauMontage => mon point de montage local
  • Infos : Manually Mounting Volumes

Monter le répertoire au démarrage/boot via script fait maison

Passez en admin (root)

Sur Ubuntu/Raspbian

sudo su

Sur Debian/Ubuntu minimal

su

Ouvrez votre éditeur de texte en créant votre script /opt/scripts/mountGlusterPartition.sh

nano /opt/scripts/mountGlusterPartition.sh
  • ( CTRL + X => Save&Quit )

Ajoutez dedans les lignes après les avoir adapté à votre config

#!/bin/bash
sleep 10 #req if system is on SSD
sudo mount -t glusterfs 127.0.0.1:/NomVolume /media/monNouveauMontage
  • 127.0.0.1 => votre boucle locale
  • :PORT => votre numero de port (non requis, supprimez aussi le deux points si vous utilisez le port par défaut)
  • :/NomVolume => le nom du volume dans dans la grille GlusterFS
  • /media/monNouveauMontage => mon point de montage local
  • Infos : Manually Mounting Volumes

Rendez votre script exécutable et accordez lui les bons droits d'accès

chmod 551 /opt/scripts/mountGlusterPartition.sh

Éditez /etc/rc.local et ajoutez l'appel de votre script juste avant exit 0 afin de le lancer au démarrage.

nano /etc/rc.local

Ajoutez la ligne suivante (en l'adaptant si nécessaire)

/opt/scripts/mountGlusterPartition.sh
  • # Glusterfs-client Retour d'expérience

    Posté par  . Évalué à 0 (+0/-0). Dernière modification le 02 octobre 2017 à 13:57.

    Utilisation en local uniquement

    Aucun soucis détecté. Il faut juste retarder le démarrage des volumes et leur montage si le système est sur un SSD.

    Bugs et erreurs
    Lorsque le node qui sert de point de montage reboot il faut démonter/remonter le point de montage si non il ne fonctionne plus ("transport endpoint is not connected")
    Leur site où les gens reportent les problèmes à une interface juste bonne à jeter.

    Si vous codez un logiciel sans une interface chatoyante, alors vous faites de la merde. Donation bitcoin : 1N8QGrhJGWdZNQNSspm3rSGjtXaXv9Ngat

  • # Script remontage automatique du volume

    Posté par  . Évalué à 0 (+0/-0).

    [FR]

    • Ce script vous permet de remonter automatiquement un volume glusterfs si ce dernier bug ou n'est pas monté. Le zscript a été conçu pour contrer le bug du "Transport endpoint is not connected" quand le node qui sert de point de montage reboot et que c'est client se tape un bad trip.

    [USA]

    • This script allow your machine to remount glusterfs storage if bug or if it not mounted. The script don't have any problem with "Transport endpoint is not connected".

    Enjoy
    /opt/scripts/checkGluster.bash

    #!/bin/bash
    
    mounts=('/media/fisrtPoint' '/media/secondPoint');
    list=$(df -h)
    
    for mount in "${mounts[@]}"
    do
        if ! echo $list | grep ${mount} >/dev/null 2>&1;
        then
    #       echo "${mount} not mounted -> force remount"
            sudo umount ${mount}
    #        sudo fusermount -uz ${mount}
            sudo mount ${mount}
        fi
    done
    

    cron :

    */2 * * * *     /opt/scripts/checkGluster.bash
    

    Si vous codez un logiciel sans une interface chatoyante, alors vous faites de la merde. Donation bitcoin : 1N8QGrhJGWdZNQNSspm3rSGjtXaXv9Ngat

Envoyer un commentaire

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.