MHDDFS, UnionFS, LVM, и зачем вообще все это надо
С приобретением второго веника к домашнему серверу понадобилось совместить старую и новую ФС. Попробовал разные варианты и остановился на MHDDFS.
Unionfs, mhddfs, lvm позволяют использовать несколько жестких дисков в Linux как одну файловую систему. UnionFS и MHDDFS «накладывают» файловые системы друг на друга, LVM же работает по принципам RAID.
При этом MHDDFS позволяет балансировать диски при записи, выбирая для новых файлов диск с наибольшим количеством свободного места. Если в процессе записи место на диске закончится, записанная часть файла будет перенесена на другой носитель без прерывания процесса записи, а перенос останется незаметным для приложения. А если один из дисков безвременно прекратит свое существование, данные не потеряются целиком, как с LVM или RAID.
Настройка mhddfs на Debian/Ubuntu
В моем случае имеются /dev/sdb1 и /dev/sdb2, которые нужно было объединить в один диск.
Устанавливаем, создаем точки монтирования и монтируем диски по одному:
Copy Source | Copy HTML
- root@punkoff-desktop:/# aptitude install mhddfs
- root@punkoff-desktop:/# cd /mnt
- root@punkoff-desktop:/mnt# mkdir a b c
- root@punkoff-desktop:/mnt# mount /dev/sdb1 a
- root@punkoff-desktop:/mnt# mount /dev/sdb2 b
-
А теперь — самое интересное:
Copy Source | Copy HTML
- root@punkoff-desktop:/mnt# mhddfs a,b c
Теперь можно протестировать файловую систему. Размер sdb1 и sdb2 — по 400 Mb. Размер video.avi — около 320 Mb.
Copy Source | Copy HTML
- root@punkoff-desktop:/mnt/c# cp ~/video.avi video1.avi
- root@punkoff-desktop:/mnt/c# cp ~/video.avi video2.avi
- root@punkoff-desktop:/mnt/c# ls
- video1.avi
- video2.avi
- root@punkoff-desktop:/mnt/c# ls ../a/
- video1.avi
- root@punkoff-desktop:/mnt/c# ls ../b/
- video2.avi
Видно, что файлы записались по одному на диск.
Размонтировать ФС:
Copy Source | Copy HTML
- root@punkoff-desktop:/mnt# fusermount -u c
Строка fstab для mhddfs:
Copy Source | Copy HTML
- mhddfs#/mnt/a,/mnt/b /mnt/c fuse defaults 0 0
-
Нужно отметить, что mhddfs объединяет не диски, а директории.