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 status
produire 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_request
erreurs 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 <MPT-FusionLinux.pdl@avagotech.com>
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 dmesg
sortie. 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=12
pour 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.