lxc e sched_setscheduler

2

Estou tentando executar um aplicativo dentro de um contêiner do Centos e precisa ser executado em tempo real. Eu pesquisei e a sugestão era adicionar lxc.cap.keep = sys_nice.

Depois que eu fiz isso, lxc-start reclama que apenas lxc.cap.keep e lxc.keep.drop não são permitidos lado-a-lado. De fato, existem vários lxc.cap.drop dentro do arquivo de configuração global lxc.

Como eu trabalho com isso?

    
por msbic 02.08.2017 / 21:35

1 resposta

0

Você só precisa pensar em lxc.cap.keep e lxc.cap.drop como a lista de permissões e a lista negra. Se você não puder usar os dois, em vez de adicionar uma entrada à lista de desbloqueio, remova essa entrada da lista negra. De fato, se você não puder usar a lista branca, isso significa que a lista negra estava em uso. Se a capacidade foi removida, isso significa que estava na lista negra. Então você tem que redefinir lxc.cap.drop .

Todas essas configurações estão em /usr/share/lxc/config , mas podem variar um pouco dependendo da distribuição (host) ou da versão do pacote. Às vezes, arquivos de configuração incluem outros. Essas entradas são cumulativas, portanto, o arquivo deve ser editado diretamente (atualizações de cuidado ...) ou todas elas devem ser encontradas para substituí-las.

  • Mais fácil, para substituição global, o arquivo /usr/share/lxc/config/centos.common.conf contém uma linha semelhante a:

    lxc.cap.drop = sys_module sys_nice sys_pacct
    

    remova a entrada indesejada, portanto, neste exemplo, substitua por:

    lxc.cap.drop = sys_module sys_pacct
    
  • Para substituir a configuração apenas em um contêiner, encontre uma maneira de enumerar todos os recursos eliminados (alguns logs lxc verbose ou qualquer outro método) e como o manual diz, use uma entrada sem valor para cancelar a lista negra e" reconstrua ". Um exemplo se o host também fosse o CentOS seria, após ter removido sys_nice , para adicionar isso na configuração do contêiner, após qualquer inclusão :

    lxc.cap.drop = 
    lxc.cap.drop = mac_admin mac_override setfcap
    lxc.cap.drop = sys_module sys_pacct
    lxc.cap.drop = sys_rawio sys_time
    
por 17.05.2018 / 00:24