• [^] # Re: Enfin journalisé !

    Posté par . En réponse à la dépêche Les noyaux Linux nouveaux sont parmi nous. Évalué à 1.

    > Ils ont fumé chez RedHat ?

    Tu crois que RedHat va dire du "mal" ext3 pour se faire plaisir?
    C'est comme si Microsoft annoncais des bugs dans Windows qui n'existent pas.

    > Tout le principe des fichiers journalisés repose ...
    > ...

    Globalement, tout ce que tu dis est juste ! C'est le même principe de transaction que les bases de données qui est atonique :-> .

    Tu parles de coupure de courant sur les disques dures. Hors RedHat parle de coupure de courant sur la carte mère. Dans ce cas, la mémoire vive peut être corrompue alors que l'os envois la demande d'écrire (les données peuvent également être corrompu au niveau du controleur IDE). Les disques font correctement leur travail mais écrivent des données corrompues. Bien sure, si les disques dures tombent avant la carte-mère il n'y a pas de problème.

    Il faut bien noté que c'est un problème de hardware auquel Linux (ou windows ou Solaris ou ...) ne peut rien !

    Imaginons une solution (je ne connais rien à l'électronique).
    Sur coupure de courant une capa permet à ma CM de tourner encore 1 seconde.
    Un système en amont de la carte mère controle l'arrivé du courant.
    S'il détecte un problème sur l'arrivé du courant :
    - 0,5 secondes après, fait un reset hard (d'après RedHat ext3 le supporte) si alimentation non stable.
    - 0,9 secondes après, arrêt de la carte mère jusqu'au retour d'une alimentation stable.

    Enfin, l'autre problème soulevé par RedHat est que les disques IDE peuvent réorganiser l'ordre d'écriture. Ceci afin de limiter les déplacements du bras du disque dure. l'OS dans ce cas ne peut rien. L'os ne connait pas la géométrie du disque : en effet sur les disques moderne, les informations de géométrie retournées ne correspondent pas toujours à l'organisation réelle. Donc l'os ne peut limiter les déplacements de bras aussi finement que peut le faire le controleur du disque qui lui connait la géométrie réelle du disque. Ne parlons même pas des cartes raid qui font croire à l'os qu'il n'y a qu'un disque dur alors qu'il y en a plusieurs...
    Par contre SCSI garanti l'ordre d'écriture et fait l'impasse sur l'optimisation des déplacements des bras.
    Avec SCSI :
    - l'OS demande :
    ---- écriture donnée
    ---- validation donnée
    - le disque SCSI fait :
    ---- écriture donnée
    ---- validation donnée (atonique)

    Avec IDE :
    - l'OS demande :
    ---- écriture donnée
    ---- validation donnée
    - le disque IDE PEUT FAIRE :
    ---- validation donnée (atonque)
    ---- écriture donnée. S'il y a coupure de courant avant écriture des données tu as un journal qui indique des données validées alors qu'elles n'ont pas été écrites !