คำแนะนำสำหรับการทำพารามิเตอร์ sysfs ยังคงมีอยู่ในการรีบูต


10

ฉันกำลังทดลองกับการเปลี่ยนแปลงขนาดใหญ่ของพารามิเตอร์รันไทม์ของระบบ Linux ที่เปิดเผยผ่านระบบไฟล์เสมือน sysfs

วิธีที่มีประสิทธิภาพมากที่สุดในการรักษาพารามิเตอร์เหล่านี้เพื่อให้พวกเขายังคงมีอยู่ในการรีบูตในระบบสไตล์ RHEL / CentOS คืออะไร?

มันเป็นเพียงกรณีของการทิ้งคำสั่งลงใน /etc/rc.local หรือไม่? มีสคริปต์เริ่มต้นที่เหมาะสมกับสิ่งนี้หรือไม่ ฉันยังคิดถึงมาตรฐานจากมุมมองการจัดการการกำหนดค่า มีระบบที่สะอาดเทียบเท่ากับsysctl?

คำตอบ:


6

ถ้าเป็นฉันฉันอาจสร้าง/etc/sysfs.confและ/etc/init.d/sysfsutilsสคริปต์เริ่มต้น จากนั้นฉันสามารถเก็บ sysfs ทั้งหมดที่เกี่ยวข้องกับการกำหนดค่าและตัวเลือกแยกจากทุกอย่าง ด้วยสคริปต์ init สามารถจัดการและจัดการโดยใช้สำนวนมาตรฐานสำหรับการจัดการบริการและการกำหนดค่าผ่านสคริปต์ init 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 (หรือแพ็คเกจแหล่ง Debian สำหรับ sysfsutils) อาจเป็นวิธีที่ดีในการเริ่มต้นทำซ้ำด้วยตนเอง


เป็นตัวเลือก แต่ฉันกลัวการเปลี่ยนแปลง / อัปเดตระบบปฏิบัติการที่อาจรบกวนการตั้งค่าเหล่านั้น
ewwhite

@ewwhite: ถ้าคุณต้องการที่จะรับประกันว่าไม่มีผู้จัดจำหน่ายระบบปฏิบัติการปรับปรุง / เปลี่ยนเป็นไปยุ่งกับมันคุณจะถูก จำกัด ให้ทำงานภายใต้หรือ/usr/local /optฉันอาจจะยินดีที่จะได้รับโอกาสมันสำหรับเครื่องจำนวนเล็กน้อย (พร้อมการสำรองบิตที่สำคัญทั้งหมด) สำหรับกล่องจำนวนมากฉันจะทำซ้ำการตั้งค่าที่อธิบายไว้ข้างต้น แต่ภายใต้/usr/localพร้อมด้วยสัญลักษณ์เชื่อมโยงจาก/etc/และ/etc/init.dตามลำดับ และ / หรือฉันอาจสร้าง RPM เพื่อทำการติดตั้ง / แจกจ่ายไฟล์
Christopher Cashell

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"

คุณควรจะสามารถจับคู่แอตทริบิวต์ sysfs ใด ๆผ่านกลไก ATTR


น่าสนใจ ฉันไม่เคยคิดเช่นนั้น
ewwhite

กฎนี้ดูดีทำไม distros ไม่ส่งสินค้านี้
把友情留在无盐

4

ลองsysfsutilsแพ็คเกจ โดยเฉพาะ/etc/sysfs.confควรช่วยด้วย


2
อันที่จริงแล้ว rc.local ไม่ใช่วิธีที่แย่ทั้งในความคิดของฉัน
johnshen64

โปรดทราบว่า/etc/sysfsutils.confและสคริปต์ที่ใช้ไม่ได้เป็นส่วนหนึ่งของแพ็คเกจ upstream (ดังอธิบายในคำตอบของ Christopher) มันมีอยู่ใน distros บางตัวเท่านั้นไม่ใช่ใน Arch Linux ฉันกำหนดค่า systemd เพื่อค้นหาrc.localและใช้งานบนเดสก์ท็อป Arch ของฉัน
ปีเตอร์กอร์เดส

3

สำหรับ Fedora / RHEL / CentOS - วิธีการเริ่มต้นในการกำหนดค่า sysfs และยังคงมีอยู่ในการรีบูตคือการใช้ปรับ ปรับเป็นโครงสร้างพื้นฐานการปรับระบบทั่วไป สำหรับพารามิเตอร์sysfsสร้าง[sysfs]stanza ในไฟล์คอนฟิกูเรชันของคุณและจัดเตรียมบรรทัดต่อตัวแปรที่คุณต้องการตั้งค่าและคงอยู่ในการรีบูต

เช่นเดียวกับ Lennart Poettering ที่ชี้ให้เห็น - systemd มีความสามารถดั้งเดิมในการจัดเตรียมการตั้งค่า sysfs ผ่านการวางตัวอย่างใน/etc/tmpfiles.d/


การเชื่อมโยงตายfedorahosted ตอนนี้เกษียณ tunedเป็นเรื่องยากมากที่จะ google (หายไปในเสียงของคำภาษาอังกฤษทั่วไปซึ่งยังใช้มากเมื่อพูดถึงการตั้งค่า sysfs) แต่การค้นหาอย่างรวดเร็วไม่พบหน้านี้เกี่ยวกับมัน: docs.fedoraproject.org/en-US/Fedora / 20 / html / … .
ปีเตอร์กอร์เดส
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.