Voici quelques réflexions - J'apprends toujours cela et je le mettrai à jour au fur et à mesure.
Comment choisir le système de fichiers union
Il y a deux façons de regarder ceci:
- Comment les caractéristiques de chacun se comparent-elles?
- Pour certains cas d'utilisation courants, lequel dois-je choisir?
Je comparerai unionfs / unionfs-fuse / overlayfs / aufs / mergerfs, ce dernier remplaçant mhddfs.
Caractéristiques de chacun
Statut de développement
Distribution / prise en charge du noyau
Il existe des systèmes de fichiers en mode noyau et en mode utilisateur, ces derniers s'exécutant sur FUSE. Ceux en mode noyau ont moins de surcharge (il y a surcharge lorsque le code bascule entre l'espace utilisateur et l'espace noyau) mais le seul actuellement pris en charge dans le noyau Linux est overlayfs . Les systèmes de fichiers en mode utilisateur sont plus faciles à empaqueter pour les distributions.
- unionfs et aufs ont besoin de correctifs du noyau
- unionfs n'est pas distribué par Debian (les autres le sont)
- unionfs-fuse et mergerfs sont basés sur FUSE, donc pas besoin de modules supplémentaires dans le noyau
- overlayfs fait partie du noyau depuis 3.18 (Debian Stretch)
Copie en écriture
Cela concerne le cas d'utilisation du Live CD ci-dessous:
- mergerfs n'a pas de copie en écriture
- Les autres le font
Cas d'utilisation
Racine en lecture seule / Cas d'utilisation du Live CD
L'idée est d'avoir un CD-ROM / partition en lecture seule d'un système Linux. Le système de fichiers union donne à l'utilisateur l'impression qu'il s'agit d'un système en lecture-écriture afin qu'il puisse apporter des modifications. Il existe un système de fichiers en lecture-écriture (par exemple, un disque RAM tmpfs) qui stocke le «delta» de toutes les modifications apportées par l'utilisateur, mais pas l'instantané complet.
Ici, n'importe quel système de fichiers union ferait l'affaire.
Cas d'utilisation de Docker
Je sais que c'est un cas d'utilisation principal, mais je ne connais pas les détails - quelqu'un peut-il fournir des conseils à ce sujet?
Fusion de disques durs
Par exemple, vous pouvez avoir deux ensembles de /home
répertoires sur différents systèmes de fichiers. Vous pouvez également mettre à niveau votre ordinateur personnel avec un deuxième disque dur et souhaiter un volume logique unique.
C'est là que vous ne voulez pas vraiment de copie sur écriture, donc peut-être que mergerfs est le meilleur choix.
Système de fichiers Union contre LVM pour le pool de disques
Je vais énumérer quelques cas d'utilisation qui peuvent être atteints avec des systèmes de fichiers union mais pas LVM:
Si vous mettez à niveau un système existant avec un deuxième disque, quelque chose comme mergerfs pourrait être mieux car LVM vous obligerait à reformater le premier disque dur et donc à supprimer les données qu'il contient. Un système de fichiers union éviterait cette étape.
LVM peut fractionner un fichier sur deux disques durs physiques (en supposant que RAID 0), vous le perdriez donc si un disque dur tombe en panne.
Certains utilisateurs peuvent, par exemple, vouloir conserver leur /home
répertoire sur une clé USB qu'ils peuvent emporter.
Dans le cas d'utilisation d'une partition virtuelle sur deux disques physiques, avec LVM, vous n'aurez pas à vous soucier de savoir si les fichiers sont enregistrés sur un disque ou sur l'autre. Avec les mergefs, le système peut choisir automatiquement celui qui vous convient en fonction de l'espace libre disponible.