Просто: вы ищете mhddfs .
Она претендует на то, чтобы быть одной большой файловой системой, записывает на диски в том порядке, в котором они были упомянуты, и в конечном итоге перемещает большие файлы на другое устройство, если первое было слишком полным. На самом деле он также может использовать подпапки на дисках, обеспечивая такую же функциональность.
Отдельные диски должны быть смонтированы в первую очередь и оставаться доступными. Он вообще не изменяет файловые системы и не заботится о том, какая файловая система находится на месте (если файловая система правильно сообщает о свободном пространстве). В случае, если диск потерян, вам придется заново подключить mhddfs (на лету) и данные на этом диске исчезнут.
Использование:
mhddfs /dir1,/dir2[,/path/to/dir3] /path/to/mount [-o options]
или в /etc/fstab
mhddfs#/path/to/dir1,/path/to/dir2 /mnt/point fuse defaults 0 0
Сложный и мощный: вы хотите unionfs .
Хотя mhddfs хорош и чрезвычайно прост, у меня были проблемы с правами доступа к файлам при предоставлении доступа другим через SSH. Я не мог найти никакого решения, но нашел unionfs.
Unionfs также позволяет вам монтировать несколько папок в разных файловых системах в одну, но делает это волшебно с разрешениями. Вы можете объединить несколько папок, доступных только для чтения, и одну доступную для записи одну, поэтому она выглядит как одна. Люди, с которыми вы поделились вашей объединенной папкой, могут затем писать в папку только для чтения - как им кажется - но файлы в конечном итоге оказываются в единственной доступной для записи. Загрузочные компакт-диски Linux работают следующим образом, записываемый диск является виртуальным диском. Люди могут даже удалять файлы в папках только для чтения, которые на самом деле не удаляют файл, но создают скрытый файл белого списка в своей директории записи. Если вы поймаете все варианты, вы можете использовать свою файловую систему как SVN для бедного человека .
Если вы слишком часто используете SVN-подобные параметры, вы можете пропустить существующие данные дважды (это невероятно в вашем сценарии, но возможно), в то время как ваша доступная для записи папка заполняется крошечными, скрытыми файлами белого списка. Помимо этого, он сохраняет ваши диски в чистоте и индивидуальном использовании. Что произойдет, если файл слишком велик для диска, я пока не знаю.
Использование:
unionfs-fuse -o cow,max_files=32768 \
-o allow_other,use_ino,suid,dev,nonempty \
/path/to/dir1=rw:/path/to/dir2=ro:/dir3
/u/union/etc
где =rw
делает папку доступной для чтения и записи и =ro
делает ее доступной только для чтения, даже если в разрешениях указано иное. В etc/fstab
этом есть
unionfs-fuse#/path/to/dir1=rw:/path/to/dir2=ro:dir3 /path/to/mount fuse cow,allow_other 0 0