Aquí hay algunos pensamientos: todavía estoy aprendiendo esto y lo actualizaré a medida que avance.
Cómo elegir el sistema de archivos de unión
Hay dos maneras de ver esto:
- ¿Cómo se comparan las características de cada uno?
- Para algunos casos de uso común, ¿cuál debo elegir?
Compararé unionfs / unionfs-fuse / overlayfs / aufs / mergerfs, siendo este último un reemplazo de mhddfs.
Características de cada uno
Estado del desarrollo
Distribución / soporte de kernel
Hay sistemas de archivos en modo kernel y modo sistema de usuario, este último se ejecuta en FUSE. Los del modo kernel tienen menos sobrecarga (hay sobrecarga cuando el código cambia entre el espacio del usuario y el espacio del kernel) pero el único actualmente soportado en el kernel de Linux es overlayfs . Los sistemas de archivos en modo de usuario son más fáciles de empaquetar para las distribuciones.
- unionfs y aufs necesitan parches de kernel
- unionfs no es distribuido por Debian (el resto sí)
- unionfs-fuse y mergerfs se basan en FUSE, por lo que no necesita módulos adicionales en el núcleo
- overlayfs ha sido parte del kernel desde 3.18 (Debian Stretch)
Copiar en escrito
Esto se relaciona con el caso de uso de Live CD a continuación:
- mergerfs no tiene copia en escritura
- Los otros hacen
Casos de uso
Caso de uso de raíz de solo lectura / The Live CD
La idea es tener un CD-ROM / partición de solo lectura de un sistema Linux. El sistema de archivos de unión lo hace ver al usuario como si fuera un sistema de lectura y escritura para que pueda hacer cambios. Hay un sistema de archivos de lectura y escritura (por ejemplo, un disco RAM tmpfs) que almacena el "Delta" de cualquier cambio realizado por el usuario, pero no la instantánea completa.
Aquí cualquiera de los sistemas de archivos de unión funcionaría.
Caso de uso de Docker
Soy consciente de que este es un caso de uso principal, pero no conozco los detalles: ¿alguien puede proporcionar orientación sobre esto?
Fusionar discos duros
Por ejemplo, puede tener dos conjuntos de /home
directorios en diferentes sistemas de archivos. O puede que esté actualizando la computadora de su hogar con un segundo disco duro y desee un solo volumen lógico.
Aquí es donde realmente no desea copiar y escribir, por lo que posiblemente mergerfs sea la mejor opción.
Sistema de archivos de unión versus LVM para agrupación de discos
Enumeraré algunos casos de uso que se pueden lograr con los sistemas de archivos de unión pero no con LVM:
Si está actualizando un sistema existente con un segundo disco, algo como mergerfs podría ser mejor porque LVM requeriría que formatee el primer disco duro, por lo tanto, destruirá los datos en él. Un sistema de archivos de unión evitaría este paso.
LVM podría dividir un archivo en dos discos duros físicos (suponiendo RAID 0), por lo que podría perderlo si falla un disco duro.
A algunos usuarios les gustaría, por ejemplo, mantener su /home
directorio en una memoria USB que pueden quitar.
En el caso de uso de una partición virtual en dos discos físicos, con LVM no tendrá que preocuparse por si los archivos se guardan en un disco o en el otro. Con mergefs, el sistema puede elegir automáticamente cuál para usted dependiendo de cuánto espacio libre esté disponible.