Fiabilité d'un disque sata 3 branché en USB 3 sur rpi4b8 8GO

Bonjour à vous :wave:

Je possède un raspberry pi 4B 8GO. J’ai remplacé l’usage de la carte sd par un SSD en vue d’un projet NAS très simple (avec seulement samba, rien de plus). Pour le stockage j’ai un HDD 3TO seagate ST3000VN006 prévu pour NAS. Il fonctionne en sata 3, logé dans un boîtier USB 3 relié à un port USB 3 du rpi, branché sur le courant.

Avant de l’utiliser pour son usage familial (stockage de photos et vidéos essentiellement en provenance des téléphones), je l’ai testé avec badblocks et smartclt. Badblocks ne révèle rien sur 3 passes complètes en écriture, mais impossible de finaliser un test long avec smartclt, car au bout de qques minutes le test est avorté par l’USB.

Je me suis renseigné et il semble s’avérer que la connexion USB pourrait ne pas êtres très stable pour ce contexte de test, mais du coup je me demande si utiliser un HDD tel que je le souhaite est une bonne idée ou non ?

Auriez-vous des conseils sur le sujet ?

Utilise un Hub alimenté ou un « enlosure » de SSD avec une alimentation distinct. C’est que la crête d’alimentation du USB est limité sur un RPi, selon les versions et le chargeur utilisé, sa varie de 1.5A à 2.5A,

J’ai un RPi 0 v1 et j’ai créé un hub USB alimenté sur source externe. J’ai une stabilité plus forte, que d’utiliser un seul disque (SSD) en USB. La j’ai 4 disque HDD (non SSD) en USB 2.0 alimenté avec 2A sur 5V et j’ai beaucoup plus de fiabilité sur mon projet NAS.

Bref, le USB, même si en USB 3, ne fournit pas plus d’alimentation que du USB 2.0 sous RPi, et est limité par la capacité d’alimentation du RPi, du Chargeur et la bande passante en USB.

Test ton disque avec un PC qui offre une connection plus stable et fiable. Mais sans alimentation dédié, tu risque toujours d’avoir des problèmes si les USB sont fortement sollicité.

1 « J'aime »

Hello @levelKro ! Merci pour ta réponse. Mon boîtier USB est déjà branché sur le courant, indépendamment du rpi. « enlosure » je ne sais pas ce que c’est : tu peux décrire ?

Enclosure est le terme anglais pour parler d’un boitier pour disque dur, lecteur cd etc… qu’ont monte souvent nous même pour utiliser par exemple un SSD Sata 2.5" en USB.

Une recherche google t’aurais mis sur la piste :stuck_out_tongue:
Ton problème, faut vérifier avec un PC ou autre pour vraiment savoir si le problème est le RPi ou le SSD en USB.

Hello,

J’ai des SSD sur port USB 3.0 sur des pi4 2 4 8 Go sans alim externe qui tournent H24 sans aucun soucis, ma domotique sur home assistant en fait partie, donc en théorie c’est stable

Edit: correction ma domotique est sur un pi5, mais tout le reste de ma réponse est valide

cdt

Hello @L_FREETRONIC :wave: ! Merci pour ta réponse complémentaire à celle de @levelKro :+1:!

Pour l’heure je finis de vérifier mon disque : je l’ai branché récemment, aucune donnée dessus, je fais une nouvelle passe badblocks qui finit demain. Ensuite je mettrai en place samba et roulez jeunesse, go pour s’en servir comme NAS. Je vous dirai ce que ça donne en terme de fiabilité à l’usage.

N’ayant pas de tour à dispo je ne pourrai pas vérifier mon point d’origine comme tu le suggères @levelKro, on verra ça plus tard. Et oui google ou autre m’aurait aidé, j’en ai bien conscience, mais je trouve toujours ça mieux de causer avec un humain :wink:

1 « J'aime »

Ce test n’est pas utile, j’ai des disque dur qui date de 10ans, avec plusieurs secteur défectueux, et il ne les détecte jamais.

C’est un test inutile.

BADBLOCK: Sur les systèmes NTFS et EXT (2,3,4) (Système Linux), il y a une auto-correction, plus performante que le FAT (16/32/ex), car en fais, un BADBLOCK sera détecté et enregistré dans un registre en cas d’écriture et vérification de cette écriture, si le secteur est mauvais, il va l’ajouter dans le registre BADBLOCK et écrire ailleurs. Ce test retourne plus de résultat avec un disque physique (HDD), sur les mémoire, le test retourne jamais d’erreur. Pour un disque mémoire (FLash, SSD, etc…) il faut un test d’écriture et une vérification des données par la suite. L’outils pour faire ça c’est; https://h2testw.org/ (H2TestW) .

