Forum Linux.général Interruption fsck root filesystem

Posté par .
Tags : aucun
3
10
juin
2011

Bonjour,

Avant toute chose : je suis sur debian squeeze, tenue à jour.

Une question simple, souvent posée sur internet, mais à laquelle je n'ai pu trouver aucune réponse satisfaisante à ce jour.

Au boot, la vérification d'un filesystem par fsck peut-être interrompue par un Ctrl-C sans aucun problème. C'est très pratique lorsqu'on boot son portable pour faire une présentation devant des gens, par exemple.

Le problème, c'est quand la partition en train d'être vérifiée est la partition root. Alors le filesystem est laissé en mode lecture seule après l'interruption, ce qui empêche la machine de démarrer correctement, et m'oblige à faire un hard reset.

D'après ce que j'ai pu lire, ceci n'est manifestement pas considéré comme un bug par Debian, et je ne comprend pas pourquoi. Pourquoi l'interruption ne serait-elle pas possible pour le root fs ? Même en admettant qu'il y ait une raison valable à cela, la moindre des choses serait-alors de faire en sorte que le script ignore le Ctrl-C.

Eclaircissements bienvenus (mais toute réponse à base de "c'est pas bien de bypasser fsck" se verra balayée par mon plus viril mépris ;-) ) ...

Question subsidiaire : si je dois ouvrir un bug report, sur quel paquet me suggérez-vous de le faire ? A priori c'est un des scripts d'initialisation qui est en cause, mais je ne sais pas trop lequel (checkroot.sh ? init ? ...)

Bonne soirée à tous
Pierre

  • # partition importante

    Posté par . Évalué à 2.

    la partition ROOT (/) est une partition importante sans laquelle rien ne peut fonctionner.

    si elle n'est pas clean, cela me semble risqué d'aller ecrire de nouvelles infos dedans.
    donc soit tu fais un check, soit tu l'ouvres en lecture seule pour ne pas corrompre les infos qu'il y a dedans.

    ca me semble donc etre une bonne pratique que celle de debian.

    maintenant tu dois pouvoir changer ca dans les options du fstab (les chiffres à la fin de la ligne)

    • [^] # Re: partition importante

      Posté par . Évalué à 1.

      Rahhh, je vous avais prévenu que je voulais pas de réponse de froussard ! :-)

      la partition ROOT (/) est une partition importante sans laquelle rien ne peut fonctionner

      En même, temps, il peut aussi y avoir des informations essentielles sur d'autres partitions :D

      si elle n'est pas clean, cela me semble risqué d'aller ecrire de nouvelles infos dedans.

      Ce n'est pas parce que fsck se lance (ni même parce que je l'ai interrompu ; c'est très bien supporté par le checker depuis plusieurs années déjà, en tout cas pour l'ext3) que la partition n'est pas clean. Ca veut juste dire que j'ai mounté mon fs un certain nombre de fois.

      De toute façon, même si c'était mal de faire ça (mais, encore une fois, ce n'est pas le cas), il y a des cas (une présentation importante à faire immédiatement, par exemple) ou on a un peu envie d'oublier les bonnes pratiques.

      Et, encore une fois, même si c'était volontaire de la part de Debian, pourquoi ne pas ignorer le SIGINT plutôt que d'interrompre le check, puis d'échouer lamentablement dans le boot quelques minutes plus tard, parce que le filesystem a été laissé en read-only.

      maintenant tu dois pouvoir changer ca dans les options du fstab (les chiffres à la fin de la ligne)

      Effectivement, j'avais regardé de ce côté là. Mais je n'ai rien trouvé de très satisfaisant. Je peux désactiver le fsck de manière permanente, mais ce n'est pas ce que je veux faire. Je voudrais juste pouvoir l'annuler sur le moment quand vraiment je suis à la bourre, et que mon PC continue à démarrer normalement.

      Merci pour ta réponse,

      Bonne soirée

  • # /etc/fstab

    Posté par . Évalué à 1.

    Et si tu change le paramètre de fstab de 1 a 2? (ie. traiter / comme les autres), et en retirant l’éventuelle "errors=remount-ro", ça te remet toujours le même comportement?

    • [^] # Re: /etc/fstab

      Posté par . Évalué à 1.

      [...] paramètre "pass" de 1 a 2) [...]

  • # Et sinon...

    Posté par (page perso) . Évalué à 2.

    Cela ne répond pas directement à la question, mais les options -c et -i de tune2fs(8) permettent de désactiver ces vérifications automatiques (cependant, cela peut laisser inapercues des corruptions et conduire à des pertes de données).

    # tune2fs -c 0 -i 0 /dev/sdaX

  • # Avant le boot

    Posté par . Évalué à 2.

    Lors du boot, on spécifie dans les options du kernel que l'on veut la racine en 'ro', read-only.

    Voici une piste à creuser (passe devant, je regarde):

    • Booter avec l'option rw
    • Éventuellement modifier le script de démarrage pour ne pas planter lors du fsck si la racine est en rw mais sauter le fsck et insulter copieusement l'utilisateur.

    Il faut alors ajouter une entrée dans grub et c'est réglé.

    Personnellement, ce que je regrette, c'est que le fsck ne se fasse pas à l'extinction. Lorsqu'il ne reste plus qu'un ou deux montage ou quelques jours avant le fsck, alors le forcer lors de l'extinction. Le Ctrl-C permettant d'abandonner.
    Hélas, je n'ai jamais pris le temps de l'implémenter.

    Ah, et puis je n'éteins quasiment jamais les machines. Elles passent très bien en veille, le démarrage est beaucoup plus rapide, et je les reboote tous les quelques mois pour upgrade du kernel.

  • # A essayer ...

    Posté par . Évalué à 0.

    Merci à tous pour vos réponses.

    @maxix

    Oui ce paramètre m'intrigue, mais je n'ai pas encore osé le modifier. Quelqu'un sait il si il y a une raison particulière au fait que root soit vérifié en premier ? Que va-t-il se passer si à cause d'une modification sur le "pass" de fstab, le filesystem root est checké après avoir été monté ? Faudrait que je me grave un livecd et puis que j'essaye. Je posterai les résultats ici.

    @Sebastien

    Éventuellement modifier le script de démarrage

    Ca je dois avouer que ça me botte pas trop (courageux mais pas téméraire, hein ...)

    je n'éteins quasiment jamais les machines

    C'est vrai que c'est une solution qui se défend bien. Dans mon cas c'est un peu pénible, parce que j'utilise synergy de manière intensive, et qu'il supporte mal la sortie de veille.

    A bientôt,

    Pierre

  • # XFS

    Posté par . Évalué à 1.

    Racine au format XFS, pas besoin de fsck.

    $ man fsck.xfs

    do nothing successfully

    • [^] # Re: XFS

      Posté par (page perso) . Évalué à 3.

      Avec Ext4 il y a des fsk périodiques mais ils sont beaucoup plus rapides qu'avec Ext3.
      De manière générale je ne vois plus trop l'intérêt d'utiliser Ext3. Certes Squeeze l'utilise encore par défaut mais c'est tellement simple de spécifier qu'on veut du Ext4 lors de l'install que c'est presque criminel de ne pas le faire ;-)

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.