Тюрьмы в свободных BSD
От: cppguard  
Дата: 20.09.24 03:56
Оценка:
Настроил TrueNAS, погрузился в нюансы контейнеризации во FreeBSD. И вдруг стало интересно — а кто вообще этим пользуется, и кому интересно над этим работать? Про Docker, например, кричат из каждого утюга, на этот проект, как говорил Линус, смотрят сотни глаз, и всё равно нельзя назвать докер супер-стабильным. А тут вдруг существует параллельный проект, про который я не слышал от слова совсем. Про Open/Free BSD я слышал ещё давно и даже где-то читал, что для сервера эти проекты, вроде как, постабильнее будут, но то было лет 15 назад, с тех пор линукс шагнул далеко вперёд. Существование и развитие таких проектов кажется необъяснимым на фоне новостей, что xz настолько некому разрабатывать, что там всё поросло паутиной и бэкдорами, а FreeType пилит какой-то отчаявшийся одиночка, которому никто не платит.
Re: Тюрьмы в свободных BSD
От: vsb Казахстан  
Дата: 20.09.24 04:31
Оценка: 2 (2) +3
Здравствуйте, cppguard, Вы писали:

C>Настроил TrueNAS, погрузился в нюансы контейнеризации во FreeBSD. И вдруг стало интересно — а кто вообще этим пользуется, и кому интересно над этим работать? Про Docker, например, кричат из каждого утюга, на этот проект, как говорил Линус, смотрят сотни глаз, и всё равно нельзя назвать докер супер-стабильным.


Докер это просто обёртка вокруг namespaces в ядре линукса. Он стабилен настолько, насколько стабильно ядро. Думаю, оно вполне стабильно.

C>А тут вдруг существует параллельный проект, про который я не слышал от слова совсем.


Ну ты не слышал, кто-то слышал. Я, например, слышал. По сути это просто развитие концепции chroot, которой уже сто лет в обед. С докером сравнивать неправильно, это скорей что-то вроде lxc.

C>Про Open/Free BSD я слышал ещё давно и даже где-то читал, что для сервера эти проекты, вроде как, постабильнее будут, но то было лет 15 назад, с тех пор линукс шагнул далеко вперёд.


Непонятно, что именно ты вкладываешь в понятие стабильности. Работать — работают (если железо поддериваемое). Код обновляется. Я OpenBSD на своём хобби-сервере периодически запускаю, хорошая система. С линуксом сравнивать смысла не вижу, это как сравнивать Nokia и Android. Если тебе достаточно звонить и SMS получать — нормально. Так и тут.

C>Существование и развитие таких проектов кажется необъяснимым на фоне новостей, что xz настолько некому разрабатывать, что там всё поросло паутиной и бэкдорами, а FreeType пилит какой-то отчаявшийся одиночка, которому никто не платит.


Проект проекту рознь. Про социальные аспекты организации Open Source проектов я говорить не готов, но очевидно, что у кого-то получается создать community, в котором достаточно заинтересованных членов, у кого-то получается какое-то финансирование наладить, а у кого-то всё на энтузиазме одного человека держится. Как именно это получается — не знаю. Но в OpenBSD к примеру контрибутят достаточно много людей, хотя главный там всё равно есть и что будет без него — не знаю.

Я ещё так напишу. IT очень сильно выросло. И ряд технологий вроде того же докера очень сильно хайпуют. И мне кажется этот хайп как бы затмевает немного технические основы. Докер можно написать в несколько десятков строк на баше. Не прям весь со всеми флагами, конечно, но просто запустить контейнер из образа. В нём нет ничего сакрального или очень объёмного. Вот разрекламировать его так, чтобы все его использовали — это да, это надо уметь, но это уже не про IT, а про маркетинг.

Из интересного по тему — есть такая то ли компания, то ли стартап — 0xide. Они продают серверные шкафы со своим софтом, что-то вроде замены облака. Продают за деньги порядка миллиона долларов. Честно говоря не знаю какой у них рынок и объёмы, но статьи их интересно читать. Я так понял — они используют Illumos и в нём bhyve вместо Linux и KVM для виртуализации. Illumos это тоже такой UNIX сделанный на основе OpenSolaris, который в свою очередь был сделан компанией Sun на основе той самой BSD. Тоже вот не совсем привычное решение у ребят с деньгами. Не линукс. Хотя, конечно, в виртуалках будет крутиться линукс.

