Erreurs de somme de contrôle ZFS, quand dois-je remplacer le lecteur?

9

Je suis assez nouveau sur ZFS et j'ai une configuration de pool de stockage en miroir simple avec 8 lecteurs. Après quelques semaines de fonctionnement, un lecteur semblait générer beaucoup d'erreurs, je l'ai donc remplacé.

Quelques semaines de plus passent et maintenant je vois de petites erreurs se zpool statusproduire tout autour de la piscine (voir la sortie ci-dessous). Devrais-je être inquiet à ce sujet? Comment puis-je déterminer si l'erreur indique que le lecteur doit être remplacé?

# zpool status
  pool: storage
 state: ONLINE
status: One or more devices has experienced an unrecoverable error.  An
        attempt was made to correct the error.  Applications are unaffected.
action: Determine if the device needs to be replaced, and clear the errors
        using 'zpool clear' or replace the device with 'zpool replace'.
   see: http://zfsonlinux.org/msg/ZFS-8000-9P
  scan: scrub repaired 22.5K in 1h18m with 0 errors on Sun Jul 10 03:18:42 2016
config:

        NAME        STATE     READ WRITE CKSUM
        storage     ONLINE       0     0     0
          mirror-0  ONLINE       0     0     0
            enc-a   ONLINE       0     0     2
            enc-b   ONLINE       0     0     0
          mirror-1  ONLINE       0     0     0
            enc-c   ONLINE       0     0     0
            enc-d   ONLINE       0     0     2
          mirror-2  ONLINE       0     0     0
            enc-e   ONLINE       0     0     2
            enc-f   ONLINE       0     0     1
          mirror-3  ONLINE       0     0     0
            enc-g   ONLINE       0     0     0
            enc-h   ONLINE       0     0     3

errors: No known data errors

ZFS me dit utilement de "Déterminer si le périphérique doit être remplacé ..." mais je ne sais pas comment faire. J'ai lu l'article référencé qui était utile mais pas vraiment concluant.

J'ai regardé les résultats des tests SMART pour les disques affectés, et rien ne m'a sauté aux yeux (tous les tests ont été effectués sans erreur), mais je peux également publier les données SMART si cela pouvait être utile.

Mise à jour: Lors de la préparation du redémarrage dans Memtest86 +, j'ai remarqué beaucoup d'erreurs sur la console. Je me connecte normalement, donc je ne les ai pas vus auparavant. Je ne sais pas quel journal j'aurais dû vérifier, mais tout l'écran était rempli d'erreurs qui ressemblent à ceci (pas ma ligne d'erreur exacte, je viens de le copier à partir d'un autre forum):

blk_update_request: I/0 error, dev sda, sector 220473440

De la part de Google, il semble que cette erreur puisse être le signe d'un mauvais disque, mais il est difficile pour moi de croire qu'ils échouent tous à la fois comme ça. Réflexions sur où aller d'ici?

Mise à jour 2: je suis tombé sur ce problème ZOL qui semble être lié à mon problème. Comme l'OP là-bas, j'utilise hdparm pour faire tourner mes disques et je vois des erreurs et des blk_update_requesterreurs de somme de contrôle ZFS similaires . Ma machine exécute toujours Memtest, donc je ne peux pas vérifier mon noyau ou la version ZFS pour le moment, mais cela semble au moins une possibilité. J'ai également vu cette question similaire qui est plutôt décourageante. Quelqu'un connaît-il des problèmes avec ZFS et la rotation des disques?

Mise à jour 3: un firmware et une version de pilote incompatibles sur le contrôleur LSI peuvent-ils provoquer des erreurs comme celle-ci? Il semble que j'utilise une version de pilote de 20.100.00.00 et une version de micrologiciel de 17.00.01.00. Vaut-il la peine d'essayer de flasher le firmware mis à jour sur la carte?

# modinfo mpt2sas
filename:       /lib/modules/3.10.0-327.22.2.el7.x86_64/kernel/drivers/scsi/mpt2sas/mpt2sas.ko
version:        20.100.00.00
license:        GPL
description:    LSI MPT Fusion SAS 2.0 Device Driver
author:         Avago Technologies <[email protected]>
rhelversion:    7.2
srcversion:     FED1C003B865449804E59F5

# sas2flash -listall
LSI Corporation SAS2 Flash Utility
Version 20.00.00.00 (2014.09.18) 
Copyright (c) 2008-2014 LSI Corporation. All rights reserved 

    Adapter Selected is a LSI SAS: SAS2308_2(D1) 

