Đề xuất làm cho các tham số sysfs vẫn tồn tại trong suốt quá trình khởi động lại


10

Tôi đang thử nghiệm các thay đổi lớn đối với các tham số thời gian chạy hệ thống Linux được hiển thị thông qua hệ thống tệp ảo sysfs.

Cách hiệu quả nhất để duy trì các tham số này để chúng tồn tại trong suốt quá trình khởi động lại trên hệ thống kiểu RHEL / CentOS là gì?

Có phải nó chỉ đơn giản là một trường hợp đổ lệnh vào /etc/rc.local? Có một kịch bản init nào phù hợp cho việc này không? Tôi cũng đang suy nghĩ về tiêu chuẩn hóa từ góc độ quản lý cấu hình. Có một sysfs sạch tương đương sysctl?

Câu trả lời:


6

Nếu nó là tôi, tôi có lẽ muốn tạo ra một /etc/sysfs.conf, và một /etc/init.d/sysfsutilsinit script. Sau đó, tôi có thể tách tất cả các cấu hình và tùy chọn liên quan đến sysfs của mình khỏi mọi thứ khác. Với một tập lệnh init, nó có thể được quản lý và xử lý bằng cách sử dụng các thành ngữ tiêu chuẩn để quản lý các dịch vụ và cấu hình thông qua các tập lệnh init SysV (bao gồm cả service sysfsutils [start|stop|reload|restart|status]trên RHEL / CentOS (có thêm một chút công việc)).

Ngay cả khi tôi không bận tâm đến /etc/init.d/sysfsutilstập lệnh, tôi vẫn đưa các tùy chọn vào /etc/sysfs.confvà sau đó gọi / xử lý nội dung của tệp đó từ một tập lệnh riêng biệt ( /etc/rc.localnhư là tùy chọn cuối cùng / lười biếng).

Lưu ý: Các bản phân phối dựa trên Debian và Debian (Ubuntu, v.v.) đã làm điều này và gửi /etc/sysfs.conftệp cấu hình và tập lệnh init với gói sysfsutils của chúng. Lấy hai tệp đó từ hộp Debian / Ubuntu (hoặc gói nguồn Debian cho sysfsutils) có thể là một cách tốt để bắt đầu sao chép chính nó.


Đó là một tùy chọn, nhưng tôi sợ những thay đổi / cập nhật của hệ điều hành có khả năng can thiệp vào các cài đặt đó.
ewwhite

@ewwhite: Nếu bạn muốn đảm bảo rằng không có cập nhật / thay đổi hệ điều hành nào do nhà cung cấp cung cấp sẽ can thiệp vào nó, bạn sẽ bị giới hạn làm việc theo /usr/localhoặc /opt. Tôi có thể sẵn sàng cho nó một số lượng nhỏ máy (với tất cả các bit quan trọng được sao lưu). Đối với một số lượng lớn các hộp, tôi sẽ nhân đôi thiết lập được mô tả ở trên, nhưng bên dưới /usr/local, với các liên kết tượng trưng từ /etc//etc/init.d, tương ứng. Và / hoặc tôi có thể xây dựng một RPM để thực hiện cài đặt / phân phối tệp.
Christopher Cashell

5

Bạn cũng có thể thử các quy tắc udev tùy thuộc vào những gì bạn muốn đặt. Ví dụ: trên hệ thống của mình, tôi đặt SSD của mình để sử dụng bộ lập deadlinelịch thông qua /etc/udev/rules.d/60-ssd-scheduler.rulescó chứa:

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

Bạn sẽ có thể khớp bất kỳ thuộc tính sysfs nào thông qua cơ chế ATTR.


Hấp dẫn. Tôi chưa bao giờ nghĩ đến điều đó.
ewwhite

quy tắc này có vẻ tốt, tại sao các distro không vận chuyển này?
把 友情 留

4

Hãy thử sysfsutilsgói. Đặc biệt, /etc/sysfs.confnên giúp với điều này.


2
Trên thực tế, RC.local không phải là một phương pháp tồi.
johnshen64

Lưu ý rằng /etc/sysfsutils.confvà tập lệnh để áp dụng nó không phải là một phần của gói ngược dòng (như được giải thích trong câu trả lời của Christopher). Nó chỉ hiện diện trong một số bản phát hành, không phải trong Arch Linux chẳng hạn. Tôi đã cấu hình systemd để tìmrc.local và sử dụng nó trên màn hình Arch của mình.
Peter Cordes

3

Đối với Fedora / RHEL / CentOS - phương pháp mặc định để định cấu hình sysfs và duy trì trong suốt quá trình khởi động lại là sử dụng điều chỉnh. điều chỉnh là một cơ cấu hạ tầng điều chỉnh hệ thống chung. Đối với các tham số sysfs , tạo một khổ [sysfs]thơ trong tệp cấu hình của bạn và cung cấp một dòng trên mỗi biến mà bạn muốn đặt và duy trì trong suốt quá trình khởi động lại.

Cũng như Lennart Poettering đã chỉ ra - systemd có khả năng riêng để cung cấp các cài đặt sysfs thông qua việc thả một đoạn trong/etc/tmpfiles.d/


liên kết chết: fedorahosted đã nghỉ hưu . tunedRất khó để google (bị mất tiếng ồn của từ tiếng Anh thông dụng cũng được sử dụng rất nhiều khi nói về cài đặt sysfs), nhưng một tìm kiếm nhanh đã tìm thấy trang này về nó: docs.fedoraproject.org/en-US/Fedora / 20 / html / SSH .
Peter Cordes
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.