ฉันเป็นเจ้าของสุนัขเฝ้าบ้านหรือไม่?


11

บ่อยครั้งที่ฉันรีบูตเครื่องฉันได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้:

kernel: watchdog watchdog0: watchdog did not stop!

ฉันพยายามค้นหาเพิ่มเติมเกี่ยวกับสุนัขเฝ้าบ้านด้วยการทำman watchdogแต่มันบอกว่าไม่มีรายการคู่มือ ฉันลองyum list watchdogและพบว่ามันไม่ได้ติดตั้ง อย่างไรก็ตามเมื่อฉันดูที่/devไดเรกทอรีฉันพบสุนัขเฝ้าบ้านสองคน:

watchdog และ watchdog0

ฉันอยากรู้ ฉันเป็นเจ้าของสุนัขเฝ้าบ้านจริง ๆ หรือไม่? ทำไมเคอร์เนลบ่นว่ามันไม่หยุดเมื่อฉันรีบูต?

คำตอบ:


7

ฮาร์ดแวร์พีซีที่ทันสมัยส่วนใหญ่มีอุปกรณ์จับเวลาสำหรับสุนัขเฝ้าบ้าน คุณสามารถอ่านเพิ่มเติมเกี่ยวกับพวกเขาที่นี่ผ่านทางวิกิพีเดีย: Watchdog จับเวลา นอกจากนี้จากเอกสารเคอร์เนลของ Linux:

ข้อความที่ตัดตอนมา - https://www.kernel.org/doc/Documentation/watchdog/watchdog-api.txt

Watchdog Timer (WDT) เป็นวงจรฮาร์ดแวร์ที่สามารถรีเซ็ตระบบคอมพิวเตอร์ในกรณีที่ซอฟต์แวร์ผิดปกติ คุณคงรู้แล้ว

โดยปกติ userspace daemon จะแจ้งให้ไดรเวอร์เคอร์เนล watchdog ผ่านไฟล์อุปกรณ์พิเศษ / dev / watchdog ที่ userspace ยังคงมีชีวิตอยู่ในช่วงเวลาปกติ เมื่อมีการแจ้งเตือนเกิดขึ้นผู้ขับขี่มักจะบอกฮาร์ดแวร์ Watchdog ว่าทุกอย่างเป็นไปตามลำดับและ Watchdog ควรรออีกเล็กน้อยเพื่อรีเซ็ตระบบ หาก userspace ล้มเหลว (ข้อผิดพลาด RAM, ข้อผิดพลาดเคอร์เนล, อะไรก็ตาม) การแจ้งเตือนจะหยุดทำงานและ watchdog ฮาร์ดแวร์จะรีเซ็ตระบบ (ทำให้เกิดการรีบูต) หลังจากหมดเวลา

Linux watchdog API เป็นโครงสร้างแบบ ad-hoc และไดรเวอร์ที่แตกต่างกันใช้ส่วนที่แตกต่างกันและบางครั้งก็เข้ากันไม่ได้ ไฟล์นี้เป็นความพยายามในการบันทึกการใช้งานที่มีอยู่และอนุญาตให้นักเขียนไดรเวอร์ในอนาคตใช้เป็นข้อมูลอ้างอิง

SO Q&A นี้มีชื่อว่าใครคือสุนัขเฝ้าบ้านฮาร์ดแวร์สดชื่นใน Linux? ครอบคลุมการเชื่อมโยงระหว่างเคอร์เนล Linux และตัวจับเวลาจ้องจับผิดของฮาร์ดแวร์

แล้วแพ็คเกจ watchdog ล่ะ?

คำอธิบายใน RPM ทำให้ IMO นี้ค่อนข้างชัดเจน watchdogภูตทั้งสามารถทำหน้าที่เป็นสุนัขเฝ้าบ้านซอฟต์แวร์หรือสามารถโต้ตอบกับการดำเนินงานของฮาร์ดแวร์

ตัดตอนมาจากคำอธิบาย RPM

โปรแกรมจ้องจับผิดสามารถใช้เป็นซอฟต์แวร์จ้องจับผิดภูตที่มีประสิทธิภาพหรืออาจใช้สลับกับอุปกรณ์จ้องจับผิดฮาร์ดแวร์เช่นอินเทอร์เฟซไดรเวอร์จ้องจับผิดฮาร์ดแวร์ IPMI ไปยังอินเตอร์เฟส Baseboard Management Controller (BMC) จ้องจับผิดเป็นระยะเขียนไปยัง / dev / จ้องจับผิด; ช่วงเวลาระหว่างการเขียนไปยัง / dev / watchdog สามารถกำหนดค่าผ่านการตั้งค่าในไฟล์ watchdog sysconfig

ไฟล์คอนฟิกูเรชันนี้ยังใช้เพื่อตั้งค่า watchdog ที่จะใช้เป็น watchdog ฮาร์ดแวร์แทนการดำเนินการซอฟต์แวร์ watchdog เริ่มต้น ไม่ว่าในกรณีใดถ้าอุปกรณ์เปิดอยู่ แต่ไม่ได้เขียนไว้ภายในช่วงเวลาที่กำหนดไว้การหมดอายุของตัวจับเวลา watchdog จะทำให้เครื่องรีบูต เมื่อปฏิบัติการเป็นซอฟต์แวร์จ้องจับผิดความสามารถในการรีบูตจะขึ้นอยู่กับสถานะของเครื่องและการขัดจังหวะ

เมื่อใช้งานเป็นจ้องจับผิดฮาร์ดแวร์เครื่องจะประสบกับการรีเซ็ตแบบยาก


ขอบคุณเคอร์เนล doc มีประโยชน์ ในการชี้แจงนี้หมายความว่าเคอร์เนลเป็นเจ้าของสุนัขเฝ้าบ้านและผู้ใช้ฉันไม่ได้เป็นเจ้าของตั้งแต่ฉันยังไม่ได้ติดตั้งใด ๆ
คำถามล้นเมื่อ

1
@QuestionOverflow - ฉันเข้าใจว่ามันเป็นระบบที่ให้บริการสุนัขเฝ้าบ้าน (เป็นฮาร์ดแวร์) เคอร์เนลจึงเป็นเจ้าของและจัดการฮาร์ดแวร์นี้เช่นเดียวกับฮาร์ดแวร์ชิ้นอื่น ๆ ภายในระบบ คุณผู้ใช้โต้ตอบกับมันผ่านเคอร์เนล แต่ไม่ได้เป็นเจ้าของในความจุอย่างเป็นทางการใด ๆ คุณเป็นเพียงผู้บริโภคเท่านั้น WDT ใช้เพื่อการป้องกันในตัวในกรณีที่ใช้ซอฟต์แวร์เชื่อมต่อฮาร์ดแวร์ในลักษณะที่ไม่คาดฝัน มันเป็นกลไกด้านความปลอดภัยที่ช่วยให้ระบบสามารถกู้คืนได้
slm

ฉันเห็น .. แต่ดูเหมือนว่าฉันสามารถโต้ตอบกับมันได้โดยตรงถ้าฉันติดตั้งสุนัขเฝ้าบ้าน ดูเหมือนว่าจะมีไฟล์กำหนดค่าที่/etc/watchdog.confจะเปลี่ยนแปลงพฤติกรรมของมันโดยตรง
คำถามล้นเมื่อ

@QuestionOverflow - ดูที่คำอธิบายการเฝ้าดูใน RPM มันอธิบายได้ทั้งหมด ฉันจะเพิ่มไปยัง A.
slm
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.