10 votes

Comment puis-je faire en sorte que Linux redémarre au lieu de remonter le système de fichiers en lecture seule ?

Les systèmes Linux remontent parfois le système de fichiers racine en lecture seule, par exemple en cas d'erreur d'entrée/sortie.

J'ai une machine qui devient inutile lorsque cela se produit, et je finis par la redémarrer manuellement.

Y a-t-il un moyen de faire en sorte que Linux redémarre automatiquement lorsque cela se produit ? Un montage en lecture seule est inutile pour moi.

15 votes

Je rechercherais également la source de ces erreurs d'E/S. La dernière fois qu'un système de fichiers ext2 s'est retrouvé en lecture seule pour moi, c'était en 1994, et la cause pouvait être attribuée à un ventilateur de CPU cassé.

12 votes

Vous avez un Le problème XY ici. La bonne solution n'est pas de faire redémarrer le système en cas d'erreur d'E/S (la réponse acceptée explique comment faire), mais qui est en fait assez risqué pour de multiples raisons), c'est pour réparer la cause profonde des erreurs d'entrée-sortie car le système de fichiers ne sera pas monté en lecture seule de manière aléatoire. Si ce n'est qu'intermittent et que le périphérique de stockage est bon, vous avez probablement une RAM suspecte ou un bloc d'alimentation défectueux, qui peuvent tous deux causer des problèmes bien plus importants qu'une simple erreur de système de fichiers.

1 votes

@AustinHemmelgarn : Je n'ai pas de problème de XY ici. Vous faites juste beaucoup d'hypothèses qui ne sont pas vraies dans le(s) cas que je demande.

23voto

shodanshok Points 42743

Je déduis que vous utilisez ext3 o ext4 comme système de fichiers. Si c'est le cas, vous pouvez le monter avec la commande errors=panic option et configurer watchdog pour redémarrer votre système en cas de panique.

Bien que plus complexe que La réponse de roelvanmeer (que j'ai upvoted), il a le bonus supplémentaire de fonctionner pour tous les kernel crash panic-level.

Como suggéré par NikitaKipriyanov en fixant le panic=5 l'option de démarrage du noyau peut être une alternative plus simple à watchdog (qui a plus d'options de configuration mais qui est légèrement plus complexe en conséquence).

2 votes

Une alternative au chien de garde pourrait être d'ajouter quelque chose comme kernel.panic = 5 dans le /etc/sysctl.d/panic-reboot.conf .

0 votes

Merci. Je vais tenter le coup. J'espère que ça ne sera pas échec du redémarrage ¡!

0 votes

@NikitaKipriyanov bonne suggestion, je vais modifier ma réponse. Merci.

14voto

roelvanmeer Points 1660

Ce n'est peut-être pas une très belle solution, mais ma première idée serait d'exécuter une commande de cron toutes les minutes :

test -w / || reboot

0 votes

+1 merci, ce sera une excellente solution de repli si l'autre solution échoue !

0 votes

Je pense qu'il n'est pas garanti que test -w vérifie si le système de fichiers est en lecture-écriture. Bien que GNU test y test intégré dans bash semble le faire. --- Ici vous pouvez voir ce qui devrait être conforme à POSIX test faire : pubs.opengroup.org/onlinepubs/9699919799/utilités/ Comme je le comprends test est seulement nécessaire pour vérifier les droits d'accès au fichier.

1 votes

Dans ce cas tee -a /root/.bash_history < /dev/null || reboot fonctionnera.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X