Quantcast
Channel: Configuration Archives - Framboise 314, le Raspberry Pi à la sauce française....
Viewing all articles
Browse latest Browse all 176

Watchdog pour mon Raspberry Pi

$
0
0

chien_de_gardeCet article à pour but de décrire les différentes étapes pour installer un watchdog sur votre Raspberry Pi. En effet il existe beaucoup d’articles (très peu en français) et certains ne fonctionnent pas (ou plus).

En d’autre termes : j’ai galéré pour l’installer, alors autant faire partager mon expérience.

Mais d’abord c’est quoi un « Watchdog » ?

 

NIVEAU_confirmé

Cliquez pour avoir la définition des niveaux.

 

C’est quoi un « Watchdog » ?

Un Watchdog : ou comme beaucoup l’auront compris un « Chien de garde ». Est un mécanisme qui permet de vérifier que votre système n’est pas défaillant. Et réagir (ou pas) s’il y a défaillance. En terme plus simple, pour notre cas, faire redémarrer automatiquement le Raspberry Pi si ce dernier est planté.

Bref lui dire « Tu te plantes, et bien redémarre tout seul !« 

Ce système, qui nous est accessible via les standards Linux va vous être décrit ci-dessous.

Je vois déjà les commentaires du genre. « Mais un Raspberry Pi, ça plante jamais… et un Linux encore moins« . Certes, mais deux raisons à cela : d’une part ce qui peut faire « planter » nos Raspberry Pi, ce sont souvent les programmes que nous avons réalisés (boucle infinie oubliée, les « stack overflow », et j’en passe…). Et d’autre part, si votre Raspberry Pi se situe au fin fond du Morvan à plus d’une heure de route et qu’il ne répond plus. Ou qu’en pleine tempête de neige votre génial portail automatique, construit à base de Raspberry Pi, vous ignore…. Vous serez bien content qu’il se soit débrouillé tout seul pour redémarrer. Et dans ce cas là un bon redémarrage ne fait pas de mal. Je pense aussi aux portiers automatiques (sonnette / interphone / ouverture gâche) de certaines immeubles qui utilisent des Raspberry Pi : Sans cette option les conséquences sont non négligeables.

 Installation du Watchdog

Là ce sont des commandes de base que vous connaissez tous, au moins pour la première :

# Installation du paquet
sudo apt-get install watchdog
# Lancement de l'application au démarrage de l'OS
sudo update-rc.d watchdog enable

Configuration du Watchdog

C’est là que cela devient compliqué. En effet le Watchdog tout seul ne fonctionne pas. Il va falloir le paramétrer.

# Installation du paquet de configuration
sudo apt-get install watchdog chkconfig
sudo chkconfig watchdog on
sudo /etc/init.d/watchdog start

Et modifier les fichiers de configuration :

sudo nano /etc/watchdog.conf

Décommenter les lignes suivantes :

watchdog-device = /dev/watchdog
interval = 4
realtime = yes
priority = 1

CTRL+X pour sortir et sauvegarder avec ‘Y’ (ou ‘O’)

sudo nano /etc/systemd/system.conf

Décommenter les lignes suivantes :

RuntimeWatchdogSec=14

CTRL+X pour sortir et sauvegarder avec ‘Y’ (ou ‘O’)

Configuration du Kernel

Non ce n’est pas un gros mot et comme vous voyez ce n’est pas fini.

Ici on va configurer le Kernel pour faire en quelque sorte une sonde qui va être exposée au Watchdog. Bref donner à manger au toutou.

Création d’un nouveau fichier

sudo nano /etc/modprobe.d/bcm2835_wdt.conf

Qui contient les lignes suivantes :

alias char-major-10-130 bcm2835_wdt
alias char-major-10-131 bcm2835_wdt

CTRL+X pour sortir et sauvegarder avec ‘Y’ (ou ‘O’)

Édition du module avec ajout de lignes :

sudo nano /etc/modules

Ajout de la ligne suivante :

bcm2835_wdt

Et lancement de notre nouvelle sonde :

sudo modprobe bcm2835_wdt
sudo service watchdog restart

Après tout cela vous aurez compris qu’un redémarrage s’impose.

 

Remarque
bcm2835_wdt  fait visiblement référence à un composant du Raspberry Pi 2 et Pi 3. Ce composant semblait être différent sur la version Pi 1 d’où mes problèmes pour trouver des tutos à jour.

Test du Watchdog

A cette étape le watchdog est donc démarré et scrute toute les 14 secondes.
Si la commande /dev/watchdog ne reçoit pas de signal au bout de 14 secondes, le Raspberry Pi redémarre.

Pour tester on va lancer un truc de hackeur pour planter notre Raspberry.

Il s’agit d’un « forkbomb« . Suite de commandes infinies qui se terminent jamais.

 :(){ :|:& };:

Personnellement j’ai lancé cette commande et il ne se passait rien alors j’ai testé, retesté etc.

En fait la commande marchait mais le Raspberry Pi est stable et ne plante pas facilement. Il fallait juste être patient. En effet il faut bien parfois jusqu’à 3 à 4 minutes avant que le « forkbomb » plante réellement le Raspberry Pi.

Ça y est vous avez votre chien de garde à l’affût d’un plantage de votre framboise préférée.

Sources

Datasheet

BCM2835

Processeur ARM


Viewing all articles
Browse latest Browse all 176

Trending Articles