Travailler avec une machine basée sur Debian sans ventilateur. Tous les systèmes de fichiers sont sur une carte SD.
Le /var partition est une entrée ext2 fs séparée dans /etc/fstab .
Le système n'a pas d'interrupteur "marche / arrêt", donc les gens ont tendance à tirer sur la prise pour l'éteindre. Cela conduit à la corruption sur le /var partitionner.
Je veux forcer le système à exécuter e2fsck à chaque démarrage.
Ce que j'ai essayé :
-
Ne montez pas /var au démarrage. Ajouter un script dans /etc/rc2.d pour exécuter e2fsck puis monter le lecteur.
Problème :Cela me donne un système qui pense qu'il est bloqué au niveau d'exécution 6. Voir ici. -
Utilisez tune2fs pour définir le cycle fsck sur un seul montage.
Problème :le système se bloque souvent au démarrage en notant que /var est déjà monté et tombe dans le shell de maintenance. -
Définir le 6ème bit dans /etc/fstab à 2. Exécutez
touch /forcefsck
.
Problème :aucun des deux n'a d'effet notable. Le disque n'est pas vérifié. -
Ajouter noauto vers /etc/fstab (voir #1 ci-dessus).
Problème :le système monte toujours la partition, donc un message d'erreur s'affiche toujours.
Suggestion(s) sur d'autres choses à essayer ?
MODIFIER :
Un peu de contexte :
- Plus de 150 de ces systèmes sont déployés dans des sites distants
- Les systèmes en question n'ont pas d'interrupteurs marche/arrêt
- Les systèmes sont souvent (par erreur) mis sur des sources d'alimentation commutées (interrupteurs muraux ou autres)
- La perte de puissance à l'emplacement en question n'est pas rare
Réponse acceptée :
Cette question a déjà reçu une réponse :
Comment forcer fsck à chaque démarrage - tous les systèmes de fichiers (pertinents) ?
Personne n'a souligné là-bas que le vrai problème, ce sont les gens qui tirent sur le câble. Je pense sérieusement que l'accent mis sur les DEUX questions est faux ; Vous devez résoudre votre problème d'utilisateur, pas le problème du système de fichiers du serveur.
Honnêtement, étant donné à quel point ce système de fichiers est crucial pour les fonctionnalités de base de la machine, votre meilleur pari est de cesser de penser à ce problème comme un administrateur système et de commencer à y penser comme un gestionnaire.
En d'autres termes :
- Enseignez à vos utilisateurs comment redémarrer correctement ce système pour éviter tout d'abord le problème de corruption de /var. La documentation est votre amie comme on dit. Ce n'est pas une solution idéale pour plusieurs raisons, mais au moins cela les empêche de faire frire les systèmes de fichiers. Si rien d'autre, ils ne devraient pas toucher du tout à cette fichue chose si c'est votre travail de la faire fonctionner.
- Enfermez-le là où ils ne peuvent pas y accéder. Sérieusement, s'il s'agit d'un serveur stockant des données importantes, pourquoi n'est-ce pas déjà le cas ? Est-ce un système de développement et les développeurs ne savent tout simplement pas ce qu'ils font ou à quel point cela peut être dommageable ?? Si c'est le cas, encore une fois, enseignez-leur. Ce n'est pas votre travail de réparer les stupidités, c'est votre travail de prévenir les stupidités.
- Dites-leur de laisser tomber et de venir vous parler s'il y a des problèmes. 🙂
- Lo-tech, mais peut-être utile (bien qu'il y ait un risque d'incendie à coup sûr) :scotchez la merde aux deux extrémités du câble d'alimentation afin qu'ils passent 15 minutes à essayer de le détacher. Espérons qu'après cinq minutes et sur la couche 26 de bande, ils seront frustrés et feront ce qu'ils sont censés faire :vous parler pour résoudre le problème réel qui les motive à débrancher la prise en premier lieu.
Qu'y a-t-il dans cette machine qui la rend si instable qu'ils pensent qu'il est nécessaire de la redémarrer ?? C'est un système debian. Ils n'ont pas besoin de "redémarrages", alors qu'est-ce qui ne va pas avec ça ?? Sont-ils préoccupés par la consommation d'énergie ou y a-t-il des services cassés et instables que seul un redémarrage peut résoudre ? Si c'est ce dernier, alors votre question n'est pas pertinente et vous avez d'autres travaux à faire, désolé de le dire.
Si rien d'autre, vous pouvez approcher votre suggestion pour être bon et ne pas redémarrer en tirant sur le câble comme un exercice d'économie d'énergie. Voulez-vous vraiment vous lever de votre bureau pour tirer un câble d'alimentation plutôt que de simplement rester assis, vous connecter et le redémarrer sur la ligne de commande ?? Il faut environ 2 secondes de travail pour le faire de cette façon, au lieu de se lever, de grogner tout le temps jusqu'à l'appareil, de tirer le câble, de le rebrancher, d'attendre qu'il revienne cassé, puis de devoir attendez encore plus longtemps que /var soit fscké.
Le câble d'attente de /var pour le réparer prend beaucoup plus de temps, est beaucoup plus complexe à entretenir à long terme, causera toutes sortes de douleurs de votre part, vous a déjà motivé à poser les mauvaises questions , et vous mènera finalement au sommet d'un clocher avec une arme d'amour et un souhait de mort.
Réparez-le correctement, en réparant vos utilisateurs ou atténuez les dégâts en rendant extrêmement difficile pour eux d'accomplir des tâches stupides. Je ne peux pas être plus clair sur l'importance de cela.