Puedes usar lvm para esto. Fue diseñado para separar la unidad física de la unidad lógica.
Con lvm, puede:
-
Agregue una nueva unidad física nueva a un grupo (denominado Grupo de volúmenes en la terminología LVM)
pvcreate /dev/sdb mi_vg
-
Ampliar el espacio de un volumen lógico
extender ...
-
Y termine con un cambio de tamaño en línea de su sistema de archivos
e2resize /mnt/mi/ruta
Pero cuidado, no es una varita mágica. Es mucho más difícil reducir un sistema de archivos, incluso con LVM.
Puede que le interese UnionFS. Puede ser más sencillo de configurar en un sistema existente que en un LVM.
Desde la página de UnionFS, http://www.filesystems.org/project-unionfs.html :
Este proyecto crea un sistema de archivos de unificación apilable, que puede parecer que fusiona el contenido de varios directorios (ramas), mientras mantiene su contenido físico separado. Unionfs es útil para la administración unificada del árbol de fuentes, contenido combinado de CD-ROM dividido, directorios de paquetes de software separados combinados, cuadrículas de datos y más.
Espero que encuentres esto útil.
La respuesta de LVM es buena, pero raid también puede hacer esto, así que agrega otra.
La incursión de software de Linux (mdadm) permite agregar discos a una matriz que ya está creada. Cuando lo haga, volverá a equilibrar los datos en la nueva unidad.
Si no está interesado en la redundancia, puede usar raid-0, que simplemente divide los datos de manera uniforme en todos los discos.
Sin embargo, raid-5 ofrece al menos algo de redundancia sin perder mucho almacenamiento (sacrifica el valor de un disco).
Pero dicho esto, raid funciona mejor cuando todas las unidades son del mismo tamaño. Si no son del mismo tamaño, partes del disco no se usarán, ya que solo usará tanto como el disco más pequeño. Si no recuerdo mal, la definición de LVM no tiene este problema, ya que si las unidades no son del mismo tamaño, el espacio adicional simplemente no se dividirá.