Suggestions pour que les paramètres sysfs persistent pendant les redémarrages

10

J'expérimente de grandes modifications des paramètres d'exécution du système Linux exposés via le système de fichiers virtuel sysfs.

Quelle est la façon la plus efficace de conserver ces paramètres afin qu'ils persistent lors des redémarrages sur un système de style RHEL / CentOS?

S'agit-il simplement d'un cas de dumping de commandes dans /etc/rc.local? Existe-t-il un script d'initialisation bien adapté à cela? Je pense également à la normalisation du point de vue de la gestion de la configuration. Y a-t-il un sysfs propre équivalent à sysctl?

ewwhite
la source

Réponses:

6

Si c'était moi, je créerais probablement un /etc/sysfs.confet un /etc/init.d/sysfsutilsscript d'init. Ensuite, je pouvais garder toutes mes configurations et options liées à sysfs distinctes de tout le reste. Avec un script d'initialisation, il pourrait être géré et géré à l'aide des idiomes standard pour gérer les services et les configurations via des scripts d'initialisation SysV (y compris service sysfsutils [start|stop|reload|restart|status]sur RHEL / CentOS (avec un peu de travail supplémentaire)).

Même si je ne m'embêtais pas avec le /etc/init.d/sysfsutilsscript, je mettrais toujours les options dans /etc/sysfs.conf, puis j'appellerais / traiterais le contenu de ce fichier à partir d'un script séparé ( /etc/rc.local, comme dernière option / paresseux).

Remarque: Debian et les distributions basées sur Debian (Ubuntu, etc.) le font déjà et expédient un /etc/sysfs.conffichier de configuration et un script d'initialisation avec leur paquet sysfsutils. Récupérer ces deux fichiers dans une boîte Debian / Ubuntu (ou le paquet source Debian pour sysfsutils) serait probablement un bon moyen de commencer pour le répliquer vous-même.

Christopher Cashell
la source
C'est une option, mais j'aurais peur des changements / mises à jour du système d'exploitation qui pourraient potentiellement interférer avec ces paramètres.
ewwhite
@ewwhite: Si vous voulez garantir qu'aucune mise à jour / modification du système d'exploitation fournie par le fournisseur ne va interférer avec cela, vous allez être limité à travailler sous /usr/localou /opt. Je serais probablement prêt à le tenter pour un petit nombre de machines (avec tous les bits importants sauvegardés). Pour un grand nombre de boîtes, je dupliquerais la configuration décrite ci-dessus, mais sous /usr/local, avec des liens symboliques de /etc/et /etc/init.d, respectivement. Et / ou je construirais probablement un RPM pour faire l'installation / la distribution du fichier.
Christopher Cashell
5

Vous pouvez également essayer les règles udev en fonction de ce que vous souhaitez définir. Par exemple, sur mon système, j'ai configuré mes SSD pour utiliser le deadlineplanificateur via /etc/udev/rules.d/60-ssd-scheduler.rulescontenant:

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

Vous devriez pouvoir faire correspondre tous les attributs sysfs via le mécanisme ATTR.

Raman
la source
Intéressant. Je n'ai jamais pensé à ça.
ewwhite
ces règles semblent bonnes, pourquoi les distributions ne sont-elles pas expédiées?
把 友情 留 在 无 盐
4

Essayez le sysfsutilspackage. En particulier, /etc/sysfs.confdevrait aider à cela.

johnshen64
la source
2
en fait, rc.local n'est pas une mauvaise méthode non plus à mon avis.
johnshen64
Notez que /etc/sysfsutils.confle script à appliquer ne fait pas partie du package en amont (comme expliqué dans la réponse de Christopher). Il n'est présent que dans certaines distributions, pas dans Arch Linux par exemple. J'ai configuré systemd pour rechercher unrc.local et l'ai utilisé sur mon bureau Arch.
Peter Cordes
3

Pour Fedora / RHEL / CentOS - la méthode par défaut pour configurer sysfs et le faire persister lors des redémarrages est d'utiliser tuned. tuned est une infrastructure générale de réglage du système. Pour les paramètres sysfs , créez une [sysfs]strophe dans votre fichier de configuration et fournissez une ligne par variable que vous souhaitez définir et conserver pendant les redémarrages.

Aussi, comme l'a souligné Lennart Poettering - systemd a une capacité native de fournir des paramètres sysfs via la suppression d'un extrait dans/etc/tmpfiles.d/

Subhendu Ghosh
la source
lien mort: fedorahosted est à la retraite maintenant . tunedest très difficile à google (perdu dans le bruit du mot anglais courant qui est également beaucoup utilisé pour parler des paramètres sysfs), mais une recherche rapide a trouvé cette page à ce sujet: docs.fedoraproject.org/en-US/Fedora / 20 / html /… .
Peter Cordes