[devel] vserver, hasher, uml...
Alexey Tourbin
=?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Вт Авг 2 11:04:21 MSD 2005
On Tue, Aug 02, 2005 at 09:06:52AM +0300, Michael Shigorin wrote:
> On Tue, Aug 02, 2005 at 09:29:10AM +0400, Alexey Tourbin wrote:
> > > > Одно из преимуществ hasher -- в том, что это всё в пределах
> > > > POSIX API.
> > > в vserver тоже все в пределах POSIX API (если я правильно
> > > понял эти пределы) - он затрагивает только linux caps.
> > Просто я не в курсе, что такое vserver. По моим
> > представлениям, это какай-то хак на ядро. Попробую
> > просветиться.
> Это клёвый хак на ядро :-) Уже все серверы посъезжали.
В докладе ldv перечислены некоторые популярные "виртуализаторы", но нет
сравнительного анализа. Интересно, кому-нибудь попадался сравнительный
анализ?
Меня прежде всего интересует "виртуализация для разработчика", по
следующим критериям:
1) Минимально необходимые привилегии для порождения виртуальной среды.
В идеале, виртуальная среда должно порождаться без изменения credentials
вообще, и так же просто, как запуск /bin/vi.
В хешере используется суидный хелпер, но для получения доступа к нему
требуется разовое действие со стороны администратора (суидный хелпер в
любом случае необходим как минимум для вызова chroot(2)).
В vserver, как я подозреваю, для создания виртуальной среды требуются
права рута в хост-системе, что неприемлемо для сборочных серверов.
В UML требуются какие-нибудь права (в частности, для монтирования
внешних по отношению к среде каталогов)?
2) Максимально правдоподобная эмуляция внутри виртуальной среды.
То есть рут внутри виртуальной среды должен чувствовать себя рутом
(например, в части изменения ownership у файлов в среде).
У хешера с этим никак, ${USER}_a на самом деле бесправен даже по
отношению к ${USER}_b, просто используется fakeroot. Пример:
$ hsh-run --rooter ~/build chgrp builder /var/cache/apt
$ hsh-run --rooter ~/build -- ls -dl /var/cache/apt
drwxrws--- 3 root root 72 Aug 2 10:49 /var/cache/apt
$ hsh-run --save-fakeroot --rooter ~/build chgrp builder /var/cache/apt
fakeroot: database file `/.fakedata' does not exist.
$ touch ~/build/chroot/.fakedata
$ hsh-run --save-fakeroot --rooter ~/build chgrp builder /var/cache/apt
$ hsh-run --save-fakeroot --rooter ~/build -- ls -dl /var/cache/apt
drwxrws--- 3 root root 72 Aug 2 10:49 /var/cache/apt
$
То есть никак. (В этом примере я хочу отдать каталог /var/cache/apt
пользователю builder, чтобы он смог сделать "apt-get source").
В vserver и UML с этим, похоже, проблем нет; но это виртуализаторы
другого класса; все виртуализаторы на основе чрута будут этой проблеме
подвержены (потому что настоящего рута в чруте быть не должно; а рут в
системе всего один, притом настоящий).
3) Достаточно гибкие инструмены для передачи информации между
виртуальной и внешней средами; у хешера с этим хорошо; у UML,
я так подозреваю, что плохо.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип : application/pgp-signature
Размер : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url : <http://lists.altlinux.org/pipermail/devel/attachments/20050802/148cc36a/attachment-0001.bin>
Подробная информация о списке рассылки Devel