Chien de Garde / Watchdog Jessie

Niveau:3

Le chien de garde pour RPI 3 :

Un chien de garde, en anglais watchdog, est un circuit électronique ou un logiciel utilisé en électronique numérique pour s’assurer qu’un automate ou un ordinateur ne reste pas bloqué à une étape particulière du traitement qu’il effectue. C’est une protection destinée généralement à redémarrer le système, si une action définie n’est pas exécutée dans un délai imparti. Source https://fr.wikipedia.org/wiki/Chien_de_garde_(informatique).

watchdog

Le Raspberry via la CPU Broadcom BCM2708 ou  BCM2835 (Raspberry PI 3) a un chien de garde matériel, qui avec un service en tache de fond permettra la réinitialisation automatiquement du  Raspberry Pi quand il se bloquera.

Mise en œuvre:

Activation matériel du watchdog.
Taper la commande:
sudo nano /boot/config.txt

A la fin du fichier ajouter les lignes suivantes:
# Enabling watchdog.
dtparam=watchdog=on

En suite faire un redémarrage du raspberry.

sudo reboot

Installation du service ou démon.
Taper la commande suivante:
sudo apt-get install watchdog

Configuration du Watchdog:

Taper la commande:
sudo nano /etc/watchdog.conf

Enlever le # devant:
watchdog-device = /dev/watchdog
interval = 1
max-load-1 = 24

A la fin du fichier ajouter les lignes suivantes:
watchdog-timeout=15

Choisir un intervalle de 10 secondes par exemple (Scrutation toute les 10 secondes). Bien sûr, il y a d’autres options possibles.
Voir : https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Virtualization/3.4/html/User_Guide/Parameters_for_Watchdogs_in_watchdog.conf.html

watchdog1

watchdog2

Faire un crtl+o pour sauvegarder et crtl+x pour sortir.

Mise en marche:

Mise en marche du watchdog:
sudo systemctl start watchdog.

Pour vérifier l’état du chien de garde:

sudo systemctl status watchdog

Arrêt du watchdog:

sudo systemctl stop watchdog

Ajouter le watchdog au démarrage du raspberry:

Editer le fichier watchdog.service.

sudo nano /lib/systemd/system/watchdog.service

Ajouter la ligne suivante après [Install].

WantedBy=multi-user.target

Faire une sauvegarde et taper la commande:

sudo systemctl enable watchdog

Tester le watchdog:

Taper les commandes:

Arrêt du swpa ( Plus de transfert de la RAM vers votre carte SD):
sudo swapoff -a

Envoi d’une Forkbomb pour planter le système:
:(){ :|:& };:

 

watchdog5

Attendre que le Raspberry se bloque…. Et grâce au chien de garde, il va redémarrer.