Leave a comment

altmind January 13 2020, 15:28:01 UTC
>> Но он не работает в i686

кстати, rhel 8 больше не поддерживает 32битные архитектуры. ушла эпоха.

>> RH продвигает NIH-вариант докера под названием podman

podman рулит. никаких демонов и соответственно никаких IPC коллов и проблем с пермишнами на хосте. удобно заворачивать контейнеры в systemd сервисы https://gist.github.com/altmind/d65781269ba5d3c430a37fbbfe2cf503

Reply

nponeccop January 13 2020, 18:13:05 UTC
> ушла эпоха.

Их даже Арч не поддерживает. Ну это причуды золотого миллиарда. С моей т.з. эпоха уйдёт, когда в говноноуты начнут лепить 8гб, и минималка на хостингах вырастет в 8 раз с 512 мб до 4 гб.

> удобно заворачивать контейнеры в systemd сервисы

Ну я бы не сказал что "удобно", я насчитал 2.5 приседания:

- пидфайлы в 2019
- podman rm
- Type=simple он по дефолту

И если сравнивать с докером - то те же яйца, разве что, я надеюсь, более надёжно.

Reply

nealar January 13 2020, 23:04:34 UTC
А что щаз модно делать вместо пидфайлов?

Reply

nponeccop January 14 2020, 00:41:45 UTC
Нефоркающийся процесс с тредами внутри, и ему systemd делает waitpid.

А если этот пид для чего-то нужен - то его можно вытащить через systemd properties. Ну а если просто сигналы слать - опять же их можно через systemd слать. Мне например понадобилось метрики снимать системные по пиду, которых systemd не отдавал

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

Reply

nealar January 14 2020, 01:03:03 UTC
Да, основная мысль понятна: возню с пидами сконцентрировать внутри systemd, он должен всё это уметь, чтобы демонами рулить, так зачем остальным этот функционал повторять. А под капотом системд пусть хоть пидфайлы использует хоть бабочек, лишь бы работало. Всё это взлетает только при условии что системд достаточно надёжный, но, НЯП, на практике он даже несколько надёжней пидфайлов.

Reply

nponeccop January 14 2020, 01:23:47 UTC
Если имхо - то вся эта идея с пидфайлами это такой атавизм, что хуже только локфайлы.

Reply

nealar January 14 2020, 01:41:21 UTC
Ещё 10 лет назад механизм локов в *NIX был сломан напрочь. Не в курсе за современное состояние.

Reply

nponeccop January 14 2020, 03:32:18 UTC
Типа того.

Ну то есть у нас в Арче есть пекедж менеджер, создающий файл pacman.lock, чтобы обеспечивать себе single instance. Типа по запуску проверять есть ли файл, и если есть то отказываться работать, типа "у вас запущена параллельная сессия", а если нет - то создавать файл.

Ну а на самом деле если файл есть - то может и действительно есть параллельная сессия. А может сессии и нет, просто сессия умерла посредине, и файлик некому было удалить.

А если файла нет - то не надо сразу радоваться. Может сессия есть но у нас race condition так что надо дождаться успешного создания файлика.

Как-то так. В-общем говнокодеру не так просто разобраться, что надо всё в одну операцию открытия файла делать, а не в две, и правильные флаги для "создать, только если не существует" установить.

Ну то есть оно работает, но есть много тонкостей с которыми можно ошибиться. С пид-файлами тонкостей только больше

Reply

nealar January 14 2020, 10:04:20 UTC
Ну а на самом деле если файл есть - то может и действительно есть параллельная сессия. А может сессии и нет, просто сессия умерла посредине, и файлик некому было удалить.

А если файла нет - то не надо сразу радоваться. Может сессия есть но у нас race condition так что надо дождаться успешного создания файлика.

Если пользоваться штатными вызовами, которые лочут файлы, то всё ещё хуже, они глючат, причём в разных системах по-разному. В каких-то ситуациях захваченный лок не освобождался, в каких-то начинал ресурсы жрать, ну и так далее. Отсюда это троглодитство с файликами. Может быть, к 20 году уже починили, а в 14 было всё плохо.

Reply

nponeccop January 14 2020, 14:09:51 UTC
> Если пользоваться штатными вызовами, которые лочут файлы, то всё ещё хуже,

Ну я это понял, просто локи не имеют отношения к пидфайлам. А так ещё много стрёмных штук есть, навскидку:

- нерабочий kexec
- нерабочий ksplice
- нерабочий aio
- ipsec и secure boot вроде как уже окончательно починили
- scsi - там есть конкурентные scsi-стеки, и софтварная эмуляция scsi почти ничего не эмулирует
- opencl - как я понял, в центос 8 по-прежнему нет opencl for cpu, и вообще OpenCL много где поломан

Reply


Leave a comment

Up