Journal : Interrogation à propos d'une carte compact flash
Posté par ahuillet (page perso, ) le 14 mars 2008
Bonjour,
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 :
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 :)
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 :)
> Lire le journal (21 commentaires, moyenne: 2,2).
Vous avez demandé le commentaire #913815.



To wear or not to wear level ?
Puisqu'il y a l'air d'avoir des spécialistes ici, j'aimerais savoir si quelqu'un a une réponse claire a mes questions :
- 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 ?
Moi je te propose une réponse très simple : on s'en fiche du FS. C'est pas le problème.
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 ?
Oui c'est une possibillité, mais pour un usage "desktop" c'est moyen : le seul truc qui fait du bruit dans mon ibook (sous debian, donc la bidouille est faisable), c'est le disque dur. Le remplacer par une grosse flash serait bien, mais les pb d'usure font que je me pose des questions...
[^]Re: To wear or not to wear level ?
c'est que jffs2 met un temps pas possible a monter les "grosses" cartes
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 ?
Il faut essayer squashfs2 c'est hyper rapide comme système.
[^]Re: To wear or not to wear level ?
J'ai regardé vite fait, il semble être prévu pour des FS en lecture seule, j'ai raté l'écriture quelque part ?
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.
(pub: Livres à prix réduit sur http://www.sollire.com/ - la boutique de mes petites soeurs)
[^]Re: To wear or not to wear level ?
oui, c'est du read only. Si tu veux du write, tu peux toujours faire un unionfs :)
[^]Re: To wear or not to wear level ?
... unionfs qui devra bien écrire sur une partition d'un certain type, comme jffs/logfs. Je ne vois pas en quoi ca change le probleme .... ?!
[^]Re: To wear or not to wear level ?
La taille de ce qui est inscriptible est bien plus petit.
[^]Re: To wear or not to wear level ?
Oui en général, mais ça dépend de l'utilisation : ça ne va pas pour se faire un /home en flash ...