Es posible.
Nota: mi experiencia en el tema es muy limitada; La siguiente respuesta se basa principalmente en la investigación web, no lo he verificado en la práctica.
En general, todo lo que se monta en un /foo/bar/mountpoint
, cubre completamente el contenido anterior de la mountpoint
(aunque los programas conservan sus controladores ya obtenidos para los archivos "ocultos", siguen siendo válidos). Tu segundo montaje de enlace hizo precisamente eso.
El truco es usar un tipo de montaje que combine dos o más directorios en uno. El concepto general se llama montaje sindical . Hay varias implementaciones:
En general, una unión puede montarse sobre uno de los directorios combinados o en un punto de montaje completamente diferente (preferiblemente vacío). En mi opinión esta última es la solución más elegante.
Estos son algunos aspectos que puede considerar al elegir un tipo de montaje de unión para sus necesidades:
- Algunos de ellos están disponibles sólo como FUSIBLE , algunos se fusionan en el kernel de Linux (en este caso también pueden tener implementaciones FUSE). Compruebe estos preocupaciones de seguridad en cuanto a fusible.
- ¿Qué sucede cuando se modifica directamente uno de los directorios combinados? ( problema de ejemplo ).
Qué sucede cuando agregas un nuevo archivo a una unión. Mhddfs parece prometedor para fusionar directorios que contienen archivos multimedia. Comprobar Este artículo , dice:
Cuando creas un nuevo archivo en el sistema de archivos virtual, mhddfs
Mirará el espacio libre, que queda en cada una de las unidades. Si la primera unidad tiene suficiente espacio libre, el archivo se creará en esa primera unidad. De lo contrario, si esa unidad tiene poco espacio (tiene menos de lo especificado por mlimit
opción de mhddfs
, que por defecto es de 4 GB), la segunda unidad se utilizará en su lugar. Si esa unidad también tiene poco espacio, se utilizará la tercera unidad. Si cada unidad individual tiene menos de mlimit
espacio libre, la unidad con el espacio más libre se elegirá para los nuevos archivos.
Es incluso más que eso; si una determinada unidad se queda sin espacio libre en medio de una escritura (supongamos que usted trató de crear un archivo muy grande en ella), el proceso de escritura no fallará; mhddfs
simplemente transferirá los datos ya escritos a otra unidad (que tiene más espacio disponible) y continuará la escritura allí. Todo esto de forma completamente transparente para la aplicación que escribe el archivo (ni siquiera sabrá que ocurrió algo).
No sé cómo otras implementaciones manejan esto. yo adivinar fueron creados originalmente para permitir la unión de un sistema de archivos con capacidad de escritura con uno de solo lectura (como en esta pregunta ), por lo que cualquiera de ellos puede no ser tan flexible como mhddfs cuando se trata de (re) distribuir archivos. Sin embargo, no estoy seguro, puede que quieras probarlo por tu cuenta.