Tôi có sở hữu một cơ quan giám sát?


11

Thông thường khi tôi khởi động lại, tôi nhận được thông báo lỗi sau:

kernel: watchdog watchdog0: watchdog did not stop!

Tôi đã cố gắng tìm hiểu thêm về cơ quan giám sát bằng cách làm man watchdog, nhưng nó nói không có mục nhập thủ công. Tôi đã thử yum list watchdogvà thấy rằng nó không được cài đặt. Tuy nhiên, khi tôi nhìn vào /devthư mục, tôi thực sự tìm thấy hai cơ quan giám sát:

watchdogwatchdog0

Tôi tò mò. Tôi có thực sự sở hữu bất kỳ cơ quan giám sát? Tại sao kernel phàn nàn rằng nó không dừng lại khi tôi khởi động lại?

Câu trả lời:


7

Hầu hết các phần cứng máy tính hiện đại bao gồm các cơ sở hẹn giờ watchdog. Bạn có thể đọc thêm về chúng ở đây thông qua wikipedia: Bộ đếm thời gian Watchdog . Cũng từ các tài liệu nhân Linux:

trích đoạn - https://www.kernel.org/doc/Documentation/watchdog/watchdog-api.txt

Watchdog Timer (WDT) là một mạch phần cứng có thể thiết lập lại hệ thống máy tính trong trường hợp có lỗi phần mềm. Có lẽ bạn đã biết điều đó rồi.

Thông thường, một daemon không gian người dùng sẽ thông báo cho trình điều khiển watchdog kernel thông qua tệp thiết bị đặc biệt / dev / watchdog rằng không gian người dùng vẫn còn sống, đều đặn. Khi có thông báo như vậy, trình điều khiển thường sẽ thông báo cho cơ quan giám sát phần cứng rằng mọi thứ đều theo thứ tự và cơ quan giám sát sẽ chờ thêm một lúc nữa để thiết lập lại hệ thống. Nếu không gian người dùng không thành công (lỗi RAM, lỗi kernel, bất cứ điều gì), thông báo sẽ ngừng xảy ra và cơ quan giám sát phần cứng sẽ thiết lập lại hệ thống (gây khởi động lại) sau khi hết thời gian chờ.

API cơ quan giám sát Linux là một cấu trúc khá đặc biệt và các trình điều khiển khác nhau thực hiện các phần khác nhau và đôi khi không tương thích với nhau. Tập tin này là một nỗ lực để ghi lại việc sử dụng hiện có và cho phép các nhà văn trình điều khiển trong tương lai sử dụng nó làm tài liệu tham khảo.

Câu hỏi và trả lời SO này có tiêu đề, Ai đang làm mới cơ quan giám sát phần cứng trong Linux? , bao gồm mối liên kết giữa nhân Linux và bộ đếm thời gian theo dõi phần cứng.

Còn gói watchdog thì sao?

Mô tả trong RPM làm cho điều này khá rõ ràng, IMO. Trình watchdognền có thể hoạt động như một bộ giám sát phần mềm hoặc có thể tương tác với việc triển khai phần cứng.

trích từ mô tả RPM

Chương trình theo dõi có thể được sử dụng như một trình nền giám sát phần mềm mạnh mẽ hoặc có thể được sử dụng xen kẽ với một thiết bị theo dõi phần cứng như giao diện trình điều khiển theo dõi phần cứng IPMI cho Bộ điều khiển quản lý Baseboard (BMC) thường trú. watchdog định kỳ ghi vào / dev / watchdog; khoảng thời gian giữa ghi vào / dev / watchdog có thể được cấu hình thông qua các cài đặt trong tệp sysconfig watchdog.

Tệp cấu hình này cũng được sử dụng để đặt cơ quan giám sát được sử dụng làm cơ quan giám sát phần cứng thay vì hoạt động theo dõi phần mềm mặc định của nó. Trong cả hai trường hợp, nếu thiết bị đang mở nhưng không được ghi trong khoảng thời gian được định cấu hình, hết hạn hẹn giờ theo dõi sẽ kích hoạt khởi động lại máy. Khi hoạt động như một bộ giám sát phần mềm, khả năng khởi động lại sẽ phụ thuộc vào trạng thái của máy và bị gián đoạn.

Khi hoạt động như một bộ giám sát phần cứng, máy sẽ gặp phải tình trạng thiết lập lại cứng (hoặc bất kỳ hành động nào được định cấu hình để thực hiện khi hết thời gian theo dõi của bộ giám sát) do BMC khởi xướng.


Cảm ơn, tài liệu kernel là hữu ích. Để làm rõ, điều này có nghĩa là kernel sở hữu một watchdog và người dùng, tôi, không sở hữu một cái nào vì tôi chưa cài đặt cái nào?
Câu hỏi tràn vào

1
@QuestionOverflow - theo tôi hiểu, hệ thống cung cấp cơ sở giám sát (về cơ bản là phần cứng). Do đó, hạt nhân sở hữu nó và quản lý phần cứng này giống như bất kỳ phần cứng nào khác trong hệ thống. Bạn là người dùng tương tác với nó thông qua kernel, nhưng không sở hữu nó trong bất kỳ khả năng chính thức nào. Bạn chỉ đơn giản là một người tiêu dùng của nó. WDT được sử dụng như một bảo vệ tích hợp, trong trường hợp phần mềm đang chạy liên kết phần cứng theo những cách không lường trước được. Chúng là một cơ chế an toàn cho phép hệ thống có khả năng phục hồi.
slm

Tôi thấy .. Nhưng có vẻ như tôi có thể tương tác trực tiếp với nó nếu tôi cài đặt watchdog. Dường như có một tập tin cấu hình /etc/watchdog.confđể thay đổi trực tiếp hành vi của nó.
Câu hỏi tràn vào

@QuestionOverflow - Hãy xem mô tả của watchdog trong RPM. Nó giải thích tất cả. Tôi sẽ thêm nó vào A.
slm
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.