Введение
Виртуализация на уровне ОС
The jail mechanism is an implementation of FreeBSD's OS level virtualisation that allows system administrators to partition a FreeBSD derived computer system into several independent mini systems called jails, all sharing the same kernel, with very little overhead. It is implemented through a system call, jail(2), as well as a userland utility, jail(8), plus, depending on the system, a number of other utilities. The functionality was committed into FreeBSD in 1999 by Poul Henning Kamp after some period of production use by a hosting provider, and was first released with FreeBSD 4.0, thus being supported on a number of FreeBSD descendants, including DragonFly BSD, to this day.
Механизм jail — это реализация виртуализации на уровне ОС FreeBSD, позволяющая системным администраторам разделять компьютерную систему на основе FreeBSD на несколько независимых мини-систем, называемых jail, которые совместно используют одно ядро с минимальными накладными расходами. Он реализован посредством системного вызова jail(2), а также утилиты командной строки jail(8), плюс, в зависимости от системы, ряда других утилит. Эта функциональность была добавлена в FreeBSD в 1999 году Поулом Хеннингом Кампом после некоторого периода использования в производственной среде хостинг-провайдером и впервые выпущена в составе FreeBSD 4.0, благодаря чему поддерживается во многих производных от FreeBSD системах, включая DragonFly BSD, и по сей день.
The jail mechanism is an implementation of FreeBSD's OS level virtualisation that allows system administrators to partition a FreeBSD derived computer system into several independent mini systems called jails, all sharing the same kernel, with very little overhead. It is implemented through a system call, jail(2), as well as a userland utility, jail(8), plus, depending on the system, a number of other utilities. The functionality was committed into FreeBSD in 1999 by Poul Henning Kamp after some period of production use by a hosting provider, and was first released with FreeBSD 4.0, thus being supported on a number of FreeBSD descendants, including DragonFly BSD, to this day.
История
Необходимость в FreeBSD jails возникла из желания небольшого провайдера хостинга с общим доступом (владелец R&D Associates, Inc., Derrick T. Woolworth) установить чёткое разделение между своими собственными сервисами и сервисами клиентов, в основном для обеспечения безопасности и упрощения администрирования (jail(8)). Вместо добавления нового уровня детальных настроек, решение, предложенное Полом Хеннингом Кампом, заключалось в секционировании системы – как её файлов, так и её ресурсов – таким образом, чтобы доступ к соответствующим секциям имели только авторизованные пользователи. Jails впервые появились в FreeBSD версии 4.0, выпущенной 14 марта 2000 года. Большая часть оригинальной функциональности поддерживается в DragonFly, и некоторые новые возможности также были портированы.
Виртуализация
С его помощью можно создавать среды, каждая из которых имеет свой собственный набор установленных утилит и свою собственную конфигурацию. Механизм jail позволяет программным пакетам рассматривать систему как изолированную, как будто каждый пакет имеет в своем распоряжении отдельную машину. Jails могут также иметь своих собственных, независимых суперпользователей. Однако jail в FreeBSD не обеспечивает полноценной виртуализации; он не позволяет виртуальным машинам использовать версии ядра, отличные от версии ядра базовой системы. Все jails используют одно и то же ядро. Поддержка кластеризации и миграции процессов отсутствует.