1.2, Аноним (-), 09:37, 04/12/2006 [ответить]
| +/– |
а есть где-нибудь описание на русском, что такое Unionfs и для чего оно нужно? моего английского не хватило для понимания информации с сайта автора патчсета.
я так понял, что мы можем смонтировать какую-нибудь файловую систему поверх уже смонтированной (т.е. в один и тот же mountpoint) в результате чего получим в одном месте структуру файлов и директорий из двух файловых систем. если я, конечно, правильно понял, то может кто-нибудь привести пример реальной ситуации, когда такое может понадобиться? | |
|
2.6, techniX (?), 11:30, 04/12/2006 [^] [^^] [^^^] [ответить]
| +/– |
Я вот использую unionfs для создания модулей расширения в LiveCD-дистрибутиве Frenzy (в devel-версии).
Основная файловая система находится на CD и, естественно, read-only. Добавить туда софт нереально. Но хочется же :) Поэтому мы делаем модуль расширения - образ файловой системы, содержащий нужные файлы, лежащие в нужных местах - и монтируем его поверх основной файловой системы. Более того, поверх всего этого мы монтируем RAM-диск, что позволяет создать иллюзию записи в основную файловую систему - все изменения в ней будут храниться в RAM-диске и после перезагрузки будут потеряны.
Жаль только, что последний патч для 6.x (unionfs-p16) не подходит для FreeBSD 6.2-PRERELEASE. А переходить на 7-CURRENT как-то пока не хочется...
| |
2.9, Dimonich (?), 18:51, 04/12/2006 [^] [^^] [^^^] [ответить]
| +/– |
Пример. n нфс шар, n райда по n дисков, smb русурсы, да и вообще все что можно подключить. И вот все эт хозяйство надо выложить на ftp. | |
|
1.3, wentoir (?), 09:55, 04/12/2006 [ответить]
| +/– |
Привожу пример:
Делаю jail в системе и не хочу копировать те же самые файлы:
из fstab:
# jail.ru
/bin /var/jails/jail.ru/bin nullfs ro 0 0
/sbin /var/jails/jail.orel.ru/sbin nullfs ro 0 0
/lib /var/jails/jail.ru/lib nullfs ro 0 0
/libexec /var/jails/jail.ru/libexec nullfs ro 0 0
/usr /var/jails/jail.ru/usr nullfs ro 0 0 | |
|
2.4, GateKeeper (??), 10:47, 04/12/2006 [^] [^^] [^^^] [ответить]
| +/– |
как нетрудно догадаться - пример неудачный. NULLFS != UNIONFS.
Привожу свой:
имеем: NFS-доступный каталог с дистфайлами портов на сервере (обновляется редко) и локально каталог /usr/ports/distfiles, где есть несколько файлов, причём эти несколько файлов соответствуют нашему дереву портов, а в NFS-хранилище очень много файлов соответсвуют текущему дереву в силу малой частоты обновления нужных нам портов (или их части).
Монтируем: mount_nfs server:/usr/ports/distfiles /mnt/net-distfiles
mount_unionfs -b /mnt/net-distfiles /usr/ports/distfiles
Имеем: полное дерево портов с дистфайлами, новые файлы будут создаваться локально (удобно, если NFS-каталог для нас read-only), любое изменение, затрагивающее файлы, расположенные в NFS-каталоге, приведёт к копированию этих файлов на локальное хранилище (у нас - /usr/ports/distfiles) с последующим применением изменений. Эти исключения описаны параграфом в mount_unionfs(8). В остальном поиск такой: сначала поиск в upper layer (это первый параметр), затем в lower layer (это второй параметр). При удачном поиске в lower layer идёт "теневое зеркалирование" файла на upper layer (без копирования), затем проведение операций открытия файлов и работы с ними. Ключ -b приводит к инверсии lower layer и upper layer.
В примере выше nullfs сделала бы недоступными файлы, находящиеся в каталоге, в который производится монтирование. "Слить без копирования" два каталога в один при помощи nullfs нельзя. | |
|
3.8, wentoir (?), 13:23, 04/12/2006 [^] [^^] [^^^] [ответить]
| +/– |
>как нетрудно догадаться - пример неудачный. NULLFS != UNIONFS.
>В примере выше nullfs сделала бы недоступными файлы, находящиеся в каталоге, в
>который производится монтирование. "Слить без копирования" два каталога в один при
>помощи nullfs нельзя.
Полностью согласен, пример неудачный. Попутал nullfs с unionfs.
| |
|
|
1.5, Аноним (-), 11:07, 04/12/2006 [ответить]
| +/– |
GateKeeper, спасибо. более-менее прояснилось. | |
|