j'ai observé récemment un comportement bizarre d'une carte compact flash et j'hésite à la déclarer hors service.
Ma soekris net4801 a depuis deux ans une carte 128Mo avec un système en cramfs. Récemment j'en ai eu marre de pas pouvoir écrire / (cramfs est lecture seule), et j'ai acheté une carte 4Go, pour y stocker le système en ext3 et éventuellement mes données personnelles (mails notamment).
Bref, j'ai donc partitionné cette carte, transféré le système dessus, fait quelques mises à jour... et testé.
Le système a été transféré via cp -a, c'est un système qui marche, donc les problèmes que je décris plus bas ne sont pas software.
Premier problème, le prompt ne m'affichait pas dans quel répertoire je me trouvais, pwd non plus :
root@Alia:# cd /usr/include/
root@Alia:# pwd
root@Alia:#
C'est déjà très inquiétant me direz-vous... après deux heures d'utilisation, la soekris se bloque complètement avec la LED "disk" allumée, je redémarre, la carte est illisible (kernel panic parce que la partition / ne ressemble plus à rien).
Cette fois-ci donc je re-fais mke2fs avec un test complet lecture/écriture, et aucun problème n'est trouvé, je transfère donc le système à nouveau.
Le problème de pwd est réglé. Mais ssh segfaulte dès que j'essaie de m'en servir.
Je réinstalle OpenSSH, ca remarche. Et deux heures plus tard plusieurs fichiers dans /lib deviennent totalement illisibles.
Quelques-uns de mes messages d'erreur si quelqu'un arrive à y comprendre quelque chose :
EXT2-fs error (device hda3): ext2_new_block: Allocating block in system zone - block = 212993
/usr/bin/perl5.8.8: error while loading shared libraries: libcrypt.so.1: cannot open shared object file: Input/output error
EXT2-fs error (device hda3): ext2_check_page: bad entry in directory #24281: unaligned directory entry - offset=0, inode=786432, rec_len=513, name_len=46
Bref, ma grande question est, "est-ce que ma carte est morte" ? J'ai envie de dire oui mais elle est neuve et *parfaitement* lisible pendant une à trois heures, et je trouve ca assez bizarre.
Merci de votre aide :)
# cp ?
Posté par Nicolas Boulay (site web personnel) . Évalué à 5.
Si ta soekris est vieille il est possible que son bios influe sur la façon de gérer les nouvelles cartes très rapides par rapport aux anciennes. J'ai eu 2 soekris 4801 qui avait des réactions ultra bizarres sur le réseau dont les problèmes ont été réglé avec un update du bios.
"La première sécurité est la liberté"
[^] # Re: cp ?
Posté par ahuillet (site web personnel) . Évalué à 1.
(pour le cp tout est ok)
merci pour ta suggestion, je viens de mettre à jour le BIOS. Vu le temps que j'y ai passé je suis pas motivé pour refaire un essai tout de suite, mais bon, on verra bien.
En fait mon problème c'est que je sais pas si une carte compact flash _neuve_ peut avoir ces symptômes là, et j'ai du mal à comprendre ce qu'il se passe de toute facon... mais bon j'étais en 1.28 je suis passé en 1.33 et il y a quelques lignes relatives aux trucs flash. Je vais fouiller la ML.
http://www.soekris.com/software/changelog.txt
[^] # Re: cp ?
Posté par Nicolas Boulay (site web personnel) . Évalué à 2.
Sois le bios corrige le tout, sois il faut jouer avec hdparm.
"La première sécurité est la liberté"
[^] # Re: cp ?
Posté par ahuillet (site web personnel) . Évalué à 1.
http://lists.soekris.com/pipermail/soekris-tech/2006-October(...)
Seulement... hdparm -d /dev/hda renvoyait 0.
Je ne sais pas si cela diffère de ide=nodma, je vais essayer ca. (Je suis entrain de reformater la carte avec vérification des badblocks. Pour la quatrième fois en deux jours. Grrr.)
Sinon j'ai un numéro de retour pour la carte mais je n'ai pas l'impression qu'elle soit défectueuse... une idée de comment je pourrais tester autrement que mke2fs -cc ?
[^] # Re: cp ?
Posté par Nicolas Boulay (site web personnel) . Évalué à 2.
"La première sécurité est la liberté"
[^] # Re: cp ?
Posté par totof2000 . Évalué à 1.
# chaleur
Posté par jemore . Évalué à 2.
Si tu stressais ton HD avec bcp de lectures/ecritures, peut être que la mémoire du HD a trop chauffée.
# Quelques pistes
Posté par Sébastien Koechlin . Évalué à 4.
-1- La carte ne supporte pas correctement le mode de fonctionnement imposé par le contrôleur IDE. C'est très souvent le cas pour les vieilles cartes Compact Flash que j'ai vu (Je n'ai jamais utilisé une carte moderne).
La norme ATA est implémentée de façon un peu légère; et bien que la carte annonce supporter certains mode; dans la réalité, ça se traduit par des erreurs, et parfois par des pertes de données. Le DMA est particulièrement sensible; mais même en ayant tout désactivé, j'ai encore des erreurs sans gravité sur certaines cartes.
-2- La carte a des problèmes. Un défaut de fabrication fait qu'une partie des secteurs ne fonctionne pas. Ce problème est difficile à diagnostiquer parce que:
- Les cartes CF ne supportent quasiment jamais SMART.
- La carte possède en réalité plus de secteurs que le nombre annoncé et fait en permanence du remappage pour distribuer les écritures; donc un secteur qui était défectueux et illisible redevient correct lors d'une ré-écriture.
-3- Le contrôleur a un bug qui se déclenche maintenant avec la nouvelle carte, je vois plus haut que le flashage du BIOS a déjà été envisagé.
Une remarque maintenant. Sur les systèmes à mémoire statique qui ne supportent pas un trop grand nombre d'écriture, on évite généralement d'utiliser un système de fichier journalisé, et on monte les FS en mode noatime pour réduire encore les écritures. Dans un système journalisé, on touche en permanence au journal sur le disque; conduisant à un grand nombre d'écritures.
Comme dit plus haut, la carte a plus de secteurs que le nombre annoncé et déplace continuellement les blocs lors des écritures pour répartir les écritures sur un maximum de secteurs; mais ça ne fait que retarder le problème
- cette répartition a des limites, surtout si le système de fichier est bien plein.
- la détection et le banissement des cellules effectivement mortes n'est pas forcément optimal; ou fait correctement.
- vu les marges sur ces produits, j'imagine qu'il y a des fabricants de mémoire qui n'hésitent pas à supprimer ce mécanisme ou à le réduire a sa plus simple expression.
[^] # Re: Quelques pistes
Posté par ahuillet (site web personnel) . Évalué à 1.
Oui, je dis ext3 mais c'est évidemment du ext2, qui est évidemment monté en noatime :)
/ sera monté en lecture seule de toute facon, sauf lorsque j'ai une mise à jour à faire.
(Avec cramfs j'étais obligé de sortir la carte, mettre à jour dans un chroot, recréer l'image et flasher.)
Merci pour tes suggestions, j'espère que ide=nodma et le nouveau BIOS vont régler ça.... réponse dans quelques heures !
# Limiter les cycles d'écritures
Posté par GG (site web personnel) . Évalué à 3.
Tu peux chercher les sujets liés à l'Asus EEE par exemple.
A bientôt
Grégoire
Pourquoi bloquer la publicité et les traqueurs : https://greboca.com/Pourquoi-bloquer-la-publicite-et-les-traqueurs.html
# To wear or not to wear level ?
Posté par benoar . Évalué à 3.
- Effectivement, les mémoires "flash" en général s'usent tres vite quand on écrit toujours au meme endroit
- MAIS, certains types de cartes implémentent du "wear leveling" en hard (genre les SD, il me semble)
- MAIS, ce n'est jamais indiqué clairement : par exemple, qu'en est-il des CF ? Et des autres ?
- Enfin, les cartes faisant du wear leveling en hard devraient donc pouvoir gérer facilement les FS pas faits pour. Or, vu le nombre de SD que j'ai vu foirer apres tres peu de temps, qui étaient, comme d'habitude, formattées en FAT32, ca me parait louche.
Bref, toutes ces histoires font qu'on ne sait jamais quoi faire, c.a.d. quel FS mettre dessus, et quelle utilisation avoir.
L'autre probleme, lorsqu'on souhaite utiliser un FS fait pour la Flash (en dehors du fait que généralement elles sont présentées sous forme de périph block, et qu'ils faut bidouiller par 2 modules mtd différents qui va la faire repasser en char, puis encore en block ...), c'est que jffs2 met un temps pas possible a monter les "grosses" cartes, alors qu'aujourd'hui ce qui est intéressant c'est justement d'avoir 4Go en Flash pour pas trop d'euros. Et que logfs n'est toujours pas sorti en stable ...
[^] # Re: To wear or not to wear level ?
Posté par ahuillet (site web personnel) . Évalué à 2.
Ta partition / n'a absolument pas besoin d'être accessible en écriture, tu mets /var et /tmp dans un tmpfs, et tout marche. C'est ce que j'ai depuis deux ans sur ma soekris (avec une carte en cramfs parce qu'elle était trop petite pour stocker le système).
Ben évidemment si c'est pour autre chose qu'un système Linux, du genre stocker des données qui changent souvent, ma réponse n'aide pas :)
[^] # Re: To wear or not to wear level ?
Posté par benoar . Évalué à 2.
[^] # Re: To wear or not to wear level ?
Posté par M . Évalué à 3.
Et il te bouffe plein de RAM.
Et que logfs n'est toujours pas sorti en stable ...
Y a aussi ubifs a surveiller
[^] # Re: To wear or not to wear level ?
Posté par Nicolas Boulay (site web personnel) . Évalué à 2.
"La première sécurité est la liberté"
[^] # Re: To wear or not to wear level ?
Posté par lolop (site web personnel) . Évalué à 2.
Il semble en effet très rapide dans ce pour quoi il a été conçu
http://tree.celinuxforum.org/CelfPubWiki/SquashFsComparisons
Et il en est à la version 2.3.
Votez les 30 juin et 7 juillet, en connaissance de cause. http://www.pointal.net/VotesDeputesRN
[^] # Re: To wear or not to wear level ?
Posté par Nicolas Boulay (site web personnel) . Évalué à 2.
"La première sécurité est la liberté"
[^] # Re: To wear or not to wear level ?
Posté par benoar . Évalué à 2.
[^] # Re: To wear or not to wear level ?
Posté par Nicolas Boulay (site web personnel) . Évalué à 2.
"La première sécurité est la liberté"
[^] # Re: To wear or not to wear level ?
Posté par benoar . Évalué à 2.
# La solution...
Posté par ahuillet (site web personnel) . Évalué à 2.
J'ai mis à jour le bios de la soekris (voir plus haut), et démarré le noyau avec ide=nodma, et tout semble OK. Je ne suis pas encore certain à 100% (après tout la dernière fois il a fallu 6 heures pour que ca casse), mais je n'ai aucun message bizarre donc j'ai bon espoir.
Merci à ceux qui m'ont aidé.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.