Mounting multiple devices at a single mount point on Linux

You can use lvm for this. It was designed to separate physical drive from logical drive.

With lvm, you can :

  1. Add a fresh new physical drive to a pool (named Volume Group in LVM terminology)

    pvcreate /dev/sdb my_vg

  2. Extend space of a logical volume

    lvextend ...

  3. And finish with an online resize of your filesystem

    e2resize /mnt/my/path

But beware it's not a magic bullet. It's far more harder to reduce a filesystem, even with LVM.


You may be interested in UnionFS. It may be simpler to setup on an existing system than an LVM.

From the UnionFS page, http://www.filesystems.org/project-unionfs.html :

This project builds a stackable unification file system, which can appear to merge the contents of several directories (branches), while keeping their physical content separate. Unionfs is useful for unified source tree management, merged contents of split CD-ROM, merged separate software package directories, data grids, and more.

I hope you find this helpful.


The LVM answer is a good one, but raid can do this as well, so adding another.
The linux software raid (mdadm) does allow adding disks to an array that's already created. When you do it will re-balance the data onto the new drive.
If youre not interested in redundancy, you can use raid-0 which simply stripes data evenly across all disks.
However raid-5 offers at least some redundancy without losing much storage (you sacrifice one disk's worth).

But with that said, raid works best when all the drives are the same size. If they arent the same size, portions of the drive will be unused as it'll only use as much as the smallest drive. If I recall correctly, LVM stiping does not have this issue as if the drives arent the same size, the extra space just wont be striped.