Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 04/11/2022, à 13:49

iznobe

[ TUTO ] creation d' un pool ( ajout ) de plusieurs partitions

Bonjour , un petit tuto testé actuellement sous ubuntu 22.10 seulement .

L ' objectif de ce tuto est utile a ceux qui possèdent plusieurs partitions dont ils veulent réunir les systèmes de fichiers en un seul emplacement afin de les utiliser plus simplement et facilement sur leur ordi ou serveur , afin par exemple , de partager un seul et unique dossier , via SAMBA , via NFS , pour faire des sauvegardes , ou pour tout autre usage pour lequel ca vous simplifie la vie wink
c' est quelquechose qui est regulierement demandé sur le forum , et qui n' avait pas encore de solution ( a ma connaissance ) .

ce que cela fait , en gros : fichiers de partitions A + Fichiers de partitions B se retrouvent alors dans un système de fichier unique a un emplacement unique .

Note : il est possible d' installer le paquet mergerfs directement a partir des depots officiels , plutot que de compiler la derniere version , donc c ' est soit :

  • sudo apt install mergerfs


    soit :

  • Pour avoir la dernière version en date , sans installer le paquet ci-dessus donc :
    il faut commencer par mettre a jour et installer les outils nécessaires :

    sudo apt update; sudo apt full-upgrade; sudo apt install git build-essential

    ensuite on va compiler un paquet .
    on télécharge donc les sources :

    git clone https://github.com/trapexit/mergerfs.git

    on entre dans le répertoire nouvellement a la suite du rechargement :

    cd mergerfs

    on télécharge les outils nécessaire si ils sont manquants :

    sudo tools/install-build-pkgs

    on crée le paquet .deb nécessaire :

    make deb

    on installe le paquet mergerfs.deb :

    sudo apt install ../mergerfs*.deb

Une fois le paquet mergerfs installé d' une des 2 facons possibles , il vous faut modifier votre fichier fstab de sorte que les systèmes de fichiers que vous voulez joindre se retrouve tous dans " /mnt " par exemple .
ce qui veut dire qu ' un :

ls -l /mnt

