Saran untuk membuat parameter sysf tetap ada di seluruh reboot

10

Saya bereksperimen dengan perubahan besar pada parameter runtime sistem Linux yang diekspos melalui sistem file virtual sysfs.

Apa cara paling efisien untuk mempertahankan parameter ini sehingga tetap bertahan di seluruh reboot pada sistem gaya RHEL / CentOS?

Apakah ini hanya kasus membuang perintah ke /etc/rc.local? Apakah ada skrip init yang cocok untuk ini? Saya juga memikirkan standardisasi dari perspektif manajemen konfigurasi. Apakah ada sysfs bersih yang setara dengan sysctl?

putih
sumber

Jawaban:

6

Jika itu aku, aku mungkin akan membuat /etc/sysfs.conf, dan /etc/init.d/sysfsutilsskrip init. Kemudian saya bisa memisahkan konfigurasi dan opsi sysfs saya yang terpisah dari yang lainnya. Dengan skrip init, ia dapat dikelola dan ditangani menggunakan idiom standar untuk mengelola layanan dan konfigurasi melalui skrip init SysV (termasuk service sysfsutils [start|stop|reload|restart|status]pada RHEL / CentOS (dengan sedikit kerja ekstra)).

Bahkan jika saya tidak repot-repot dengan /etc/init.d/sysfsutilsskrip, saya masih memasukkan opsi ke dalam /etc/sysfs.confdan kemudian memanggil / memproses isi file itu dari skrip terpisah ( /etc/rc.local, sebagai pilihan terakhir / malas).

Catatan: Distribusi berbasis Debian dan Debian (Ubuntu, dll.) Sudah melakukan ini, dan kirimkan /etc/sysfs.conffile konfigurasi dan skrip init dengan paket sysfsutils mereka. Mengambil kedua file dari kotak Debian / Ubuntu (atau paket sumber Debian untuk sysfsutils) mungkin akan menjadi cara yang baik untuk memulai untuk mereplikasi sendiri.

Christopher Cashell
sumber
Itu pilihan, tapi saya takut perubahan OS / pembaruan yang berpotensi mengganggu pengaturan itu.
ewwhite
@ewwhite: Jika Anda ingin menjamin bahwa tidak ada pembaruan / perubahan OS yang disediakan vendor akan mengganggu itu, Anda akan dibatasi untuk bekerja di bawah /usr/localatau /opt. Saya mungkin akan bersedia untuk kesempatan itu untuk sejumlah kecil mesin (dengan semua bit penting didukung). Untuk sejumlah besar kotak, saya akan menduplikasi pengaturan yang dijelaskan di atas, tetapi di bawah /usr/local, dengan symlink dari /etc/dan /etc/init.d, masing-masing. Dan / atau saya mungkin akan membangun RPM untuk melakukan instalasi / distribusi file.
Christopher Cashell
5

Anda juga dapat mencoba aturan udev tergantung pada apa yang ingin Anda tetapkan. Misalnya, pada sistem saya, saya mengatur SSD saya untuk menggunakan deadlinepenjadwal melalui yang /etc/udev/rules.d/60-ssd-scheduler.rulesberisi:

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

Anda harus dapat mencocokkan atribut sysfs melalui mekanisme ATTR.

Raman
sumber
Menarik. Saya tidak pernah mempertimbangkan itu.
ewwhite
aturan ini terlihat bagus, mengapa distro tidak mengirimkan ini?
把 友情 留 在 无 盐
4

Coba sysfsutilspaketnya. Secara khusus, /etc/sysfs.confharus membantu dengan ini.

johnshen64
sumber
2
sebenarnya rc.local juga bukan metode yang buruk menurut saya.
johnshen64
Catat itu /etc/sysfsutils.confdan skrip untuk menerapkannya bukan bagian dari paket hulu (seperti yang dijelaskan dalam jawaban Christopher). Ini hanya ada di beberapa distro, bukan di Arch Linux misalnya. Saya mengkonfigurasi systemd untuk mencarirc.local dan menggunakannya di desktop Arch saya.
Peter Cordes
3

Untuk Fedora / RHEL / CentOS - metode default untuk mengkonfigurasi sysfs dan tetap ada di seluruh reboot adalah dengan menggunakan tuned. tuned adalah infrastuktur sistem tuning umum. Untuk parameter sysfs , buat [sysfs]bait di file konfigurasi Anda, dan berikan baris per variabel yang ingin Anda atur dan tetap ada di seluruh reboot.

Juga seperti yang ditunjukkan Lennart Poettering - systemd memiliki kemampuan asli untuk menyediakan pengaturan sysfs melalui menjatuhkan cuplikan/etc/tmpfiles.d/

Subhendu Ghosh
sumber
dead link: fedorahosted sudah pensiun sekarang . tunedsangat sulit untuk google (hilang dalam kebisingan kata bahasa Inggris yang umum yang juga banyak digunakan ketika berbicara tentang pengaturan sysfs), tetapi pencarian cepat menemukan halaman ini tentang hal itu: docs.fedoraproject.org/en-US/Fedora / 20 / html / ... .
Peter Cordes