FastNetMon

Monday 23 August 2010

Текущее состояние системы контейнеризации jail во FreeBSD 8 и FreeBSD 8.1, а также ее перспективы

В последнее время заинтересовался состоянием развития системы контейнеризации jail во FreeBSD. В первую очередь в недавних релизах 8.0 и 8.1, но также интересно было бы ознакомиться с планируемыми нововведениями в этой подсистеме. Если Вы ранее не сталкивались с jail, то вкратце - это технология очень похожая на Linux OpenVZ, но с меньшими возможностями по изоляции (тут с OpenVZ поспорить сложно, да).

FreeBSD 8.0

Была добавлена поддержка полностью виртуализированного сетевого стека для jail инстанций. В оригинале звучит так:
A new virtualization container named “vimage” has been implemented. This is a jail with a virtualized instance of the FreeBSD network stack and can be created by using jail(8) command.

FreeBSD 8.1

Тут лишь небольшое добавление в фреймворк pfill для поддержки той самой виртуализации сети. В оригинале звучит так:
The pfil(9) framework for packet filtering in FreeBSD kernel now supports separate packet filtering instances like ipfw(4) for each VIMAGE jail.

FreeBSD 9.x

Согласно письму, недавно распространенному FreeBSD Foundation (10 июня 2010), они осознают всю важность подсистемы jail и планируют вывести ее на новый уровень в 9й ветке. Для этого разработчику ядра FreeBSD (Bjoern A. Zeeb) был выделен грант, который позволит довести jail до законченного решения (позволяющего полноценную изоляцию виртуальных контейнеров). Среди систем, которые планируется улучшить упоминаются SYSV, Posix IPC. Также очень большое внимание отдается отсутствию регрессий кода jail и максимально возможное снижение оверхеда, возникающего при использовании jail. Так что, технология вполне себе живет и имеет хорошие перспективы :)

Вот оригинал:
Dear FreeBSD Community,

We are pleased to announce that Bjoern A. Zeeb has been awarded a grant
to improve FreeBSD's jail based virtualization infrastructure and to
continue to work on the virtual network stack. His employer, CK Software
GmbH is matching the Foundation's funding with hours.

FreeBSD has been well known for its jail based virtualization during the
last decade. With the import of the virtual network stack, FreeBSD's
operating system level virtualization has reached a new level.

This project includes cleanup of two years of import work and
development and, more notably, brings the infrastructure for a network
stack teardown. Cleanly shutting down a network stack in FreeBSD will be
the major challenge in the virtualization area to get the new feature to
production ready quality for the 9.x release
lifecycle.

Further, the project includes generalization of the virtual network
stack framework, factoring out common code. This will provide an
infrastructure and will ease virtualization of further subsystems like
SYSV/Posix IPC with minimal overhead. All further virtualized subsystems
will immediately benefit from shared debugging facilities, an essential
feature for early adopters of the new technology.

"Improved jail based virtualization support, that continues to be very
lightweight and as easily manageable as classic jails, will be a killer
feature for the next few years," said Bjoern A. Zeeb, FreeBSD developer.
He also added, "It will allow people to partition their FreeBSD server,
run simulations without racks of hardware, or provide thousands of
virtual instances in hosting environments fairly easy and efficiently.
While this follows the trend of green computing, it also adds to
FreeBSD's virtualization portfolio with Xen or other more heavyweight
hypervisor support, which can be mixed with jails as needed."

While work in this area will have to continue, the funding for this
project will end mid-July 2010.

Sincerely,

The FreeBSD Foundation

Resource Containers Project

Это также очень серьезная веха в развитии FreeBSD jail, так как этот функционал позволит лимитировать ресурсы для каждого контейнера в отдельности (память, процессор, сеть и проч.), чего ранее в jail не было. Более подробно можно прочесть вот здесь: http://freebsdfoundation.blogspot.com/2010/07/resource-containers-project.html

Update:
А вот уже и новости с полей о добавлении вирутализации сетевого стека (о чем я писал выше, это уже есть в 8.1) и других улучшениях подсистемы jail: http://freebsdfoundation.blogspot.com/2010/08/update-on-freebsd-jail-based.html, следующим шагом стоит ожидать виртуализации SYSV/POSIX IPC.

Также очень много интересной технической информации на wiki странице проекта FreeBSD jail: http://wiki.freebsd.org/Jails

2 comments :

  1. На замену OpenVZ пришла LXC, более перспективная (взята в ядро), но пока с меньшим функционалом. Логичней сравнивать jail vs lxc.

    ReplyDelete
  2. Согласен, но OpenVZ в данном случае уже продакшен-зрелое решение и при этом свободно доступное, так что не вижу смысла не сравнивать с ним. Ну а по логике, да, jail ближе к lxc.

    ReplyDelete

Note: only a member of this blog may post a comment.