Внимание! Данные страницы описывают cbsd версии 10.0.1. Если вы используете более раннюю версию, рекомендуется сначала обновиться.
Конфигурации клетки
Команды:
% cbsd jconfig
% cbsd jset
Описание: Конфигурирование параметров jail
Каждая клетка cbsd хранит настройки в SQLite3 базе. Помимо этого, в каталоге $workdir/jails-fstab/ могут быть fstab файлы (см. ниже). Для изменения настроек клетки может служить команда cbsd jconfig, запускающая TUI меню для изменения основных параметров.
IP адреса клетокIP адреса, которые привязываются к клетке, указываются в параметре ip4_addr. В качестве IP могут выступать как IPv4, так и IPv6 адреса. При запуске и останове клетки, работа с IP может проходить в двух режимах:
- автоматическое создание на-лету IP адресов для клетки в момент запуска и автоматическое удаление IP с интерфейса при останове
- использование ранее иницииализированных IP адресов.
Если клетке назначаются более одного адреса, они должны быть указаны через запятую без пробелов. IP могут содержать префикс сети, указанный через IP/prefix. По-умолчанию, alias создается с префиксом /32, что может не подходить, если jail использует подсеть отдельную от сети сервера - в этом случае, корректный /prefix необходим.
interface является параметром, который управляющий этим поведением. Если он установлен в значение 0, то при jstart и jstop не будут вызываться ifconfig alias и ifconfig -alias соответственно. Если его значение равно auto или имени физического интерфейса (например bce0), то перед запуском клетки будет вызвана команда
ifconfig alias interface ips,
а при остановке -
ifconfig inteface ips -alias
Будьте предельно аккуратны с этим параметром. Если в наличие есть только 1 IP сервера, который используется и основной системой и этот же IP назначается клетке, убедитесь, что interface выставлен в значение 0, иначе при остановки клетки, единственный ip адрес сервера будет удален автоматически и сервер станет недоступен.
Например, чтобы запустить конфигуратор для клетки jail1, выполните:
% cbsd jconfig jname=jail1
Монтирование файловых систем в jailКаждый jail может иметь свой fstab файл, в котором перечисляются файловые системы, монтирующиеся в jail при запуске клетки. Системные записи (ими управляет cbsd и править этот файл ненадо) располагаются в файле $workdir/jails-fstab/fstab.name и совпадает по синтаксису с форматом системного файла /etc/fstab с тем исключением, что в качестве точки монтирования указывается путь относительно корня JAIL, а не мастер системы.
Для пользовательских записей, вы можете использовать файл в том же каталоге с расширением .local. Например, если вы хотите сделать между клетками jail1 и jail2 один общий каталог (через nullfs), который физически расположен в мастер ноде (например /usr/home/sharefs), в файлах $workdir/jails-fstab/fstab.jail1.local и $workdir/jails-fstab/fstab.jail2.local должна присутствовать строчка:
/usr/home/sharefs /usr/home/sharefs nullfs rw 0 0
если вы хотите смонтировать в каталог /tmp клетки jail1 tmpfs (те, фактически в /usr/jails/jails/jail1/tmp), то запись в $workdir/jails-fstab/fstab.jail1.local должна выглядить так:
tmpfs /tmp tmpfs rw 0 0
Если вы хотите смонтировать в jail2 каталог из jail1, путь к jail1 должен указывать на каталог содержащий данные jail1 (а их точки монтирования ${workdir}/jails/jail1). Например запись в $workdir/jails-fstab/fstab.jail2.local:
/usr/jails/jails-data/jail1-data/usr/local/www /usr/local/www nullfs ro 0 0
Сделает каталог /usr/local/www между jail1 и jail2 общим, но в jail2 он будет в режиме read-only
Презентация ZFS файловых систем в jail
Если вы хотите привязать отдельные ZFS файловые системы в jail ( тоесть, хотите иметь возможности внутри jail выполнить zfs mount ), список ZFS необходимо перечислить в $workdir/jails-fstab/fstab.$jname.local файле, указав в поле FStype ключевое слово zfs.
Например, если вы хотите презентовать файловую систему ZFS: zroot/jail1_webfs для клетки jail1, запись в $workdir/jails-fstab/fstab.jail1.local должна выглядеть так:
zroot/jail1_webfs /usr/home/web zfs rw 0 0
Примечание: точка монтирования (/usr/home/web в данном примере) роли не играет Примечание2: клетка должна иметь параметр allow_zfs установленным в 1, что можно сделать через cbsd jconfig jname=$jname Фактически, это заставляет cbsd выполнить команды:
% zfs set jailed=on $FS
% zfs jail $jname $FS
при старте клетки, и
% zfs set jailed=off $FS
% zfs unjail $jname $FS
при ее остановке.
Изменение параметров через jset
Другая возможность изменить определенные параметры клетки - воспользоваться командой cbsd jset Полный список возможных аргументов можно получить через --help:
% cbsd jget --help
Например, поменять ip адрес для клетки jail1:
% cbsd jset jname=jail1 ip4_addr="10.0.0.20/24,192.168.0.20/24"
cbsd jconfig jname=jail2

cbsd jset

|