Num   Ctlr            FW Ver        NVDATA        x86-BIOS         PCI Addr
----------------------------------------------------------------------------

0  SAS2308_2(D1)   17.00.01.00    11.00.00.05    07.33.00.00     00:04:00:00

Mise à jour 4: correction de quelques erreurs supplémentaires dans la dmesgsortie. Je ne sais pas ce qui les a déclenchés, mais je les ai remarqués après avoir démonté tous les disques de la baie en vue de la mise à jour du micrologiciel du contrôleur LSI. J'attendrai un peu pour voir si la mise à jour du firmware a résolu le problème, mais voici les erreurs en attendant. Je ne sais pas vraiment ce qu'ils signifient.

[87181.144130] sd 0:0:2:0: [sdc] FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK
[87181.144142] sd 0:0:2:0: [sdc] CDB: Write(10) 2a 00 35 04 1c d1 00 00 01 00
[87181.144148] blk_update_request: I/O error, dev sdc, sector 889461969
[87181.144255] sd 0:0:3:0: [sdd] FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK
[87181.144259] sd 0:0:3:0: [sdd] CDB: Write(10) 2a 00 35 04 1c d1 00 00 01 00
[87181.144263] blk_update_request: I/O error, dev sdd, sector 889461969
[87181.144371] sd 0:0:4:0: [sde] FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK
[87181.144375] sd 0:0:4:0: [sde] CDB: Write(10) 2a 00 37 03 87 30 00 00 08 00
[87181.144379] blk_update_request: I/O error, dev sde, sector 922978096
[87181.144493] sd 0:0:5:0: [sdf] FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK
[87181.144500] sd 0:0:5:0: [sdf] CDB: Write(10) 2a 00 37 03 87 30 00 00 08 00
[87181.144505] blk_update_request: I/O error, dev sdf, sector 922978096
[87191.960052] sd 0:0:6:0: [sdg] FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK
[87191.960063] sd 0:0:6:0: [sdg] CDB: Write(10) 2a 00 36 04 18 5c 00 00 01 00
[87191.960068] blk_update_request: I/O error, dev sdg, sector 906238044
[87191.960158] sd 0:0:7:0: [sdh] FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK
[87191.960162] sd 0:0:7:0: [sdh] CDB: Write(10) 2a 00 36 04 18 5c 00 00 01 00
[87191.960179] blk_update_request: I/O error, dev sdh, sector 906238044
[87195.864565] sd 0:0:0:0: [sda] FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK
[87195.864578] sd 0:0:0:0: [sda] CDB: Write(10) 2a 00 37 03 7c 68 00 00 20 00
[87195.864584] blk_update_request: I/O error, dev sda, sector 922975336
[87198.770065] sd 0:0:1:0: [sdb] FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK
[87198.770078] sd 0:0:1:0: [sdb] CDB: Write(10) 2a 00 37 03 7c 88 00 00 20 00
[87198.770084] blk_update_request: I/O error, dev sdb, sector 922975368

Mise à jour 5: J'ai mis à jour le micrologiciel du contrôleur LSI, mais après avoir effacé les erreurs ZFS et nettoyé, je constate le même comportement (erreurs de somme de contrôle mineures sur quelques-uns des lecteurs). La prochaine étape consistera à mettre à jour le micrologiciel sur les disques eux-mêmes.

Mise à jour 6: j'ai remplacé la carte de montage PCI après avoir lu dans certains forums que d'autres personnes ayant le boîtier U-NAS NSC800 ont eu des problèmes avec la carte de montage fournie. Il n'y a eu aucun effet sur les erreurs de somme de contrôle. J'ai retardé la mise à jour du micrologiciel du disque dur parce que le processus est si difficile, mais je suppose qu'il est temps de le sucer et de créer un lecteur flash DOS amorçable.

