Почему перемонтирование / proc / sys не является глобальным или не сохраняется в сетевом пространстве имен внутри LXC

systemctl status сообщит «Загружен» для вашей службы, потому что в этот момент она действительно загружена в systemd. Не знаю, чего еще вы ожидали. Я попытался запустить вашу службу самостоятельно, и она сработала, как и ожидалось, перезапустив службу Nginx:

$ journalctl | tail -10
Apr 27 12:39:28 myhost.com systemd[1]: Started "Something".
Apr 27 12:39:28 myhost.com systemd[1]: Stopping A high performance web server and a reverse proxy server...
Apr 27 12:39:28 myhost.com systemd[1]: Stopped A high performance web server and a reverse proxy server.
Apr 27 12:39:28 myhost.com systemd[1]: Starting A high performance web server and a reverse proxy server...
Apr 27 12:39:28 myhost.com systemd[1]: Started A high performance web server and a reverse proxy server. 

Если ваш файл службы systemd не работает должным образом, пожалуйста, будьте более конкретны в своем вопросе.

1
28.07.2016, 10:01
1 ответ

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

Я нашел здесь: https://libvirt.org/drvlxc.html#fsmounts :

Следующие специальные средства монтирования устанавливаются libvirt

 / proc / sys хост "/ proc / sys "bind-mount-only read-only 
 

Я до сих пор не понимаю, почему внутри сетевого пространства имен по умолчанию внутри LXC я могу установить sysctl , но внутри других сетевых пространств имен я не могу.

Я добавил явное монтирование / proc / sys в XML конфигурации контейнера:

<devices>
...
  <filesystem type='mount' accessmode='passthrough'>
    <source dir='/proc/sys/'/>
    <target dir='/proc/sys/'/>
  </filesystem>

Это позволило мне установить sysctl как внутри контейнера LXC по умолчанию, так и в дополнительных пространствах имен. {{{ 1}} Я боялся, что настройки внутри LXC также повлияют на хост, но это не так. Теперь все сетевые пространства имен (хост, LXC по умолчанию, LXC custom) имеют независимую запись (от root) sysctl без необходимости перемонтировать каждый раз. Или, по крайней мере, то, что сообщает запрос sysctl .

0
28.01.2020, 01:13

Теги

Похожие вопросы