Scroll to navigation

mhddfs(1) General Commands Manual mhddfs(1)


mhddfs - The driver combines a several mount points into the single one.


mhddfs /dir1,/dir2[,/path/to/dir3] /path/to/mount [-o options]
mhddfs /dir1 dir2,dir3 /mount/point [-o options]
fusermount -u /path/to/mount

fstab record example:

mhddfs#/path/to/dir1,/path/to/dir2 /mnt/point fuse defaults 0 0
mhddfs#/dir1,/dir2,/dir3 /mnt fuse logfile=/var/log/mhddfs.log 0 0


with an -o option1,option2... you can specify some additional options:


specify a file that will contain debug information.


0 - debug messages
1 - info messages
2 - standard (default) messages


a free space size threshold If a drive has the free space less than the threshold specifed then another drive will be choosen while creating a new file. If all the drives have free space less than the threshold specified then a drive containing most free space will be choosen.
Default value is 4G, minimum value is 100M.
This option accepts suffixes:
[mM] - megabytes
[gG] - gigabytes
[kK] - kilobytes
For an information about the additional options see output of:
mhddfs -h


The file system allows to unite a several mount points (or directories) to the single one. So a one big filesystem is simulated and this makes it possible to combine a several hard drives or network file systems. This system is like unionfs but it can choose a drive with the most of free space, and move the data between drives transparently for the applications.
While writing files they are written to a 1st hdd until the hdd has the free space (see mlimit option), then they are written on a 2nd hdd, then to 3rd etc.
df will show a total statistics of all filesystems like there is a big one hdd.
If an overflow arises while writing to the hdd1 then a file content already written will be transferred to a hdd containing enough of free space for a file. The transferring is processed on-the-fly, fully transparent for the application that is writing. So this behaviour simulates a big file system.


The filesystems are combined must provide a possibility to get their parameters correctly (e.g. size of free space). Otherwise the writing failure can occur (but data consistency will be ok anyway). For example it is a bad idea to combine a several sshfs systems together.
Please read FUSE documentation for a further conception.


Distributed under GPLv3
Copyright (C) 2008 Dmitry E. Oboukhov <>
February 2008