В общем IT оно большое за прошедшие десятки лет получилось и альтернатив в нём очень много. И далеко не всегда то, что супер-популярно, является априори лучшим.
Отредактировано 20.09.2024 4:43 vsb . Предыдущая версия . Еще …
Отредактировано 20.09.2024 4:42 vsb . Предыдущая версия .
Отредактировано 20.09.2024 4:39 vsb . Предыдущая версия .
Отредактировано 20.09.2024 4:36 vsb . Предыдущая версия .
Отредактировано 20.09.2024 4:35 vsb . Предыдущая версия .
Отредактировано 20.09.2024 4:35 vsb . Предыдущая версия .
Re: Тюрьмы в свободных BSD
От: m2user  
Дата: 20.09.24 14:19
Оценка: 3 (2) +1
Во-первых Docker это не то же самое, что контейнерная виртуализация в Linux и наоборот.
В первом комментарии уже отметили, что контейнерная виртуализация это прежде всего механихмы namespaces и cgroups в Linux kernel.
Их используют различные приложения, и Docker далеко не первое и не единственное.

Я например использую Linux контейнеры (LXC) где-то с 2010 года, но с Докером пока дела не имел.
LXC — это более простой инструмент с меньшим числом зависимостей, тогда как Докер это несколько более навороченная штука изначально ориентированная на stateless контейнеры и application изоляцию (одно приложение/сервис).
Кроме того Докер появился заметно позже (2013 вроде бы).

По-скольку контейнерная виртуализация привязана к фичам ядра, то просто так в другие ОС она не переносится, даже *nix, не говоря уже о MS Windows.

По поводу параллельных проектов нужно понимать, что Freebsd Jails это начало 2000-х, тогда как поддержка namespaces в Linux kernel появлялась поэтапно с 2002, поддержка cgroups — c 2008 года, тогда же вышел LXC.

Для сравнения: в MS Windows нативные контейнеры (а не стороннее решение) — появились только в Windows Server 2016.

По-поводу того, кто пилит: в легковесной контейнерной виртуализации, работающей без hardware virtualization всегда были заинтересованы хостинги (web/vps/vds) и поставщики решений для них.
В частности, насколько мне известно, VPS на базе FreeBSD/jails предоставлял firstvds.ru.
Но это не точно, возможно там было какое-то свое решение поверх FreeBSD.
  Нашел такую инфу в сети по firstvds:
https://lists.freebsd.org/pipermail/freebsd-questions/2014-January.txt

They mention FirstVDS.ru, but that website is in Russian. The same
Russian company has also English-language website, you can choose
server in USA (NAC MMU datacenter near NYC) or Russia.
I use their cheapest VPS option (now $4.95/month) since 2008.
It's a jail under FreeBSD with limited resources
(RAM 64M, swap 128M, disk 5 GB, traffic 100 GB/month, one IPv4 IP-address).
Kernel RAM and preinstalled packages aren't counted in these limits.
If you use this link for ordering then both you and me get a discount:
http://joinvps.com/?from=33485
In my VPS (jail) I installed (from ports) `mathopd` web-server and Exim
instead of default Apache and sendmail. My Exim config including
all the spam-filtering: https://github.com/Exim/exim/wiki/LenasConfig


Что касается Linux namespaces/cgroups, то там много контрибутили разработчики OpenVZ, IBM, RedHat, Google.
Cм. https://news.ycombinator.com/item?id=25008941

Говоря о контейнерной виртуализации не лишним будет вспомнить также про Solaris Zones. В общем почти все производители ОС рано или поздно её выкатывали.

Предыдущий комментатор очень к месту упомянул bhyve — инструмент полной виртуализации в *BSD, аналог kvm в Linux kernel.
Бизнес склонен спонсировать такую разработку, т.к. BSD лицензия им гораздо лучше подходит чем GPL.
Re: Тюрьмы в свободных BSD
От: Pzz Россия https://github.com/alexpevzner
Дата: 20.09.24 16:55
Оценка:
Здравствуйте, cppguard, Вы писали:

