Différences
Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
mergerfs [Le 29/03/2025, 10:23] iznobe créée |
mergerfs [Le 29/03/2025, 12:20] (Version actuelle) iznobe [MergerFS] |
||
---|---|---|---|
Ligne 3: | Ligne 3: | ||
====== MergerFS ====== | ====== 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. | + | 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 . |
- | Il peut être utile dans bien des cas . | + | un schema explicatif rapide : <code> |
- | un schema explicatif rapide : | + | A + B = C |
- | https://doc.ubuntu-fr.org/?ns=%3Amergerfs&image=%3Amergerfs%3Ahow_mergerfs_work.png&do=media | + | /disk1 /disk2 /merged |
+ | | | | | ||
+ | +-- /dir1 +-- /dir1 +-- /dir1 | ||
+ | | | | | | | | ||
+ | | +-- file1 | +-- file2 | +-- file1 | ||
+ | | | +-- file3 | +-- file2 | ||
+ | +-- /dir2 | | +-- file3 | ||
+ | | | +-- /dir3 | | ||
+ | | +-- file4 | +-- /dir2 | ||
+ | | +-- file5 | | | ||
+ | +-- file6 | +-- file4 | ||
+ | | | ||
+ | +-- /dir3 | ||
+ | | | | ||
+ | | +-- file5 | ||
+ | | | ||
+ | +-- file6 | ||
+ | </code> | ||
+ | En image : | ||
+ | {{ :mergerfs:how_mergerfs_work.png?nolink |}} | ||
+ | =====Installation :===== | ||
+ | ====En cliquant sur :==== | ||
+ | méthode recommandée | ||
+ | **[[apt>mergerfs]]** | ||
+ | ====en ligne de commande :==== | ||
+ | <code>sudo apt install mergerfs</code> | ||
+ | ====en compilant :==== | ||
+ | Déconseillé et uniquement pour utilisateurs très avertis : | ||
+ | <code>git clone https://github.com/trapexit/mergerfs.git | ||
+ | cd mergerfs | ||
+ | sudo tools/install-build-pkgs | ||
+ | make deb | ||
+ | sudo dpkg -i ../mergerfs*.deb</code> | ||
+ | ===== Mise en place des systèmes de fichiers qui feront parti du Volume final ou " pool " de partitions : ===== | ||
+ | <note important>Avant de commencer à trifouiller le fichier /etc/fstab , il est impératif de le sauvegarder en passant cette commande : | ||
+ | <code>sudo cp /etc/fstab /etc/fstab.bak</code></note> | ||
+ | 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 : | ||
+ | <code>lsblk -fe7 -o+ model</code> | ||
+ | ce qui donne par exemple : | ||
+ | <code>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 </code> | ||
+ | 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 : | ||
+ | <code>sudo mkdir -pv /media/mergerfs/partition_sd{a,b}1 /media/Stock</code> | ||
+ | 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 : | ||
+ | <code>ls -l /dev/disk/by-uuid | grep sda1 | cut -d ' ' -f10</code> | ||
+ | et | ||
+ | <code>ls -l /dev/disk/by-uuid | grep sdb1 | cut -d ' ' -f10</code> | ||
+ | Maintenant , pour ajouter au fstab les lignes de montages automatiques des partitions sda1 et sdb1 , on peut procéder ainsi pour sda1 : | ||
+ | <code>echo "UUID=$(ls -l /dev/disk/by-uuid | grep sda1 | cut -d ' ' -f10) /media/mergerfs/partition_sda1 auto defaults" | sudo tee -a /etc/fstab</code> | ||
+ | et pour sdb1 : | ||
+ | <code>echo "UUID=$(ls -l /dev/disk/by-uuid | grep sdb1 | cut -d ' ' -f10) /media/mergerfs/partition_sdb1 auto defaults" | sudo tee -a /etc/fstab</code> | ||
+ | Pour le " pool " , il faut ajouter la ligne suivante : | ||
+ | <code>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</code> | ||
+ | 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 : | ||
+ | <code>sudo mount -av</code> | ||
+ | <note warning>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 : | ||
+ | <code>sudo mv /etc/fstab.bak /etc/fstab</code> | ||
+ | </note> | ||
+ | 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 : | ||
+ | <code>sudo systemctl daemon-reload</code> | ||
+ | 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]] | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | https://github.com/trapexit/mergerfs | + |