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?

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.


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.


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.


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/


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
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.