วันพฤหัสบดีที่ 19 กันยายน พ.ศ. 2556

Auto reboot rPI hang By Watchdog นำมาจาก https://www.facebook.com/RaspberryPi66

Auto reboot Raspberry Pi เมื่อมัน hang ไปซะเฉยๆ ด้วย Watchdog

16 กุมภาพันธ์ 2013 เวลา 6:48 น.

บางครั้งเราเปิด 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 ให้แล้วครับ

ไม่มีความคิดเห็น:

แสดงความคิดเห็น