有关使sysfs参数保持一致的建议


10

我正在尝试对通过sysfs虚拟文件系统公开的Linux系统运行时参数进行较大的更改

维护这些参数以使它们在RHEL / CentOS风格的系统上重新启动后仍然有效的最有效方法是什么?

这仅仅是将命令转储到/etc/rc.local中的一种情况吗?是否有一个适合此的初始化脚本?我还从配置管理的角度考虑标准化。是否有一个等效的干净sysfs sysctl

Answers:


6

如果是我,我可能会创建一个/etc/sysfs.conf和一个/etc/init.d/sysfsutils初始化脚本。然后,我可以将所有与sysfs相关的配置和选项与其他所有内容分开。使用初始化脚本,可以使用标准惯用语来管理和处理该脚本,以通过SysV初始化脚本(包括service sysfsutils [start|stop|reload|restart|status]RHEL / CentOS(需要一些额外的工作))来管理服务和配置。

即使我不担心/etc/init.d/sysfsutils脚本,我仍然会将选项放入其中/etc/sysfs.conf,然后从单独的脚本(/etc/rc.local作为最后/惰性选项)调用/处理该文件的内容。

注意:Debian和基于Debian的发行版(Ubuntu等)已经做到了这一点,并/etc/sysfs.conf随其sysfsutils软件包一起提供了一个配置文件和初始化脚本。从Debian / Ubuntu盒(或sysfsutils的Debian源码包)中获取这两个文件可能是开始自己复制它的好方法。


这是一个选项,但我担心操作系统的更改/更新可能会干扰这些设置。
ewwhite 2012年

@ewwhite:如果要保证没有任何供应商提供的操作系统更新/更改会干扰它,那么您将只能使用/usr/local或进行操作/opt。我可能会为少数机器(所有重要部分都已备份)碰碰机会。对于大量的盒,我重复上述的设置,但下/usr/local,与来自符号链接/etc//etc/init.d分别。和/或我可能会构建一个RPM来进行文件安装/分发。
Christopher Cashell 2012年

5

您还可以根据要设置的内容尝试udev规则。例如,在我的系统上,我将SSD设置为deadline通过/etc/udev/rules.d/60-ssd-scheduler.rules包含以下内容来使用调度程序:

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

您应该能够通过ATTR机制匹配任何sysfs属性


有趣。我从来没有考虑过。
ewwhite

这条规则看起来不错,发行版为什么不发货呢?
把友情留在无盐2015年

4

尝试sysfsutils包装。特别是/etc/sysfs.conf应该对此有所帮助。


2
我认为,实际上rc.local也不是一个坏方法。
johnshen64,2012年

请注意,/etc/sysfsutils.conf并且应用该脚本的脚本也不是上游软件包的一部分(如Christopher的回答所述)。它仅在某些发行版中存在,例如在Arch Linux中不存在。我将systemd配置为寻找,rc.local并在Arch桌面上使用了它。
彼得·科德斯

3

对于Fedora / RHEL / CentOS-配置sysfs并使其在重新启动后仍然存在的默认方法是使用tuned。调整的是一般的系统调整基础结构。对于sysfs参数,[sysfs]在配置文件中创建一个节,并为每个要设置的变量提供一行,并在重新引导后保持不变。

就像Lennart Poettering 指出的那样 -systemd具有本机功能,可以通过在其中删除一个代码段来提供sysfs设置/etc/tmpfiles.d/


无效链接:fedorahosted现在已退休tuned很难谷歌搜索(失去了常见的英语单词的噪音,在谈论sysfs设置时也经常使用),但是快速搜索确实找到了与此相关的页面: docs.fedoraproject.org/en-US/Fedora / 20 / html /…
彼得·科德斯
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.