Unionfs - объединить несколько папок в одну
Unionfs позволяет отображать в одной папке содержимое других папок. Тем самым объединить их в одну.
Рассмотрим пример:
При работе с большими ресурсами (сайтами) с огромным количеством файлов, перед нами часто возникает вопрос оптимизации работы сервера и распределения нагрузки. Одним из краеугольных камней в нагрузке от сайтов с большим количеством файлов является нагрузка на дисковую подсистему. В данном случае очень кстати было бы настроить свой виртуальный VPS сервер так, чтобы папки с наибольшим количеством файлов распределить по разным жестким дискам. И в итоге распылить операции чтения/записи по разным дискам и получить более высокую скорость работы из-за того, что не будет создаваться нагрузка лишь на один диск. Но в результате подобной оптимизации мы получим разделение файлов с одной папки, по разным. Решить подобную проблему достаточно просто. Допустим у нас есть папки с файлами /data1, /data2 и /data3. Также у нас есть скрипт, который обращается к файлам с этих директорий. Содержимое папок /data1, /data2 и /data3 можно объединить, чтобы файлы и папки внутри их суммарно отображались в папке /var/data
Но на самом деле файлы будут храниться в /data1, /data2 и /data3.
И так, что делаем далее:
1. устанавливаем пакет fuse-unionfs:
Для ОС Centos установку можно выполнить с репозиториев менеджером пакетов Yum:
yum install fuse-unionfs
Для ОС Debian ветки (включаем сюда и Ubuntu)
apt-get install unionfs-fuse
2. в файл fstab указываем:
unionfs#/data1=rw:/data2=rw:/data3=rw /var/data fuse cow,allow_other 0 0
└──> директории, которые нужно объединить, |
и параметры чтение/запись └> куда монтируем
Если Вам нужна помощь в настройке, обращайтесь в техническую поддержку ГиперХост!