Назад | Перейти на главную страницу

Предложения по сохранению параметров sysfs после перезагрузки

Я экспериментирую с большими изменения в параметрах выполнения системы Linux предоставляется через виртуальную файловую систему sysfs.

Каков наиболее эффективный способ поддерживать эти параметры, чтобы они сохранялись при перезагрузках в системе в стиле RHEL / CentOS?

Это просто сброс команд в /etc/rc.local? Есть ли сценарий инициализации, который подходит для этого? Я также думаю о стандартизации с точки зрения управления конфигурацией. Есть ли чистый sysfs, эквивалентный sysctl?

Если бы это был я, я бы, наверное, создал /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 config и сценарий инициализации с их пакетом sysfsutils. Захват этих двух файлов из ящика Debian / Ubuntu (или исходного пакета Debian для sysfsutils), вероятно, будет хорошим способом начать репликацию самостоятельно.

Вы также можете попробовать правила udev в зависимости от того, что вы хотите установить. Например, в своей системе я настроил свои твердотельные накопители на использование 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"

Ты должен быть способен соответствовать любым атрибутам sysfs через механизм ATTR.

Попробуйте sysfsutils пакет. В частности, /etc/sysfs.conf должен помочь с этим.

Для Fedora / RHEL / CentOS - методом по умолчанию для настройки sysfs и сохранения его при перезагрузках является использование tuned. настроен это общая инфраструктура настройки системы. Для sysfs параметры, создайте [sysfs] в вашем файле конфигурации и укажите строку для каждой переменной, которую вы хотите установить и сохранять при перезагрузке.

Также как Леннарт Поеттеринг указал - systemd имеет встроенную возможность предоставлять настройки sysfs путем добавления фрагмента в /etc/tmpfiles.d/