Mhddfs — объединение нескольких разделов в одно большое виртуальное хранилище
Допустим, что у вас есть 2 диска по 25 ГБ и у вас есть 40 ГБ музыки и фильмов. Как бы вы их хранили?
Конечно, вы можете разделить ваши файлы в ручную на два или три тома и сохранить их на разных дисках. Идея применима, но не очень хороша так, как требует больше времени и ручного труда.
Другое решение — создать RAID-массив диска. Но RAID насколько нам известно имеет недостатки с потерей надежности хранения и использования дискового пространства.
Следующее решение — mhddfs. Оптимальное решения для выше поставленной задачи. Об этом мы и поговорим в этом руководстве.
Объединение нескольких разделов в Linux
mhddfs — это драйвер для Linux, который объединяет несколько разделов монтирования в один виртуальный диск. Это драйвер который обеспечивает простое решение для хранения большого объема данных.
Зачем вам нужен Mhddfs?
Все ваши устройства хранения создают один виртуальный пул, и его можно установить прямо при загрузке. Эта небольшая утилита позаботится о разумном распределении данных при записи на ваше дисковое пространство. После успешного создания виртуальных дисков вы можете поделиться своей виртуальной файловой системой с помощью SAMBA.
Особенности Mhddfs
- Работа с атрибутами файловой системы и системной информацией.
- Возможность устанавливать атрибуты файловой системы.
- Создание, чтение, удаление и запись каталогов и файлов.
- Поддержка блокировки файлов и жестких ссылок на одном устройстве.
Плюсы mhddfs
- Идеально подходит для домашнего использования.
- Простота запуска.
- Отсутствие потери данных.
- Не разделяет файлы.
- Возможность легко добавить новые файлы в объединенную виртуальную файловую систему.
- Управляйте местоположением, в котором хранятся эти файлы.
- Расширенные атрибуты файлов.
Минусы mhddfs
- Драйвер mhddfs не встроен в ядро Linux.
- Требуется много вычислительной мощности во время работы.
- Нет решения избыточности.
- Не поддерживается перемещение жестких ссылок.
Установка Mhddfs в Linux
В Debian и в подобных системах вы можете установить пакет mhddfs, используя следующую команду:
# apt-get update && apt-get install mhddfs
В системах RHEL/CentOS Linux вам необходимо включить epel-репозиторий, а затем выполнить команду приведённую ниже, чтобы установить пакет mhddfs:
# yum install mhddfs
В системах Fedora 22+ вы можете установить mhddfs с помощью оператора dnf, как показано ниже:
# dnf install mhddfsp
Если incase, пакет mhddfs недоступен из репозитория epel, вам необходимо решить проблемы со следующими зависимостями для установки и компиляции из исходных кодов:
- Файлы заголовков FUSE
- GCC
- Файлы заголовков libc6
- Файлы заголовков uthash
- Файлы заголовков libattr1 (необязательно)
Затем загрузите последний пакет с исходным кодом, как показано ниже, и скомпилируйте его:
# wget http://mhddfs.uvw.ru/downloads/mhddfs_0.1.39.tar.gz # tar -zxvf mhddfs*.tar.gz # cd mhddfs-0.1.39/ # make
У вас должна быть включена возможность видеть двоичные файлы mhddfs в текущем каталоге. Переместите его в /usr/bin/ и /usr/local/bin/ как пользователь root.
# cp mhddfs /usr/bin/ # cp mhddfs /usr/local/bin/
Все установлено и mhddfs готово к использованию.
Как использовать Mhddfs?
1. Давайте посмотрим на свойства жесткого диска, подключенного к системе в настоящее время:
$ df -h
2. Создайте каталог /mnt/virtual_hdd, где все файловые системы будут сгруппированы вместе:
# mkdir /mnt/virtual_hdd
3. Затем смонтируйте все файловые системы. Либо как пользователь root, либо как пользователь, входящий в группу FUSE:
# mhddfs /boot/efi, /, /media/alex/Ubuntu/, /media/alex/Second/ /mnt/virtual_hdd -o allow_other
Примечание. Мы используем имена точек монтирования для всех жестких дисков. В вашем случае точка монтирования будет отличаться. Опция «-o allow_other» делает эту виртуальную файловую систему видимой для всех остальных пользователей, а не только для автора.
4. Теперь запустите df -h, чтобы увидеть все файловые системы. Вы увидите файловые системы которые были созданы только что:
$ df -h
5. Чтобы создавать это виртуальное пространство при каждой загрузке системы, вы должны добавить следующую строку кода (в зависимости от вашей точки монтирования), в конце файла /etc/fstab с правами root.
mhddfs# /boot/efi, /, /media/alex/Ubuntu/, /media/alex/Second/ /mnt/virtual_hdd fuse defaults,allow_other 0 0
6. Если в дальнейшем вы пожелаете добавить/удалить новый диск в Virtual_hdd, вы можете установить новый диск, скопировать содержимое точки монтирования /mnt/virtual_hdd, размонтировать занимаемое пространство, извлечь диск, который вы хотите удалите и/или смонтировать новый диск, который вы хотите подключить и установите общую файловую систему под Virtual_hdd, используя команду mhddfs.
Как отключить Virtual_hdd?
Размонтировать virtual_hdd так же просто, как и смонтировать:
# umount /mnt/virtual_hdd
Обратите внимание, что эта команда правильно пишется «umount», а не «unmount»!!!