Ulimit para asterisco do usuário dentro de um contêiner LXD

0

Eu tenho um servidor bare metal 16.04 com um contêiner centos 6 LXD dentro do qual eu desejo instalar o FreePBX / asterisk que estou construindo a partir da fonte.

O processo de construção e instalação estava indo muito bem até que a própria GUI do FreePBX fosse instalada. Isto requer que o asterisco seja iniciado (o qual ele próprio compilou bem) com o script FreePBX ./start_asterisk start. Isso lança o seguinte erro -

/ usr / sbin / safe_asterisk: linha 96: ulimit: arquivos abertos: não é possível modificar o limite: Operação não permitida

A linha 96 está tentando alterar o limite de arquivos abertos para 1048576 "ulimit -n 1048576", mas claramente a operação não é permitida.

Eu pesquisei na Internet por guias para tentar alterar manualmente o ulimit do asterisco do usuário e eles parecem não ter efeito ou fornecer a mesma mensagem "operação não permitida".

Então eu me perguntei se alguém poderia me apontar na direção certa com isso. Isso está relacionado ao asterisco estar em um recipiente, talvez?

Muito obrigado antecipadamente.

    
por Gary Iredale 15.07.2016 / 14:19

1 resposta

0

  • Para alterar os limites dentro de um contêiner, o contêiner precisa ter sys_resource privilege.

esta capacidade está sendo descartada em qualquer arquivo em /usr/share/lxc/config/* incluído no arquivo config do contêiner principal.

  • Se você adicionar o comando ulimit a um script init que inicia o recipiente você não precisa alterar os privilégios, uma vez que irá herdar o limite do script init .

  • Em lxc 2.1 , haverá suporte para definir limites na configuração arquivo usando lxc.prlimit.[limit name] - consulte LIMITES DE RECURSO

por Stuart Cardall 10.07.2017 / 00:58