Auto reboot Raspberry Pi เมื่อมัน hang ไปซะเฉยๆ ด้วย Watchdog
บางครั้งเราเปิด rPi ไว้บ้านเพื่อนทำ Home automation หรือ load bit ก็ว่ากันไปแล้วมันหยุดทำงาน ตอนเราไม่อยู่บ้าน แหมเหมือนใจมันจะขาดรอนๆ จะสั่งใครให้ reboot ให้ก็ไม่ได้
วันนี้เรามาดูวิธีติดตั้ง watchdog เพื่อให้มันเฝ้าดูการทำงานของเครืองให้เรากันครับ โดย watchdog timer นัั้นจะเป็นการทำงานด้านฝั่ง hardware เลย โดยจะนับถอยหลังจากค่าที่เรากำหนดไว้จนได้ค่าเป็น 0 มันจะสั่งให้ rPi reboot ทันที ซึ่งโดยปกติถ้าระบบทำงานปกติค่าตัวแปรจะถูกอัพเดตให้มีค่าสูงไว้ตลอด ถ้านับได้ 0 แปลว่ามัน หยุดทำงานไปแล้วนั่นเอง
ซึ่งโชคดีมากที่ Broadcom BCM2835 SoC ของ Raspberry Pi เรามาพร้อมกับ hardware-based watchdog timer ทำให้เราสามารถใช้งานได้ตามนิยามในย่อหน้าแรก
Load the bcm2708_wdog kernel module
ทำได้โดยเปิดไฟล์ /etc/modules แล้วเพิ่มบรรทัดนี้ลงไป
bcm2708_wdogจากนั้นสั่ง load module เพื่อให้ทำงานได้ทันที ไม่ต้อง reboot
sudo modprobe bcm2708_wdog
Install the software watchdog daemon
ติดตั้ง package watchdog ด้วยคำสั่ง
sudo apt-get install watchdog
และสั่งให้ทำงานทุกครั้งเมื่อเริ่มระบบ
sudo update-rc.d watchdog defaults
Configure the watchdog daemon
เปิดไฟล์ /etc/watchdog.conf ขึ้นมาแก้ไข โดยเอาเครื่องหมาย # ออกจากหน้าบรรทัดเหล่านี้เพื่อให้โปรแกรมอ่านค่า parameter เหล่านี้
#watchdog-device
.
.
.
#max-load-1 = 24
หลังจากนั้นสั่งให้ service watchdog ทำงานด้วยคำสั่ง
sudo /etc/init.d/watchdog startลองหางานหนักๆให้มันทำงานแล้วดูว่าระบบมัน auto reboot ให้รึเปล่า
เท่านี้ก็ได้ผู้ช่วยคนใหม่มาคอย reboot ให้แล้วครับ
ไม่มีความคิดเห็น:
แสดงความคิดเห็น