Jestem dość nowy w ZFS i mam prostą konfigurację puli pamięci dublowanej z 8 dyskami. Po kilku tygodniach pracy jeden dysk wydawał się generować wiele błędów, więc go wymieniłem.
Minęło jeszcze kilka tygodni i teraz widzę małe błędy pojawiające się w całej puli (patrz zpool status
wyjście poniżej). Czy powinienem się tym martwić? Jak mogę ustalić, czy błąd wskazuje, że dysk wymaga wymiany?
# 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 pomaga mi „Określić, czy należy wymienić urządzenie ...”, ale nie jestem pewien, jak to zrobić. Przeczytałem przywoływany artykuł, który był pomocny, ale nie do końca rozstrzygający.
Patrzyłem na wyniki testu SMART dla wykonanych dysków i nic mnie nie wyskoczyło (wszystkie testy zostały zakończone bez błędów), ale mogę również opublikować dane SMART, jeśli byłoby to pomocne.
Aktualizacja: Przygotowując się do ponownego uruchomienia w Memtest86 +, zauważyłem wiele błędów na konsoli. Zwykle korzystam z SSH, więc nie widziałem ich wcześniej. Nie jestem pewien, który dziennik powinienem sprawdzać, ale cały ekran był wypełniony błędami, które wyglądają tak (nie moja dokładna linia błędów, właśnie skopiowałem to z innego forum):
blk_update_request: I/0 error, dev sda, sector 220473440
Od niektórych Googlingów wygląda na to, że ten błąd może wskazywać na zły dysk, ale ciężko mi uwierzyć, że wszystkie zawodzą w ten sposób. Myślisz, gdzie się stąd wybrać?
Aktualizacja 2: Natknąłem się na ten problem ZOL, który wydaje się być związany z moim problemem. Podobnie jak OP używam hdparm do spinowania dysków i widzę podobne błędy sumy kontrolnej ZFS blk_update_request
. Na moim komputerze nadal działa Memtest, więc nie mogę w tej chwili sprawdzić wersji jądra lub ZFS, ale przynajmniej taka możliwość. Widziałem także to podobne pytanie, które trochę zniechęca. Czy ktoś wie o problemach z ZFS i rozpędzaniu dysków?
Aktualizacja 3: Czy niezgodne oprogramowanie i wersja sterownika w kontrolerze LSI może powodować takie błędy? Wygląda na to, że korzystam z wersji sterownika 20.100.00.00 i wersji oprogramowania układowego 17.00.01.00. Czy warto spróbować flashować zaktualizowane oprogramowanie na karcie?
# 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
Aktualizacja 4: Wyłapał więcej błędów w danych dmesg
wyjściowych. Nie jestem pewien, co je spowodowało, ale zauważyłem je po odmontowaniu wszystkich dysków w szyku w ramach przygotowań do aktualizacji oprogramowania układowego kontrolera LSI. Zaczekam chwilę, aby zobaczyć, czy aktualizacja oprogramowania układowego rozwiązała problem, ale w międzyczasie oto błędy. Nie jestem do końca pewien, co mają na myśli.
[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
Aktualizacja 5: Zaktualizowałem oprogramowanie wewnętrzne kontrolera LSI, ale po usunięciu błędów ZFS i wyczyszczeniu widzę to samo zachowanie (niewielkie błędy sumy kontrolnej na kilku dyskach). Następnym krokiem będzie aktualizacja oprogramowania wewnętrznego samych napędów.
Aktualizacja 6: Wymieniłem pion PCI po przeczytaniu na niektórych forach, że inne osoby ze skrzynką U-NAS NSC800 miały problemy z podanym pionem. Nie wystąpił wpływ na błędy sumy kontrolnej. Odkładam aktualizację oprogramowania dysku twardego, ponieważ proces ten jest tak uciążliwy, ale chyba nadszedł czas, aby go zassać i zrobić rozruchowy dysk flash DOS.
Aktualizacja 7: zaktualizowałem oprogramowanie wewnętrzne trzech dysków Seagate. Inne dyski albo nie miały dostępnej aktualizacji oprogramowania układowego, albo nie byłem w stanie jej uzyskać (Western Digital powiedział mi, że nie ma aktualizacji oprogramowania układowego dla mojego napędu). Po pierwszym wyczyszczeniu nie pojawiły się żadne błędy, ale dam mu co najmniej tydzień lub dwa, zanim powiem, że to rozwiązało problem. Wydaje mi się mało prawdopodobne, aby oprogramowanie wewnętrzne na trzech dyskach mogło wpływać na całą pulę w ten sposób.
Aktualizacja 8: Błędy sumy kontrolnej powróciły, tak jak poprzednio. Może zajrzę do aktualizacji oprogramowania układowego płyty głównej, ale w tym momencie jestem zagubiony. Wymiana pozostałych elementów fizycznych (kontrolera, płyty montażowej, okablowania) będzie trudna / droga, a ja po prostu nie jestem w 100% pewien, że to nie jest problem z moją konfiguracją (ZFS + Linux + LUKS + Spinning down idle drive). Wszelkie inne pomysły są mile widziane.
Aktualizacja 9: Wciąż próbuję to wyśledzić. Natknąłem się na to pytanie, które miało pewne podobieństwa do mojej sytuacji. Więc poszedłem naprzód i przebudowałem zpool za pomocą, ashift=12
aby zobaczyć, czy to rozwiąże problem (bez szczęścia). Potem ugryzłem kulę i kupiłem nowy kontroler. Właśnie zainstalowałem kartę HBA Supermicro AOC-SAS2LP-MV8 . Dam tydzień lub dwa, żeby zobaczyć, czy to rozwiąże problem.
Aktualizacja 10: Aby to zamknąć. Minęły około 2 tygodnie, odkąd pojawiła się nowa karta HBA i odtąd, nie ryzykując jej zablokowania, nie wystąpiły błędy sumy kontrolnej. Ogromne podziękowania dla wszystkich, którzy pomogli mi rozwiązać ten problem.