C>Настроил TrueNAS, погрузился в нюансы контейнеризации во FreeBSD. И вдруг стало интересно — а кто вообще этим пользуется, и кому интересно над этим работать? Про Docker, например, кричат из каждого утюга, на этот проект, как говорил Линус, смотрят сотни глаз, и всё равно нельзя назвать докер супер-стабильным. А тут вдруг существует параллельный проект, про который я не слышал от слова совсем. Про Open/Free BSD я слышал ещё давно и даже где-то читал, что для сервера эти проекты, вроде как, постабильнее будут, но то было лет 15 назад, с тех пор линукс шагнул далеко вперёд. Существование и развитие таких проектов кажется необъяснимым на фоне новостей, что xz настолько некому разрабатывать, что там всё поросло паутиной и бэкдорами, а FreeType пилит какой-то отчаявшийся одиночка, которому никто не платит.


Docker — это оболочка к таким механизмам линуксового ядра, как namespaces и cgroups. Ну и плюс к тому, докер заведует всеми этими docker images, позволяя их создавать, распространять и т.п., но это уже файловый уровень, а не ядерно-контейнерный.

FreeBSD-ный Jail можно сравнивать с namespaces + cgroups, а не с докером. Какие там в BSD существуют к этому механизму оболочки, я понятия не имею.

У линукса значительно более вылизанный сетевой стек, чем в BSD. Это не всегда было так, но но в какой именно момент времени линух ощутимо вышел вперед, я так уж навскидку не скажу.
Re[2]: Тюрьмы в свободных BSD
От: Pzz Россия https://github.com/alexpevzner
Дата: 20.09.24 17:02
Оценка:
Здравствуйте, vsb, Вы писали:

vsb>Докер это просто обёртка вокруг namespaces в ядре линукса. Он стабилен настолько, насколько стабильно ядро. Думаю, оно вполне стабильно.


В докере есть всякие разные дополнительные удобства, и их там много.

Например, два докера, запущенные на одной машине, могут найти друг друга с помощью встроенного виртуального DNS-сервера,

Все эти удобства активно разрабатываются, и наверное, не всегда стабильны.

vsb>Illumos это тоже такой UNIX сделанный на основе OpenSolaris, который в свою очередь был сделан компанией Sun на основе той самой BSD. Тоже вот не совсем привычное решение у ребят с деньгами. Не линукс. Хотя, конечно, в виртуалках будет крутиться линукс.


Эээ. Бебебе. SunOS был сделан на основе BSD, но вот Солярис — это настоящая SysV R4. Вероятно, последняя уцелевшая. Т.е., корнями он восходит к тому самому AT&T UNIX, который Ричи и Томпсон написали, чтобы заныкать себе бесхозную PDP-ку и играть на ней в Startrack. В отличии от всех прочих UNIX-like.
Re[2]: Тюрьмы в свободных BSD
От: vsb Казахстан  
Дата: 21.09.24 03:35
Оценка: 1 (1)
Здравствуйте, m2user, Вы писали:

M>По-скольку контейнерная виртуализация привязана к фичам ядра, то просто так в другие ОС она не переносится, даже *nix, не говоря уже о MS Windows.


На самом деле Docker для Windows есть, не тот, что с виртуалкой линуксовой внутри, а с полноценными виндовыми контейнерами, в которых можно запускать виндовый софт. Ну это так, для полноты информации.
Re[3]: Тюрьмы в свободных BSD
От: amironov79  
Дата: 21.09.24 04:50
Оценка:
Здравствуйте, vsb, Вы писали:

M>>По-скольку контейнерная виртуализация привязана к фичам ядра, то просто так в другие ОС она не переносится, даже *nix, не говоря уже о MS Windows.


vsb>На самом деле Docker для Windows есть, не тот, что с виртуалкой линуксовой внутри, а с полноценными виндовыми контейнерами, в которых можно запускать виндовый софт. Ну это так, для полноты информации.


Вроде только на серверных виндах полноценная поддержка, а на десктопных через виртуалку работает. И к софту будет куча требований, чтобы в контейнер его поместить.
Re[4]: Тюрьмы в свободных BSD
От: vsb Казахстан  
Дата: 21.09.24 07:24
Оценка:
Здравствуйте, amironov79, Вы писали:

