Как стать автором
Обновить

Комментарии 19

Очень редкий материал. Спасибо!
Неплохо было бы в самом начале статьи расписать что это такое и зачем вообще нужно, какие-то типовые случаи использования и т.п.
А чего их описывать? Контейнеры они и есть контейнеры.
Как раз тут было бы интересно сравнить с существующими (докер), в чем преймущества?
Сравнивать надо не с докером, который больше инфраструктура, чем собственно контейнеры, а с lxc или openvz

А чем обусловлена именно такая конструкция? Почему не проксмокс какой-нибудь?

Я предположу скромно, пока автор не ответил, это может быть потому, что FreeBSD jails значительно удобнее
Очень мало overhead при использовании jail видимо
При чем тут проксмокс вообще? При чем тут докер? Если и сравнивать то в разрезе Jail vs LXC
ЕМНИП с версии 10.1 во FreeBSD уже есть «родной» iSCSI-target (CTL — CAM Target Layer), поэтому использование istgt от уважаемого Д.Аоямы совсем не очевидно и, паче чаяния, не обязательно.
Хотелось бы узнать почему выбор пал на iscsi. А так, большое спасибо
а я обычно создаю базовый snapshot
zfs snapshot ZFS/jails/.base11x64@template

и клонирую его под нужные проекты :)
zfs clone ZFS/jails/.base11x64@template ZFS/jails/project1
Начиная с версии FreeBSD 9 настройка Jail вынесена в отдельный файл — /etc/jail.conf.

Имея сервер на 9 и на 10 могу сказать, что в 9 версии jail настраивается в rc.conf, а вот в 10 я сразу и не понял от чего не стартанули клетки, полез читать маны оказалось вся настройка клеток вынесена в отдельный файл.
А почему не использовать ezjail? С ним намного проще и удобнее, там и общий базовый образ из коробки который обновляется одной командой.
ezjail не понимает новые форматы описания клеток. но судя по всему это проблема и qjail-а тоже (за cbsd не скажу). есть баг с бинарным обновлением базовой клетки.

можете не соглашаться.
но.


  1. режут глаз грамматические ошибки: "(как в моём случаи)", "Добавит в rc.conf автозапуск:", etc.
  2. вместо dd if=/dev/zero of=disk bs=1k count=10m
    быстрее будет dd if=/dev/zero of=disk bs=1m count=10k
    • блок 1024 мелковат для современных устройств.
  3. ee /etc/rc.d/iscsi.sc — не надо "гадить" в системную директорию.
    используйте /usr/local/etc/rc.d или сделайте для своих скриптов, скажем, [/usr/local]/etc/rc.d.local (+ не забыть добавить оную директорию в переменную local_startup в /etc/rc.conf[.local]. в скобках [] — по собственному предпочтению).
  4. если в jail'е крутится та же ОС, что и на хосте, не надо компайлить и тарить — откройте для себя nullfs. +обновления ОС, устанавливаемые на хост, будут автоматически распространены на гостевые окружения.
    /etc/defaults /etc/mtree /etc/periodic /etc/rc.d /bin /lib /libexec /sbin /usr/bin /usr/include /usr/lib /usr/libexec /usr/sbin /usr/share /usr/ports/distfiles можно монтировать в гостей в режиме ro.
    /usr/ports /usr/ports/packages — зависит от ситуации.

в остальном — нормуль, так держать! ;)

man ctld — штатный таргет без извратов с портами и пакетами уже в системе.

Если на таргете zfs, то md не нужен. ctld умеет делать LUN прямо из zvol.
Ребутать сервер через шаг несерьезно. kldload -v iscsi_initiator.ko в стандартном ядре уже есть.

Пересобирать jail наверное можно, если есть специальные требования, но намного удобнее использовать готовые бинарники от дистрибутива, с которыми еще и freebsd-update будет работать.

С jail.conf удобно работать через инклуды для конкретных jail или сразу на директорию, в которых лежат файлы с конфигами тюрем.

Алиас, если в той же сети, что и физ интерфейс нужно добавлять с /32

em0 не относиться к vmware это драйвера интеловской сетевой карты, которую vmware эмулирует
Спасибо за подсказку о ctld, подправил.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории