dudusse
Posts: 3
Joined: Sat Nov 04, 2017 3:26 pm

Veille disque dur

Sat Nov 04, 2017 3:39 pm

Hello,

J'ai soucis de corruption de FS lors de la mise en veille de mon disque dur USB.

Ma config :
- Raspberry pi 3, sous raspbian
- disque dur USB externe 3.5 pouces, avec son alimentation, modèle "Intenso Memory 4TB Center"

Le disque dur se met en veille automatiquement au bout de quelques minutes (je n'ai pas mesuré exactement le délai).
Problème : de temps en temps mon FS se retrouve ensuite corrompu. Je m'en aperçois car certains répertoires ne sont plus accessibles par exemple. Un simple fsck remet les choses dans l'ordre.
Pour contourner le problème, temporairement, j'ai ajouté une ligne dans ma crontab pour "toucher" un fichier toutes les minutes, de manière à éviter la mise en veille. Je n'ai alors plus jamais de soucis de corruption de FS. Par contre, le disque tourne 24/24...
Une autre façon de contourner le problème était de mounter le FS en mode "sync", mais les accès en écriture étaient devenus 50 fois plus lents !

Questions :
1) Savez-vous par quel mécanisme le disque dur se met en veille ? Est-ce que c'est l'OS ? Est-ce géré par le hard ?
2) Pourquoi ce problème arrive-t'il ? Serait-il possible que la mise en veille intervienne alors que l'OS n'a pas encore vidé son cache sur le disque ?
3) Savez-vous comment régler ce problème de manière propre ?

D'avance merci pour vos avis éclairés !

totoharibo
Posts: 3350
Joined: Thu Jan 24, 2013 8:43 am

Re: Veille disque dur

Sat Nov 04, 2017 9:20 pm

des infos sur ton DD par hdparm (paquet éponyme)

Utilisé il y a longtemps ça a du pas mal changer depuis.

La mise en veille peut venir du DD ou du noyau.

regarde sur ce forum : plein de fils dessus. (cf. la loupe en haut à droite)
viewtopic.php?t=190643

y a plein d'autres fils

epoch1970
Posts: 1118
Joined: Thu May 05, 2016 9:33 am

Re: Veille disque dur

Sat Nov 04, 2017 10:26 pm

Amha, pour les disques USB "récents", c'est le firmware du DD qui met en veille. Hdparm c'est plutôt un truc du temps d'avant.

Ce que tu décris ressemblerait à ce que j'ai vu sur des reboots avec un Pi fonctionnant exclusivement sur USB (pas de SD, pas d'alim séparée pour le disque): shutdown normal et à la fin, paf le courant se coupe un peu avant que le disque ait fini ses écritures. Résultat, système corrompu.
Dans ton cas le disque est alimenté en externe ? Il ne fait pas office de disque système (tu utilises une SD) ?
Il n'y a pas une mise à jour du firmware disponible pour le DD, ou bien des gens avec le même disque, un Pi et le même problème ?

Je ne pense vraiment pas qu'il faille en venir là, mais il est toujours possible de changer des paramètres du noyau pour que linux ait moins envie de remettre les écritures à plus tard. Ca serait mieux que de toucher un fichier.
Je pense que tu pourrais regarder ce que fait "laptop_mode" (manipuler /proc/sys/vm/dirty_writeback_centisecs et toute sa famille)... et faire l'inverse.
L'idée de laptop-mode c'est de faire un max de rétention en mémoire vive pour éviter les mises en rotation qui épuisent la batterie. Ca ne m'étonnerait pas trop que raspbian soit gréé comme ça aussi, vu la carte SD.
"S'il n'y a pas de solution, c'est qu'il n'y a pas de problème." Les Shadoks, J. Rouxel

jeanluc
Posts: 243
Joined: Thu Apr 11, 2013 9:44 am

Re: Veille disque dur

Sun Nov 05, 2017 9:14 pm

Bonsoir;

Il y en a qui conseillent pour une partition système (rootfs) sur la sd avec un système de fichier en f2fs plutôt que du extx :

https://korben.info/f2fs-systeme-de-fic ... aller.html

Car je présume que le système (rootfs) est toujours sur ta carte sd ? car il y en a qui délocalisent cette partition sur le disque dur externe aussi.
Et tes corruptions fs sont sur la partition système je présume ?

Pourrais tu préciser..

A+

dudusse
Posts: 3
Joined: Sat Nov 04, 2017 3:26 pm

Re: Veille disque dur

Sun Nov 05, 2017 9:48 pm

Bonsoir,

Mon système tourne sur la SD.
C’est le FS du DD usb qui est corrompu, bien sûr :)

J’essaierai le paramétrage sous /sys/blocks (a vrai dire j’etais déjà sur cette piste)

A+

jeanluc
Posts: 243
Joined: Thu Apr 11, 2013 9:44 am

Re: Veille disque dur

Mon Nov 06, 2017 7:34 pm

Bonsoir,

As tu essayé de faire un test "smartctl" sur ton disque externe, car même neuf, celui ci peut avoir des erreurs, tel un de mes disques:

Code: Select all

root@debian141:~#  smartctl -a /dev/sdc|egrep 'Serial|Error|Unco|result|Reallocated'
Serial Number:    Y3FVTAMXT
SMART overall-health self-assessment test result: PASSED
Warning: This result is based on an Attribute check.
Error logging capability:        (0x01) Error logging supported.
                                        SCT Error Recovery Control supported.
  1 Raw_Read_Error_Rate     0x000b   100   100   050    Pre-fail  Always       -       0
  5 Reallocated_Sector_Ct   0x0033   100   100   050    Pre-fail  Always       -       0
  7 Seek_Error_Rate         0x000b   100   100   050    Pre-fail  Always       -       0
191 G-Sense_Error_Rate      0x0032   100   100   000    Old_age   Always       -       1
196 Reallocated_Event_Count 0x0032   100   100   000    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0030   100   100   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x0032   200   253   000    Old_age   Always       -       5
SMART Error Log Version: 1
ATA Error Count: 5
        ER = Error register [HEX]
Error 5 occurred at disk power-on lifetime: 5838 hours (243 days + 6 hours)
  84 51 05 03 08 04 40  Error: ICRC, ABRT 5 sectors at LBA = 0x00040803 = 264195
Error 4 occurred at disk power-on lifetime: 5838 hours (243 days + 6 hours)
  84 51 00 01 00 00 00  Error: ICRC, ABRT at LBA = 0x00000001 = 1
Error 3 occurred at disk power-on lifetime: 5838 hours (243 days + 6 hours)
  84 51 00 01 00 00 00  Error: ICRC, ABRT at LBA = 0x00000001 = 1
Error 2 occurred at disk power-on lifetime: 5838 hours (243 days + 6 hours)
  84 51 00 01 00 00 00  Error: ICRC, ABRT at LBA = 0x00000001 = 1
Error 1 occurred at disk power-on lifetime: 5838 hours (243 days + 6 hours)
  84 51 00 01 00 00 00  Error: ICRC, ABRT at LBA = 0x00000001 = 1
root@debian141:~#

Ce disque est un toshiba de 1To en 2.5" externe que j'alimente via un hub usb; et comme on peut le voir, il n'a pas beaucoup d'heures de fonctionnement (243 jours); mais je l'avais depuis pas mal d'années et m'en était jamais servi auparavant, sinon j'aurais fait fonctionner la garantie, mais hélas !!!

Depuis, je préfères m'acheter un vrai disque interne de 3.5" adapté a un usage NAS de ce type:

https://www.amazon.fr/Western-Digital-W ... ur+interne

Que je mets dans un boitier assez aéré (même si plus bruyant), livré avec une alimentation 12v, de ce type:

https://www.amazon.fr/Icy-Box-IB-351StU ... ds=icy+box

C'est mieux qu'un DD externe tout fait, et indémontable et qui ne respire pas....

A+++

dudusse
Posts: 3
Joined: Sat Nov 04, 2017 3:26 pm

Re: Veille disque dur

Mon Nov 06, 2017 8:37 pm

Bonsoir,

Le problème survenait quotidiennement quand le disque se mettait en veille.
Depuis un mois, depuis que le disque tourne H24, le problème ne réapparaît plus.
J'ai fait le test de réactiver la veille, le problème est immédiatement réapparu.
Je pense donc, en toute logique, que le problème est lié à la veille.

Excellente soirée à tous

jeanluc
Posts: 243
Joined: Thu Apr 11, 2013 9:44 am

Re: Veille disque dur

Tue Nov 07, 2017 9:26 am

Salut,

Passe néanmoins cette commande dans ta console en modifiant sdX par l'attribution faite a ton disque externe (sda, sdb,..) :

Code: Select all

smartctl -a /dev/sdX|egrep 'Serial|Error|Unco|result|Reallocated'

ça ne te coûte rien, à part te réconforter sur le fait qu ton DD soit sain de ce côté; comme dit précédemment, il arrive que des neufs aient des erreurs à l'origine, et pourquoi pas des erreurs qui en provoqueraient d'autres (fs) lors d'une mise en veille justement !!!

En informatique, il ne faut jamais rester trop fixé sur une idée (une erreur ignorée peut très bien en créer une dont on s'aperçoit); car un DD est prévu de toute façon pour admettre la veille (soit par hdparm ou le firmware embarqué); mais ce n'est pas pour celà que ça doit créer des erreurs !!! donc faut fouiller, tester,...

A++

Return to “Français”

Who is online

Users browsing this forum: No registered users and 13 guests