A>Вроде только на серверных виндах полноценная поддержка, а на десктопных через виртуалку работает.


Нужна редакция Professional или Enterprise. Professional вполне доступна любому.

A>И к софту будет куча требований, чтобы в контейнер его поместить.


Как и в линуксе, очевидно.
Отредактировано 21.09.2024 7:25 vsb . Предыдущая версия . Еще …
Отредактировано 21.09.2024 7:25 vsb . Предыдущая версия .
Re[5]: Тюрьмы в свободных BSD
От: m2user  
Дата: 21.09.24 07:53
Оценка:
vsb>Как и в линуксе, очевидно.

да нет там вроде никаких особо требований.
Устройства из /dev/ пробросить, если софт их использует, да capabilities подкрутить.

Ну были ещё старые bug`и типа nfsd из разных контейнеров конфликтовали.
Но это было в конкретном дистрибутиве тривиальная проблема прибития демона по имени, а не по pid.
С udev были какие-то небольшие проблемы.

Насколько я помню у меня в контейнере только xen-tools не завёлся, но не то чтобы я сильно старался.
Re[2]: Тюрьмы в свободных BSD
От: Sinclair Россия https://github.com/evilguest/
Дата: 21.09.24 16:43
Оценка: 2 (1) +1
Здравствуйте, vsb, Вы писали:

vsb>Я ещё так напишу. IT очень сильно выросло. И ряд технологий вроде того же докера очень сильно хайпуют. И мне кажется этот хайп как бы затмевает немного технические основы. Докер можно написать в несколько десятков строк на баше. Не прям весь со всеми флагами, конечно, но просто запустить контейнер из образа. В нём нет ничего сакрального или очень объёмного. Вот разрекламировать его так, чтобы все его использовали — это да, это надо уметь, но это уже не про IT, а про маркетинг.

В целом да, про маркетинг. Только не в том негативном смысле, который в это слово обычно вкладывают технари — "искусство впарить фигню путём оборачивания в красивость". А тот, который настоящий — про понимание потребностей целевой аудитории.
К моменту выхода докера решений по контейнерной виртуализации было как блох на собаке.
Его отличие от конкурентов (или там запуске контейнера скриптом на баше) — в инфраструктуре и стандарте. Пока все задроты фокусировались на технических деталях запуска контейнеров, докер ответил на неинтересный задротам вопрос "а где я возьму образ контейнера?". Заодно предоставив в обоснование своего варианта ответа целую философию.
До докера стандартным ответом на вопрос "нафига вам контейнеры" было "нууу... эта... мы хотим виртуальные машины, но дешевле, чем настоящие виртуальные машины". Что, в свою очередь, было логичным продолжением ответа "мы хотим приватные сервера, но дешевле, чем настоящие приватные сервера" на вопрос "нафига вам виртуальные машины".
А образы, что VMок, что VPSок, считались побочным продуктом и отходами жизнедеятельности. Вроде "если вы хотите упростить тестирование софта, то сделайте снапшот виртуалки после начальной настройки, но перед началом тестирования".
И тут приходит такой докер и говорит: "не, вы не будете самостоятельно напиливать себе образ контейнера с нуля. Вы возьмёте из публичного репозитория готовый образ, настроенный вендором или другим контрибутором, и сразу поедете". И делается это не для того, чтобы поднять очередной "сервер на похапэ с почтой и мускулом", а "чтобы не пердолиться с зависимостями, когда вебстор требует одну версию питона, а диаграмминг статистики — другую".
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[2]: Тюрьмы в свободных BSD
От: opfor  
Дата: 21.09.24 16:55
Оценка:
Здравствуйте, vsb, Вы писали:

vsb>В общем IT оно большое за прошедшие десятки лет получилось и альтернатив в нём очень много. И далеко не всегда то, что супер-популярно, является априори лучшим.



а можно для чайника, зачем это все нужно?

Чтобы стороннее ПО не натворило бед в системе и не покоцало чужие файлы?
Чтобы работало в ОС без установки, и не создавало кучу файлов в разных директориях, и так же легко удалялось?
Чтобы ПО тащило вместе с собой все зависимости нужных ему версий?

Кто этим пользуется обычно?

Это и есть основные юзкейсы всех этих джейлов, докеров и неймспейсов?

Помнится я когда-то ставил ОС в виртуалку, когда надо было потенциально опасное ПО запустить или протестить на другой версии ОС или просто чистой инсталляции (как было бы у рандомного пользователя), где может не оказаться нужных зависимостей. Но как я понимаю, докеры решают совсем другую задачу.
Re[3]: Тюрьмы в свободных BSD
От: vsb Казахстан  
Дата: 21.09.24 17:21
Оценка: 1 (1)
Здравствуйте, opfor, Вы писали:

O>а можно для чайника, зачем это все нужно?


O>Чтобы стороннее ПО не натворило бед в системе и не покоцало чужие файлы?

O>Чтобы работало в ОС без установки, и не создавало кучу файлов в разных директориях, и так же легко удалялось?
O>Чтобы ПО тащило вместе с собой все зависимости нужных ему версий?

Да, всё это, примерно. Ну ещё можно безопаность добавить, в контейнерах она, конечно, несколько условная, но всё же лучше, чем ничего. Если злоумышленник взломал ПО в контейнере, то выбраться из контейнера это отдельная задача.

O>Кто этим пользуется обычно?


Тут, наверное, сложно сказать, каждый в своём пузыре живёт. Я вообще не представляю сейчас жизнь без докера и пользуюсь ими для всего. Так что для меня этот вопрос не имеет смысла. Прошивку для микроконтролера собираю в докере, например. Торрент-качалку запускаю в докере. ВПН сервер запускаю в докере. Всё запускаю в докере. Вот вскод пока не запускаю в докере, но изучаю этот вопрос, скорей всего и его запущу. Все проекты в моей компании билдятся в образы и запускаются или в докере, или в кубере, по-другому просто не делается.

O>Помнится я когда-то ставил ОС в виртуалку, когда надо было потенциально опасное ПО запустить или протестить на другой версии ОС или просто чистой инсталляции (как было бы у рандомного пользователя), где может не оказаться нужных зависимостей. Но как я понимаю, докеры решают совсем другую задачу.


В целом похожую. Но только "виртуалка" более легковесная (запускается за долю секунды) и для неё создано много всего удобного.
Отредактировано 21.09.2024 17:23 vsb . Предыдущая версия . Еще …
Отредактировано 21.09.2024 17:22 vsb . Предыдущая версия .
Re[5]: Тюрьмы в свободных BSD
От: amironov79  
Дата: 27.09.24 07:56
Оценка:
Здравствуйте, vsb, Вы писали:

A>>Вроде только на серверных виндах полноценная поддержка, а на десктопных через виртуалку работает.


vsb>Нужна редакция Professional или Enterprise. Professional вполне доступна любому.


Это понятно, но работать на десктопе контейнеры будут через hyper-v.

A>>И к софту будет куча требований, чтобы в контейнер его поместить.


vsb>Как и в линуксе, очевидно.


Совсем не очевидно. В линуксе с этим проще.
Re[3]: Тюрьмы в свободных BSD
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 09.10.24 10:33
Оценка: +1
Здравствуйте, opfor, Вы писали:

O>а можно для чайника, зачем это все нужно?

O>Чтобы стороннее ПО не натворило бед в системе и не покоцало чужие файлы?
O>Чтобы работало в ОС без установки, и не создавало кучу файлов в разных директориях, и так же легко удалялось?
O>Чтобы ПО тащило вместе с собой все зависимости нужных ему версий?

Да, всё перечисленное, как минимум.

O>Кто этим пользуется обычно?

O>Это и есть основные юзкейсы всех этих джейлов, докеров и неймспейсов?

В первую очередь, да, это. Но тут есть принципиальная разница между просто контейнеризацией и тем, что делает докер (и аналоги, коих уже много, с ходу помнится podman).

Docker, podman и пр. — обеспечивают не только запуск контейнера, собранного кем-то снаружи, но и его сборку — в первую очередь. Взял базу (которую можно минимизировать), добавил нужные зависимости, сверху плюхнул целевое приложение — и работаешь с ним. И ещё и экономия на повторах процедуры за счёт знания содержимого слоёв и если одна и та же база используется во многих контейнерах.

А над этим сверху ещё и экосистема таких заранее подготовленных кем-то контейнеров и целых "стручков" ("pod" в Kubernetes), которые можно брать готовыми, и дошлифовывать под свои нужды.

O>Помнится я когда-то ставил ОС в виртуалку, когда надо было потенциально опасное ПО запустить или протестить на другой версии ОС или просто чистой инсталляции (как было бы у рандомного пользователя), где может не оказаться нужных зависимостей. Но как я понимаю, докеры решают совсем другую задачу.


В простейшем случае — ты просто поставил контейнер, вошёл в него, добавил нужное и запустил — эту.
Чуть доработал, добавив установку в сборочный скрипт — и уже не нужно руками повторять операцию установки, каждый раз заново напустил и полетело.
Добавил монтирование каталога снаружи внутрь — и вот тебе персистентные данные, если надо (а если не надо, засинкал с оригинала между запусками).
Настроил какие сервисы слушают внутри и как к ним прийти снаружи — получил сервер в изоляции. Несколько таких серверов — можно вязать друг с другом.
И так далее. Я ещё только самый минимум описал.
The God is real, unless declared integer.
Re[4]: Тюрьмы в свободных BSD
От: Skorodum Россия  
Дата: 09.10.24 10:50
Оценка:
Здравствуйте, vsb, Вы писали:

vsb>Тут, наверное, сложно сказать, каждый в своём пузыре живёт. Я вообще не представляю сейчас жизнь без докера и пользуюсь ими для всего. Так что для меня этот вопрос не имеет смысла. Прошивку для микроконтролера собираю в докере, например. Торрент-качалку запускаю в докере. ВПН сервер запускаю в докере. Всё запускаю в докере. Вот вскод пока не запускаю в докере, но изучаю этот вопрос, скорей всего и его запущу. Все проекты в моей компании билдятся в образы и запускаются или в докере, или в кубере, по-другому просто не делается.

Вопрос без подвоха: зачем торрент-качалку и т.п. запускать в докере?
Re[5]: Тюрьмы в свободных BSD
От: vsb Казахстан  
Дата: 09.10.24 14:05
Оценка: 1 (1)
Здравствуйте, Skorodum, Вы писали:

vsb>>Тут, наверное, сложно сказать, каждый в своём пузыре живёт. Я вообще не представляю сейчас жизнь без докера и пользуюсь ими для всего. Так что для меня этот вопрос не имеет смысла. Прошивку для микроконтролера собираю в докере, например. Торрент-качалку запускаю в докере. ВПН сервер запускаю в докере. Всё запускаю в докере. Вот вскод пока не запускаю в докере, но изучаю этот вопрос, скорей всего и его запущу. Все проекты в моей компании билдятся в образы и запускаются или в докере, или в кубере, по-другому просто не делается.

S>Вопрос без подвоха: зачем торрент-качалку и т.п. запускать в докере?

В основном ради изоляции. Современные ОС особо не развивались за последние 30 лет и там по прежнему любая программа может делать что угодно. Невозможно удалить никакую программу надёжно. Невозможно обновить никакую программу надёжно. Контейнеры решают эту проблему на 100%, поэтому всегда, когда что-то можно сделать с контейнерами, это будет лучше.
Re[5]: Тюрьмы в свободных BSD
От: GarryIV  
Дата: 09.10.24 14:18
Оценка: 1 (1)
Здравствуйте, Skorodum, Вы писали:

S>Вопрос без подвоха: зачем торрент-качалку и т.п. запускать в докере?

Еще удобно что все что надо для "торрент качалки" описано в 1 месте, все переменные, директории, конфиги и тд.
WBR, Igor Evgrafov
Re[6]: Тюрьмы в свободных BSD
От: Skorodum Россия  
Дата: 09.10.24 14:45
Оценка:
Здравствуйте, vsb, Вы писали:

vsb>В основном ради изоляции. Современные ОС особо не развивались за последние 30 лет и там по прежнему любая программа может делать что угодно. Невозможно удалить никакую программу надёжно. Невозможно обновить никакую программу надёжно. Контейнеры решают эту проблему на 100%, поэтому всегда, когда что-то можно сделать с контейнерами, это будет лучше.

Интересно, спасибо.
В линухе у меня таких проблем нет (или последствия за время жизни ОС/ноутбука никак не ощущаются). Винда обычно виртуальная, но там всего пара состояний.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.