Le SMART, lui n’analyse rien pour les erreurs, il est gestionnaire et interprète les registre dans l’unité du disque concerné, c’est ce même disque qui sera en mesure de détecter si il a des problèmes. Il faut interpréter ces données avec un regard précis.

Reallocated Sector Ct : Lui est justement le nombre de fois qu’il a du déplacer une donnée du à un problème de secteur (BADBLOCK), un niveau élevé indique un problème avec le disque dur, habituellement à 0, ou moins de 100.

Reported Uncorrect : Emplacement d’une donnée dans un secteur qui ne devrais pas être, ou donnée absent d’un secteur ou il devrai être, signe d’une perte de donnée si cette valeur est plus que 0.

Current Pending Sector Nombre de secteur que l’unité tente de corriger, soit que le secteur a été mis en « BADBLOCK » et tente de récupérer la donnée du secteur. Si ce nombre est élevé, tu as beaucoup d’erreur de secteur qui seront signalé et rsique accru de perte de données.

ATA Error Count Nombre d’initialisation du disque sans aboutir à un fin propre, souvent un problème d’alimentation ou perte dd’alimentation en cours de démarrage (souvent avec les HDD, car le Spin Up prend 1~10s selon le HDD). Sans s’inquiété, si ce nombre augmente sans situation qui peut en généré (fermeture toujours propre, etc…) c’est un signe que le disque dur « plante » durant sont utilisation et « reboot ».

Selon les disques (fabriquant, model, etc…) le terme peut être varié, certains offre plus d’information, d’autres moins. Un unité USB et SD ont une capacité de lecture/écriture « garantie » de 1200, dans le cas d’un SSD c’est 10000, la vie d’un unité va dépendre de la fiabilité de l’alimentation, sont temps d’activité, le nombre de lecture/écriture et quelques autres facteurs. Un HDD peut durer 10 ans en usage 24/7, un SSD, c’est environ 5 ans, un carte SD 1 an. Mais ce temps de vie n’est pas une valeur fiable.

Par exemple, voici mon disque 160GB SATA 2 sur mon NAS qui gère le OS (il ne possède que de vieux HDD);
Power On Hours : 62528 heures (7ans et des poussières)
Reallocated Sector Ct : 0
Reported Uncorrect : 2
Current Pending Sector : 0
ATA Error Count : 2
Total LBAs Written : 2562738377
Total LBAs Read : 2845477452
Runtime Bad Block : 0 Cette valeur n’est pas fiable, car je sais que ce disque possède environ 1% du total en BADBLOCK

Et bien sur d’autres information. Le SMART donne rarement « l’heure juste », c’est plus un regard rapide sur l’état, seul les tests peuvent réellement donner un résultat. Les tests avec smartctl sont souvent des « Jobs » que tu lande dans le Firmware de l’unité, les tests sont une auto-évaluation, selon une grille de paramètre, différent d’un fabriquant, model, etc… à l’autre. Alors perso, je mis fis jamais. Seul des test avec de vrai outils donne des résultat.

Sur un test de surface, ce que le BADBLOCK que tu lance fait, me donne toujours 100% ok, même sur une clé USB qui ne sauvegarde pas les données vu sont age, ou les cartes SD chinois de 32GB qui sont en fait des 8GB (donc 24GB fictif), ce teste, comme dit plutot n’est réellement pas fiable.


Le plus sains pour un disque, est d’utiliser GParted ou Minitools Partition Wizard, de supprimer les partition, si il est en MBR, de refaire la table MBR et/ou de convertir en GPT (qui marche mieux sous Linux) et de recréer une partition dans le format désiré. Sous Windows, NE JAMAIS UTILISER L’OUTILS DE WINDOWS, LE "DISKMGMT.MSC car il prépare la partition pour un usage sous Windows et travail pas mal avec un « minimum », GParted ou miniTools PW eux font un vrai travail sur le disque et prépare les partitions selon une norme propre et fiable, qui marche entre MacOS, Linux et Windows sans erreurs (si le format de fichier est pris en charge). L’outils de Windows n’est pratique que pour définir une lettre (ou changer) lorsque le disque n,est pas visible dans le Poste de Travail.

NE JAMAIS FORMATER SOUS LINUX UN DISQUE EN NTFS, même si pris en charge, il n’est pas le format officiel de Microsoft (le pilote Linux), c’est une version « retro-ingénérie » et n’est pas optimal, certaines limitations existe sur la version Linux.

Plus de 2TO (1TO dans mon avis) il faut utiliser le GPT et nom le MBR, qui va avoir de la difficulté à gérer autant d’espace.