[Uneex] Вопросы по Jail и не только

Tarc tarc на tarc.po.cs.msu.su
Пт Мар 11 17:30:51 MSK 2005


On Fri, Mar 04, 2005 at 12:52:07PM +0300, Fr. Br. George wrote:
> Вопросы по FreeBSD5.3.
> 
> Потихоньку осваиваю jail-методику по типу той, что описал yuri@ на
> послдеднем семинаре. На знаю правильно ли, но решил создать один общий
> для всех jail-ов корень, куда устанавливаются пакеты и пр. После чего
> jail-ы монтируют этот корень mount_unionfs -b /jail/root /jail/service1.
> 
> Грабли ("-" -- непройденные, "+" -- пройденные):

> - В некоторых случаях (например, после редактирования vim-ом) файл в
>   верхнем каталоге (/jail/service1) получает флаг opaque (хотя при -b он
>   и так бы загораживал аналогичный файл), и при этом становится read
>   only. По-хорошему такое поведение нужно, когда нет флага -b. Что это и
>   как отключается?
Для редактирования vim, это действительно так.
Workaround:
 Если редактировать редактором ee, флага не появляется, так что есть подозрение, что проблема не в unionfs, а в vim'e.
 Если та же проблема возникает в других случаях - опиши, мне самому интересно
How-To-Repeat:
   mount_unionfs -b /usr/ports /mnt && ee /mnt/README  
	 
-----------------------------------------------------------	
> + При mount_unionfs -b /jail/root /jail/<пустой_какталог> в
>   <пустом_каталоге> создаются (по мере просмотра) подкаталоги,
>   аналогичные подкаталогам /jail/root, но с совершенно другими правами
>   доступа. Поэтому перед первым mount_unionfs -b /jail/root /jail/service1
>   стоит делать cd /jail/root; find . -type d | cpio -pm /jail/service1.

> + В некоторых случаях _не_ нужно, чтобы файлы из нижнего каталога были
>   видны в верхнем. Здесь помогает всё тот же флаг opaque, установленный
>   для _верхнего подкаталга_ (в частности, /var, кажется, нужно скрывать
>   весь). Приходится перед mount_unionfs -b /jail/root /jail/service1
>   делать ещё find /jail/service1/var -typed -exec chflags opaque {} \;
>   потому что opaque для каталога рекурсивного значение не имеет

--------------------------------------------------------------
> - В некоторых случаях замонтированные unionfs-ом и/или devfs-ом каталоги
>   не желают размонтироваться (device busy), хотя sockstat и fstat (вроде
>   бы) не показывают ничего, что бы это устройство использовало. Говорю
>   "вроде бы", потому что не знаю вполне, что grep-ть из их выдачи, а
>   grep-ать глазками намного сложнее, чем grep-ом ((C) Дима Левин). На
>   что смотреть-то?
А что говорит lsof(1) (/usr/ports/sysutils/lsof)

> - При перезагрузке системы частенько в самом конце наблюдается сообщение
>   "syncing buffers 23 4 1 1 1 1 1 1 giving up with 1 buffers" или что-то
>   подобное, приводящее, естественно, к fsck. Как с этим бороться? Поиск
>   в рассылке ни к чему не привёл (точнее, этот вопрос регулярно возникает,
>   но ответ на него если и есть, то такой: "у вас не все буферы на диск
>   записались, вот он и fsck-ется, чего ж тут удивительного").
> 

--
        Arseny Nasokin (aka Tarc)


Подробная информация о списке рассылки Uneex