Unionfs vs Aufs vs Overlayfs vs mhddfs, lequel dois-je utiliser

15

J'ai lu au hasard sur le système de fichiers union qui permet à un utilisateur de monter plusieurs systèmes de fichiers les uns sur les autres simultanément.

Cependant, j'ai du mal à décider lequel utiliser (Unionfs vs Aufs vs Overlayfs vs mhddfs) et pourquoi, car je n'ai trouvé aucune information concrète sur le sujet nulle part. Je sais par exemple que overlayFS a été adopté dans le noyau Linux traditionnel, ce qui signifie qu'il pourrait être adopté plus largement. J'apprécierais que quelqu'un me donne un peu de recul.

De plus, je ne trouve aucun cas d'utilisation de conception pour le système de fichiers Union sur quelque chose comme LVM (comme recommandé par les utilisateurs dans une question distincte ) ou la configuration RAID, sauf dans le fait que LVM nécessite le formatage de tous les disques, ce qui pourrait ne pas être souhaitable si vous l'avez déjà avoir des données précieuses sur les disques.

David Okwii
la source
Plus généralement, j'attends toujours une réponse sur unix.stackexchange.com/questions/282393/union-mount-on-linux
Gilles 'SO- arrête d'être méchant'

Réponses:

4

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 /homeré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 /homeré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.

Bob Mortimer
la source