{{tag>débutant mergerfs disque_dur union_systeme_fichiers systeme_fichiers partitions tutoriel noble}} ====== 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 : {{ :mergerfs:how_mergerfs_work.png?nolink |}} =====Installation :===== ====En cliquant sur :==== méthode recommandée **[[apt>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 : ===== Avant de commencer à trifouiller le fichier /etc/fstab , il est impératif de le sauvegarder en passant cette commande : 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|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 il ne faut en aucun cas que cette commande renvoie une erreur , sinon il est possible que votre ordinateur ne démarre plus du tout la prochaine fois ! En cas d' erreur , ne redémarrer surtout pas l' ordinateur ! et restaurer le fichier fstab.bak avec la commande suivante : 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]]