Apakah saya memiliki anjing penjaga?

11

Cukup sering ketika saya melakukan reboot, saya mendapatkan pesan kesalahan berikut:

kernel: watchdog watchdog0: watchdog did not stop!

Saya mencoba mencari tahu lebih banyak tentang pengawas dengan melakukan man watchdog, tetapi dikatakan tidak ada entri manual. Saya mencoba yum list watchdogdan menemukan bahwa itu tidak diinstal. Namun, ketika saya melihat /devdirektori, saya benar-benar menemukan dua anjing penjaga:

watchdog dan watchdog0

Saya penasaran. Apakah saya benar-benar memiliki anjing penjaga? Mengapa kernel mengeluh bahwa itu tidak berhenti ketika saya melakukan reboot?

Pertanyaan Melimpah
sumber

Jawaban:

7

Sebagian besar perangkat keras PC modern termasuk fasilitas pengawas waktu. Anda dapat membaca lebih lanjut tentang mereka di sini melalui wikipedia: Pengawas Waktu . Juga dari dokumentasi kernel Linux:

kutipan - https://www.kernel.org/doc/Documentation/watchdog/watchdog-api.txt

Watchdog Timer (WDT) adalah sirkuit perangkat keras yang dapat mengatur ulang sistem komputer jika terjadi kesalahan perangkat lunak. Anda mungkin sudah tahu itu.

Biasanya daemon userspace akan memberi tahu driver pengawas kernel melalui file perangkat khusus / dev / watchdog bahwa userspace masih hidup, secara berkala. Ketika pemberitahuan semacam itu terjadi, pengemudi biasanya akan memberi tahu pengawas perangkat keras bahwa semuanya beres, dan pengawas harus menunggu beberapa saat lagi untuk mengatur ulang sistem. Jika userspace gagal (kesalahan RAM, bug kernel, apa pun), pemberitahuan berhenti, dan pengawas perangkat keras akan mengatur ulang sistem (menyebabkan reboot) setelah batas waktu terjadi.

Linux watchdog API adalah konstruksi yang agak ad-hoc dan driver yang berbeda mengimplementasikan bagian yang berbeda, dan kadang-kadang tidak kompatibel. File ini adalah upaya untuk mendokumentasikan penggunaan yang ada dan memungkinkan penulis driver di masa depan untuk menggunakannya sebagai referensi.

T&J SO ini berjudul, Siapa yang menyegarkan pengawas perangkat keras di Linux? , mencakup hubungan antara kernel Linux dan timer pengawas perangkat keras.

Bagaimana dengan paket pengawas?

Deskripsi dalam RPM membuatnya sangat jelas, IMO. The watchdogdaemon baik dapat bertindak sebagai pengawas perangkat lunak atau dapat berinteraksi dengan implementasi hardware.

kutipan dari deskripsi RPM

Program pengawas dapat digunakan sebagai daemon pengawas perangkat lunak yang kuat atau dapat digunakan secara bergantian dengan perangkat pengawas perangkat keras seperti antarmuka pengawas pengawas perangkat keras IPMI ke pengontrol Baseboard Management Controller (BMC) penduduk. watchdog secara berkala menulis ke / dev / watchdog; interval antara menulis ke / dev / watchdog dapat dikonfigurasi melalui pengaturan dalam file sysconfig watchdog.

File konfigurasi ini juga digunakan untuk mengatur pengawas yang akan digunakan sebagai pengawas perangkat keras alih-alih operasi pengawas perangkat lunak standarnya. Dalam kedua kasus itu, jika perangkat terbuka tetapi tidak ditulis dalam periode waktu yang dikonfigurasi, pengatur waktu pengawas kedaluwarsa akan memicu mesin reboot. Saat beroperasi sebagai pengawas perangkat lunak, kemampuan untuk mem-boot ulang akan tergantung pada kondisi mesin dan interupsi.

Saat beroperasi sebagai pengawas perangkat keras, mesin akan mengalami hard reset (atau tindakan apa pun yang dikonfigurasikan untuk dilakukan setelah pengawas waktu kedaluwarsa) dimulai oleh BMC.

slm
sumber
Terima kasih, kernel doc berguna. Untuk memperjelas, apakah ini berarti bahwa kernel memiliki pengawas dan pengguna, saya, tidak memilikinya karena saya belum menginstalnya?
Pertanyaan Overflow
1
@QuestionOverflow - seperti yang saya mengerti, sistem menyediakan fasilitas anjing penjaga (pada dasarnya perangkat keras). Kernel karenanya memiliki dan mengelola perangkat keras ini seperti halnya perangkat keras lainnya dalam sistem. Anda pengguna berinteraksi dengannya melalui kernel, tetapi tidak memilikinya dalam kapasitas resmi apa pun. Anda hanyalah konsumen. WDT digunakan sebagai perlindungan bawaan, jika perangkat lunak yang sedang berjalan mengikat perangkat keras dengan cara yang tidak terduga. Mereka adalah mekanisme keamanan yang memungkinkan sistem untuk pulih.
slm
Saya mengerti .. Tetapi sepertinya saya dapat berinteraksi dengannya secara langsung jika saya menginstal anjing penjaga. Tampaknya ada file konfigurasi /etc/watchdog.confuntuk mengubah perilakunya secara langsung.
Pertanyaan Overflow
@QuestionOverflow - Lihatlah deskripsi anjing penjaga di RPM. Itu menjelaskan semuanya. Saya akan menambahkannya ke A.
slm