Sugestões para tornar os parâmetros sysfs persistentes durante as reinicializações

10

Estou experimentando grandes alterações nos parâmetros de tempo de execução do sistema Linux expostos através do sistema de arquivos virtual sysfs.

Qual é a maneira mais eficiente de manter esses parâmetros para que eles persistam durante as reinicializações em um sistema no estilo RHEL / CentOS?

É simplesmente um caso de despejo de comandos no /etc/rc.local? Existe um script init adequado para isso? Também estou pensando em padronização do ponto de vista de gerenciamento de configuração. Existe um sysfs limpo equivalente a sysctl?

ewwhite
fonte

Respostas:

6

Se fosse eu, provavelmente criaria um /etc/sysfs.conf, e um /etc/init.d/sysfsutilsscript de inicialização. Então eu poderia manter todas as minhas configurações e opções relacionadas ao sysfs separadas de todo o resto. Com um script init, ele poderia ser gerenciado e manipulado usando os idiomas padrão para gerenciar serviços e configurações por meio de scripts init do SysV (inclusive service sysfsutils [start|stop|reload|restart|status]no RHEL / CentOS (com um pouco de trabalho extra)).

Mesmo se eu não me incomodasse com o /etc/init.d/sysfsutilsscript, ainda assim colocaria as opções /etc/sysfs.confe, em seguida, chamaria / processaria o conteúdo desse arquivo a partir de um script separado ( /etc/rc.localcomo uma última opção / lenta).

Nota: As distribuições Debian e baseadas em Debian (Ubuntu, etc.) já fazem isso e enviam um /etc/sysfs.confarquivo de configuração e um script init com seu pacote sysfsutils. Pegar esses dois arquivos de uma caixa Debian / Ubuntu (ou o pacote de fontes Debian para sysfsutils) provavelmente seria uma boa maneira de começar a replicá-lo.

Christopher Cashell
fonte
É uma opção, mas eu teria medo de alterações / atualizações do sistema operacional que possam interferir nessas configurações.
ewwhite
@whwhite: se você deseja garantir que nenhuma atualização / alteração do sistema operacional fornecida pelo fornecedor interfira com isso, você estará limitado a trabalhar com /usr/localou /opt. Eu provavelmente estaria disposto a arriscar em um pequeno número de máquinas (com todos os bits importantes armazenados em backup). Para um grande número de caixas, eu duplicaria a configuração descrita acima, mas abaixo /usr/local, com links simbólicos de /etc/e /etc/init.d, respectivamente. E / ou eu provavelmente criaria um RPM para fazer a instalação / distribuição do arquivo.
Christopher Cashell
5

Você também pode tentar as regras do udev, dependendo do que deseja definir. Por exemplo, no meu sistema, defino meus SSDs para usar o deadlineagendador via /etc/udev/rules.d/60-ssd-scheduler.rulescontendo:

# set deadline scheduler for non-rotating disks
ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="deadline"

Você deve conseguir corresponder quaisquer atributos sysfs por meio do mecanismo ATTR.

Raman
fonte
Interessante. Eu nunca considerei isso.
ewwhite
essas regras parecem boas, por que as distribuições não estão enviando isso?
把 友情 留 在 无
4

Experimente o sysfsutilspacote. Em particular, /etc/sysfs.confdeve ajudar com isso.

johnshen64
fonte
2
na verdade, o rc.local também não é um método ruim, na minha opinião.
johnshen64
Observe que /etc/sysfsutils.confo script a ser aplicado não faz parte do pacote upstream (como explicado na resposta de Christopher). Está presente apenas em algumas distros, não no Arch Linux, por exemplo. Eu configurei o systemd para procurarrc.local e o usei na minha área de trabalho do Arch.
Peter Cordes
3

Para o Fedora / RHEL / CentOS - o método padrão para configurar o sysfs e persistir durante as reinicializações é usar o tuned. tuned é uma infra-estrutura de ajuste geral do sistema. Para parâmetros sysfs , crie uma [sysfs]estrofe em seu arquivo de configuração e forneça uma linha por variável que você deseja configurar e que persista durante as reinicializações.

Também como Lennart Poettering apontou - o systemd possui um recurso nativo para fornecer configurações de sysfs ao largar um trecho no/etc/tmpfiles.d/

Subhendu Ghosh
fonte
link morto: o fedorahosted está aposentado agora . tunedé muito difícil para o google (perdido no barulho da palavra comum em inglês, que também é muito usada quando se fala em configurações do sysfs), mas uma pesquisa rápida encontrou esta página: docs.fedoraproject.org/pt-BR/Fedora / 20 / html /… .
Peter Cordes