DOKK / manpages / debian 12 / mhddfs / mhddfs.1.en
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

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 <dimka@avanto.org>

February 2008