Pull to refresh

Comments 7

Внутри systemd-nspawn контейнера не получится запустить PostgreSQL или ClickHouse - они не будут там нормально работать. Поэтому systemd-nspawn - это очень ограниченный по своим возможностям инструмент, больше для тестирования чего-то, а не для production use.

А вот FidoIP под ним очень удобно пускать - не нужно в системе прописывать КОИ-8, и прочее легаси.

кликхаус не пробовал, но постгря отлично работала, никаких проблем не испытывал. а у вас что именно мешает постгре работать?

Внутри контейнера была система Rocky Linux 8.9 и postgresql16.x86_64 16.2-1PGDG.rhel8 из официального репозитория - команда "systemctl stop postgresql-16.service" надолго "зависала". Сейчас - обновил систему внутри контейнера до 8.10 и пакет до postgresql16.x86_64 16.11-1PGDG.rhel8, - долгого зависания уже нет, и команда "systemctl stop postgresql-16.service" выполняется быстро, но теперь в логах "postgresql-16.service: Killing process 384 (postgres) with signal SIGKILL".

systemd-nspawn запускает процессы контейнера под seccomp-фильтром: по умолчанию используется whitelist — есть список разрешённых системных вызовов, всё остальное считается запрещённым. ClickHouse нормально не работал на Rocky Linux 8 из-за этого, насколько помню.

P.S.

возможно мой первый комментарий был слишком категоричен.

а так - в целом, systemd-nspawn штука хорошая и удобная, я даже когда-то утилиту написал для управления systemd-nspawn контейнерами, чтобы удобнее было с ними работать и управлять ими - https://github.com/makhomed/ct - но потом со временем ушел на виртуальные машины, - они более надежные, хотя и используют больше ресурсов.

а чем вас полноценная виртуалка то не устраивает?

Sign up to leave a comment.

Articles