Ulimit для пользовательской звездочки внутри контейнера LXD

0

У меня есть голый металлический сервер Ubuntu 16.04 с контейнером Centos 6 LXD, внутри которого я хочу установить FreePBX / asterisk, который я собираю из исходного кода.

Процесс сборки и установки шел очень хорошо, пока не установился сам графический интерфейс FreePBX. Для этого требуется запустить звездочку (которая сама прекрасно скомпилирована) с помощью скрипта FreePBX ./start_asterisk start. Это выдает следующую ошибку -

/ usr / sbin / safe_asterisk: строка 96: ulimit: открыть файлы: невозможно изменить ограничение: операция не разрешена

Строка 96 пытается изменить ограничение количества открытых файлов на 1048576 «ulimit -n 1048576», но операция явно не разрешена.

Я искал в интернете руководства, чтобы попытаться вручную изменить ulimit для звездочки пользователя, и они либо оказываются безрезультатными, либо выдают то же самое сообщение «операция не разрешена».

Поэтому я подумал, может ли кто-нибудь указать мне правильное направление. Возможно, это связано со звездочкой в ​​контейнере?

Большое спасибо заранее.

Гэри Иредейл
источник
Вы учитывали asteriskидентификатор пользователя на хосте, когда вручную меняли его ulimit?
Джонатан Y.

Ответы:

0
  • Для изменения ограничений внутри контейнера у контейнера должна быть sys_resourceпривилегия.

эта возможность отбрасывается в любой файл, /usr/share/lxc/config/*включенный в основной configфайл контейнера .

  • Если вы добавите ulimitкоманду в initскрипт, который запускает контейнер, вам не нужно изменять привилегии, так как он унаследует ограничение от initскрипта.

  • В lxc 2.1будет поддержка установления ограничений в файле конфигурации с помощью lxc.prlimit.[limit name]- см RESOURCE ПРЕДЕЛЫ

Стюарт Кардалл
источник