Redémarrez un Linux lorsque rootfs devient indisponible

Oct 08 2020

Comment faire redémarrer un appareil basé sur Linux une fois que ses rootfs sont indisponibles?

Un logiciel de surveillance est disponible uniquement.

Le problème est que rootfs est monté à partir de NFS. Lorsque j'arrête le serveur NFS, l'appareil est bloqué. Je veux cependant qu'il soit redémarré. Comment puis-je atteindre cet objectif?

Ie: il y a un rootfs problématique, y a-t-il quelque chose au niveau du noyau qui peut réinitialiser tout le système? Je ne me soucie pas des fichiers et des ressources ouverts / corrompus.

Remarque: je n'ai pas les sources du noyau pour cette architecture. L'appareil est sans tête, aucun moniteur ou clavier n'est connecté. Il existe une console racine avec agetty(défini dans /etc/inittab).

Réponses

AdminBee Oct 08 2020 at 14:17

Vous n'avez pas indiqué si vous avez un clavier physique connecté, mais si vous le faites, alors les "Magic SysRq Keys" pourraient vous aider. Dans ton cas

  • Alt+ SysRq+ Spour la synchronisation d'urgence sur disque, et
  • Alt+ SysRq+ Bpour un redémarrage immédiat

devrait faire le travail. Notez que pour que cela fonctionne, il est nécessaire que ces combinaisons de touches ne soient pas désactivées, voir le paramètre dans /proc/sys/kernel/sysrqlequel se trouve un masque de bits ORed des actions SysRq autorisées (reproduites à partir d' ici ):

  2 =   0x2 - enable control of console logging level
  4 =   0x4 - enable control of keyboard (SAK, unraw)
  8 =   0x8 - enable debugging dumps of processes etc.
 16 =  0x10 - enable sync command
 32 =  0x20 - enable remount read-only
 64 =  0x40 - enable signalling of processes (term, kill, oom-kill)
128 =  0x80 - allow reboot/poweroff
256 = 0x100 - allow nicing of all RT tasks

Vous pouvez également le déclencher à partir d'un script / programme shell en écrivant dans /proc/sysrq-trigger:

echo "b" > /proc/sysrq-trigger

Cela fonctionnera quels que /proc/sys/kernel/sysrqsoient les paramètres de , qui ne restreignent que les événements SysRq induits par le clavier.

telcoM Oct 09 2020 at 15:20

On dirait que vous auriez besoin de l'option de montage onerror=panicpour votre système de fichiers racine NFS, mais je ne suis pas sûr que cela fonctionnera avec NFS. Vous devrez peut-être également monter le système de fichiers racine NFS avec l'option de montage spécifique à NFS softafin qu'il expire et renvoie une erreur au lieu de réessayer indéfiniment.

Remarque: l' softoption de montage peut entraîner une corruption de fichier et / ou une perte de données, mais dans les commentaires, vous avez spécifiquement dit que vous ne vous en souciez pas.

Ça vaut le coup d'essayer, peut-être?