Mise à jour 7: J'ai mis à jour le firmware des trois disques Seagate. Les autres lecteurs n'avaient pas de mise à jour du firmware disponible ou je n'ai pas pu l'obtenir (Western Digital m'a dit qu'il n'y avait pas de mise à jour du firmware pour mon lecteur). Aucune erreur n'est apparue après un gommage initial, mais je vais lui donner au moins une semaine ou deux avant de dire que cela a résolu le problème. Il me semble hautement improbable que le firmware de trois disques puisse affecter l'ensemble du pool comme ceci.

Mise à jour 8: les erreurs de somme de contrôle sont de retour, comme avant. Je pourrais examiner une mise à jour du micrologiciel de la carte mère, mais à ce stade, je suis perdu. Il sera difficile / coûteux de remplacer les composants physiques restants (contrôleur, fond de panier, câblage), et je ne suis tout simplement pas sûr à 100% que ce n'est pas un problème avec ma configuration (ZFS + Linux + LUKS + Spinning down idle drives). Toutes les autres idées sont les bienvenues.

Mise à jour 9: J'essaie toujours de retrouver celui-ci. Je suis tombé sur cette question qui avait quelques similitudes avec ma situation. Donc, j'ai continué et reconstruit le zpool en utilisant ashift=12pour voir si cela résoudrait le problème (pas de chance). Ensuite, j'ai mordu la balle et acheté un nouveau contrôleur. Je viens d'installer une carte HBA Supermicro AOC-SAS2LP-MV8 . Je vais lui donner une semaine ou deux pour voir si cela résout le problème.

Mise à jour 10: Juste pour terminer cela. Cela fait environ 2 semaines que la nouvelle carte HBA est entrée et, au risque de la casser, je n'ai eu aucune erreur de somme de contrôle depuis. Un grand merci à tous ceux qui m'ont aidé à régler celui-ci.

Dominic P
la source
2
Pouvez-vous nous en dire plus sur le matériel? Le fait d'avoir ces erreurs sur plusieurs lecteurs semble indiquer un problème de fond de panier / contrôleur / câblage plus qu'un problème de disque.
ewwhite
Je n'y avais pas pensé. Les disques sont dans un châssis U-NAS NSC-800 fourni avec un fond de panier SATA / SAS intégré. Celui-ci est connecté via 2 connecteurs mini-sas à un HBA LSI SAS 9207-8i . Celui-ci est connecté via une carte de montage PCI fournie avec le châssis à un Supermicro MBD-X10SDV-4C .
Dominic P
1
Votre RAM est-elle correcte? J'ai eu des erreurs similaires lorsqu'un module de mémoire était défectueux - pas d'erreurs de disque, mais une quantité (faible) d'erreurs de somme de contrôle sur tous les lecteurs.
user121391
1
Il est très probable que le contrôleur soit manifestement évident à ce stade. En fait, c'était manifestement évident il y a quelque temps, avec "Update 4".
Michael Hampton
1
Vous êtes les bienvenus @ hak8or. Les gens sur ce site m'ont tellement aidé, donc c'est bien d'entendre que mon exemple pourrait aider quelqu'un d'autre.
Dominic P

Réponses:

6

Le fait d'avoir ces erreurs sur plusieurs lecteurs semble indiquer un problème de fond de panier / contrôleur / câblage plus qu'un problème de disque ou de RAM.

ewwhite
la source
Merci pour l'aide. Je ne suis pas en mesure d'échanger tous ces composants pour le moment. Avez-vous une suggestion sur la façon dont je pourrais le réduire ou quel pourrait être le coupable le plus probable?
Dominic P
Essayez les mises à jour du micrologiciel de tous les composants concernés. S'agit-il de disques SATA?
ewwhite
Fera, merci. Je vais commencer par la mise à jour du micrologiciel sur le contrôleur car j'ai vu ailleurs que les versions du micrologiciel et du pilote devraient correspondre (voir la mise à jour 3 sur ma question). Oui, ce sont tous des disques SATA de 1 To, et je me souviens avoir smartctldit qu'une mise à jour du micrologiciel était disponible pour certains des disques Seagate que j'utilise, donc je les mettrai à jour également.
Dominic P
7

Ma règle générale est que si les erreurs continuent d'augmenter de façon inattendue, le disque doit être remplacé; s'il est statique, il peut y avoir eu une condition transitoire à l'origine de l'erreur et le système ne reproduit pas les conditions à l'origine des problèmes.

Quelques erreurs de somme de contrôle n'indiquent pas nécessairement quelque chose de mauvais mécaniquement avec le lecteur (la pourriture des bits se produit, ZFS arrive juste à le détecter tandis que d'autres systèmes de fichiers ne le font pas), mais si ces erreurs se sont produites au cours d'une heure, alors c'est un situation très différente que si elles se sont produites au cours d'une année.

Shane Madden
la source