MergerFS
MergerFS permet l’union de partitions de différentes tailles et différents types et différents systèmes de fichiers en un seul volume logique. Il peut être utile dans bien des cas . un schema explicatif rapide :
A + B = C /disk1 /disk2 /merged | | | +-- /dir1 +-- /dir1 +-- /dir1 | | | | | | | +-- file1 | +-- file2 | +-- file1 | | +-- file3 | +-- file2 +-- /dir2 | | +-- file3 | | +-- /dir3 | | +-- file4 | +-- /dir2 | +-- file5 | | +-- file6 | +-- file4 | +-- /dir3 | | | +-- file5 | +-- file6
En image :
Installation :
En cliquant sur :
méthode recommandée mergerfs
en ligne de commande :
sudo apt install mergerfs
en compilant :
Déconseillé et uniquement pour utilisateurs très avertis :
git clone https://github.com/trapexit/mergerfs.git cd mergerfs sudo tools/install-build-pkgs make deb sudo dpkg -i ../mergerfs*.deb
Mise en place des systèmes de fichiers qui feront parti du Volume final ou " pool " de partitions :
sudo cp /etc/fstab /etc/fstab.bak
Considérons que nous avons deux disques présents dans notre système , chacun contenant une partition qui feront parti du " pool " que nous monterons dans /media/Stock . On peut facilement obtenir la liste des partitions en présence sur le système grâce à la commande :
lsblk -fe7 -o+ model
ce qui donne par exemple :
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS MODEL sda ST4000VX000-2AG166 └─sda1 ext4 1.0 Seagate 4f8cc284-cd84-4eeb-b412-7539f81664c4 2,7T 21% /mnt sdb WDC WD82PURZ-85TEUY0 └─sdb1 ext4 1.0 WD 1db8a5b3-ff12-4d31-9463-b188ffefe43b 2,3T 65% /media/Videos/WD8
Vous devez avoir au moins une partition dans chaque disque (comme c’est le cas ici). Si vous utilisez des disques neufs, une procédure est nécessaire pour les initialiser et créer une ou des partitions , voir : GParted : éditeur de partitions .
afin de préparer le " pool " , il est indispensable de monter les partitions au démarrage de l' ordinateur et donc d' inscrire les montages de ces partitions dans le fichier /etc/fstab . Le fichier /etc/fstab est le fichier de configuration utilisé au démarrage par le système pour monter tous les systèmes de fichiers que contient les partitions . Nous allons donc indiquer dans ce fichier nos partitions et notre volume MergerFS. on commence par créer donc les points de montage , un pour chaque partition ainsi que le dossier du futur volume :
sudo mkdir -pv /media/mergerfs/partition_sd{a,b}1 /media/Stock
Nous devons maintenant récupérer les UUIDS de partitions pour les ajouter dans le fichier fstab ( il existe d' autres moyens , mais celui-ci est le plus conventionnel tout type de système de fichiers confondus ) , pour cela la commande suivante sera fort utile :
ls -l /dev/disk/by-uuid | grep sda1 | cut -d ' ' -f10
et
ls -l /dev/disk/by-uuid | grep sdb1 | cut -d ' ' -f10
Maintenant , pour ajouter au fstab les lignes de montages automatiques des partitions sda1 et sdb1 , on peut procéder ainsi pour sda1 :
echo "UUID=$(ls -l /dev/disk/by-uuid | grep sda1 | cut -d ' ' -f10) /media/mergerfs/partition_sda1 auto defaults" | sudo tee -a /etc/fstab
et pour sdb1 :
echo "UUID=$(ls -l /dev/disk/by-uuid | grep sdb1 | cut -d ' ' -f10) /media/mergerfs/partition_sdb1 auto defaults" | sudo tee -a /etc/fstab
Pour le " pool " , il faut ajouter la ligne suivante :
echo "# MergerFS Volume /media/mergerfs/partition_* /media/Stock fuse.mergerfs threads=16,allow_other,use_ino,cache.files=off,dropcacheonclose=true,category.create=mfs,moveonenospc=true,minfreespace=10G,fsname=mergerfsPool,nonempty 0 0" | sudo tee -a /etc/fstab
cette ligne a pour objectif d' unifier tous les disques montés depuis /media/mergerfs/ dont le point de montage commence par " partition_ " dans /media/Stock avec le système fuse.mergerfs. Pour ce qui est des options , je vous invite a consulter la signification de celles-ci sur le site de l ' éditeur ( en anglais ) : https://trapexit.github.io/mergerfs/config/options/
On vérifie qu ' il n' y a pas d' erreur dans le fichier fstab avec la commande suivante :
sudo mount -av
sudo mv /etc/fstab.bak /etc/fstab
Maintenant , il faut appliquer les modifications que l' on vient de faire dans le fichier /etc/fstab , afin de faire prendre en compte par le système . Pour cela on passe la commande suivante :
sudo systemctl daemon-reload
Et voilà , votre pool de partitions est maintenant disponible dans /media/Stock .
Voir aussi
- (en) le site de l' éditeur : https://github.com/trapexit/mergerfs