doit renvoyer au moins 2 points de montages avec des système de fichiers montés . au besoin , si ce n' est pas deja fait , il vous faudra creer un point de montage pour chaque systeme que vous compter " cumuler " .
chez moi par exemple ce sont 2 disques a partition uniques que je désire joindre pour les partager via NFS , SAMBA et les utiliser sans me soucier du reste comme si ce n' était qu ' un seul et unique système de fichiers ( des répertoires y ont le même nom d' ailleurs et ils sont cumulés ) :

iznobe@iznobe-PC:~$ ls -l /mnt/DATAS
total 8
drwxrwxr-x 7 root root 4096 nov.   3 17:57 WD8
drwxrwxr-x 6 root root 4096 nov.   4 12:17 WD8PRO2
iznobe@iznobe-PC:~$ 

Ensuite , il faut creer le point de montage final , dans lequel les partitions seront reunies , j ' ai choisi comme point de montage " /storage ", donc , on crée le point de montage :

sudo mkdir /storage

Bien sur , vous pouvez choisir ce que vous voulez , comme par exemple : /media/BIG_DISK ou /mnt/Cumul .
là , on parle du point de montage comun ou mergerfs operera et montera les systèmes de fichiers cumulés .



Maintenant il suffit d' éditer votre fstab :

sudo nano /etc/fstab

pour y ajouter la ligne suivante :

/mnt/DATAS/*    /storage      fuse.mergerfs       threads=16,allow_other,use_ino,cache.files=off,dropcacheonclose=true,category.create=mfs,moveonenospc=true,minfreespace=20G,fsname=mergerfsPool,nonempty    0       0]

sauvegarder le fichier en appuyant sur : ctrl + x , o , entrée .
Reste plus qu ' a vérifier si cela fonctionne avec la commande sudo mount -av :

iznobe@iznobe-PC:/datas/iznobe/Téléchargements/mergerfs$ sudo mount -av
/                         : ignoré
/boot/efi                 : déjà monté
none                      : ignoré
/datas                    : déjà monté
/mnt/DATAS/WD8              : déjà monté
/mnt/DATAS/WD8PRO2          : déjà monté
/tmp                      : déjà monté
/var/log                  : déjà monté
/media/ramdisk            : déjà monté
mount: (hint) your fstab has been modified, but systemd still uses
       the old version; use 'systemctl daemon-reload' to reload.
/storage                 : successfully mounted

si pas d' erreur , sur version 22.10 et superieure uniquement , alors il faut passer la commande :

sudo systemctl daemon-reload

pour prendre en compte les changements du fichier fstab .


Si on analyse rapidement la ligne du fstab que l' on vient d' ajouter sa structure est identique a toute autre ligne , bien qu ' un peu plus complexe :
la 1ere partie indique les points de montage de chaque partition a cumuler :

/mnt/DATAS/* 

la 2eme instruction est le point de montage utilisé ( final ) pour  appliquer :

/storage

la 3eme instructions c ' est le type de montage :

fuse.mergerfs

la 4eme instruction , ce sont les options que l' on applique au montage :

threads=16,allow_other,use_ino,cache.files=off,dropcacheonclose=true,category.create=mfs,moveonenospc=true,minfreespace=20G,fsname=mergerfsPool,nonempty

pour les 2 dernieres instructions : 0   0 , voir :

man fstab 

pour plus d' infos , ca concerne plus les systemes de fichiers que le montage .




A partir de là , mes partitions WD8 et WD8PRO2 sont réunies toutes 2 dans le point de montage /storage .
Pour ne pas galerer a chercher partout , j ' ai choisi de creer un lien symbolique dans mon dossier personnel qui me renvoie directement sur ce point de montage :

ln -s /storage ~/storage/

NOTE : il faudra bien sûr accorder les permissions de vos systemes de fichiers selon vos besoins . je n ' en ai pas parlé ici .


Je viens de tester et la corbeille fonctionne normalement a partir du lien , suite au probleme rencontré là : https://forum.ubuntu-fr.org/viewtopic.php?id=2073925
j ' ai deux dossiers distincts , un dans chaque partition qui se nomme " test " contenant pour l' un fichier1 et fichier2 , pour l' autre fichier3 et fichier4 .
dans storage , dispose d' un seul dossier test contenant les 4 fichiers précédemment cités .

iznobe@iznobe-PC:~$ ls -l /storage/test
total 12
-rwxrwxrwx  1 iznobe iznobe  4 avril 20  2022 'fichier1'
-rwxrwxrwx  1 iznobe iznobe  4 avril 20  2022 'fichier2'
-rwxrwxrwx  1 iznobe iznobe  4 avril 20  2022 'fichier3'
-rwxrwxrwx  1 iznobe iznobe  4 avril 20  2022 'fichier4'
iznobe@iznobe-PC:~$ 

J ' espère que ca peut possiblement intéresser certains d ' entre vous .

plus d ' infos sur le site de l' editeur : https://github.com/trapexit/mergerfs
guide de mise en place et  d' inspiration , attention il a fallu faire pas mal de petites modifs , il ne faut pas l' appliquer a la lettre ; juste s ' en servir de reference  : https://zackreed.me/mergerfs-another-go … aid-disks/

Dernière modification par iznobe (Le 07/07/2023, à 08:14)


retour COMPLET et utilisable de commande
MSI Z490A-pro , i7 10700 , 32 GB RAM .

Hors ligne

#2 Le 04/11/2022, à 14:54

geole

Re : [ TUTO ] creation d' un pool ( ajout ) de plusieurs partitions

Bonjour iznobe
Je n'ai pas tout compris au montage
exemple
Situation initiale initiale
/mnt/DATAS
     avec dessus le répertoire WD8   contenant le fichier  Readme.txt de 80 octets                             
                      et le répertoire WD8PRO2  contenant aussi le fichier  Readme.txt mais de 80 octets

Quelle serait la situation finale sous  /storage/test?
    j'ai compris qu'on ne verrait plus les deux premiers points de montage
      Verrait-on alors
             readme.txt
             readme(1).txt
ou seulement un fichier?

Dernière modification par geole (Le 04/11/2022, à 14:54)


Les grilles de l'installateur https://doc.ubuntu-fr.org/tutoriel/inst … _subiquity
"gedit admin:///etc/fstab" est proscrit,  utilisez "pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY xdg-open /etc/fstab" Voir  https://doc.ubuntu-fr.org/gedit
Les partitions EXT4 des disques externes => https://forum.ubuntu-fr.org/viewtopic.p … #p22697248

Hors ligne

#3 Le 04/11/2022, à 15:41

iznobe

Re : [ TUTO ] creation d' un pool ( ajout ) de plusieurs partitions

Bonjour geole , actuellement un seul fichier est affiché dans /storage/test
je n' ai pas encore verifié la liste de toutes les options possibles :

man mergerfs

ou sur le site de l' editeur : https://github.com/trapexit/mergerfs#options

Les montages initiaux restant en place , les fichiers restent acessibles via les chemins standards du fstab ,  le pool se faisant sur un point de montage separé , ca n' est donc pas si gênant que cela .
Toutefois la suppression d ' un fichier ou dossier present dans les 2 systemes de fichiers differents , entraine la suppresion des 2 fichiers / dossiers , ca c' est beaucoup moins bien ...

par contre qu ' est ce que c' est pratique wink plus besoin de gerer tout un tas de dossier point de montages il ne reste que le fstab a mettre au propre et tout le reste est grandement simplifié , j' adore perso wink

Dernière modification par iznobe (Le 04/11/2022, à 16:15)


retour COMPLET et utilisable de commande
MSI Z490A-pro , i7 10700 , 32 GB RAM .

Hors ligne

#4 Le 07/07/2023, à 12:54

Coeur Noir

Re : [ TUTO ] creation d' un pool ( ajout ) de plusieurs partitions

Toutefois la suppression d ' un fichier ou dossier present dans les 2 systemes de fichiers differents , entraine la suppresion des 2 fichiers / dossiers , ca c' est beaucoup moins bien ...

Effectivement vaut mieux le savoir avant… mais c'est plutôt logique :
⋅ pour que quelque chose apparaisse dans le « pool » il faut que ce quelque chose existe dans au moins un des endroits « sources » du pool ;
⋅ pour qu'une chose disparaisse du pool, il faut que cette chose n'existe nulle part dans les endroits « sources ».
→ ça ressemble très fort au fonctionnement des liens matériels, hardware ( il est beaucoup question des inodes dans la doc' et les options de mergerfs. )

Du coup, question :
⋅ si tu crées un élément dans /storage il est écrit où au final ? Dans WD8 ou WD8PRO2 ? Ça se décide comment ?


DébuterDocBien rédigerRetour commandeInsérer image | illustrations & captures d'écran <>

Hors ligne

#5 Le 07/07/2023, à 15:15

iznobe

Re : [ TUTO ] creation d' un pool ( ajout ) de plusieurs partitions

Coeur Noir a écrit :

Du coup, question :
⋅ si tu crées un élément dans /storage il est écrit où au final ? Dans WD8 ou WD8PRO2 ? Ça se décide comment ?

ca se decide en fonction des multiples otpions disponibles indiqués dans la ligne de montage fstab .
perso je m' en fiche un peu , vu que c ' est qu ' un repertoire en " vrac " qui stocke tout avec tres peu de sous dossiers .
je n' ai pas trop chercher . il y a le git qui renvoie a des exemples et les explications de chacune des options plutôt nombreuses ...

elles sont toutes indiquées là : https://github.com/trapexit/mergerfs#mount-options

tu peux par exemple , equilibrer le remplissage a un % equivalent de chaque partition .
ou bien en prendre une , et la remplir a un % d' espace defini , puis lorsqu ' il est atteint , passer a la suivante ( ordre alphabtique des points de montage il me semble ) .

Dernière modification par iznobe (Le 07/07/2023, à 15:20)


retour COMPLET et utilisable de commande
MSI Z490A-pro , i7 10700 , 32 GB RAM .

Hors ligne