Błędy sumy kontrolnej ZFS, kiedy wymienić dysk?

9

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 statuswyjś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 <[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

Aktualizacja 4: Wyłapał więcej błędów w danych dmesgwyjś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=12aby 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.

Dominic P.
źródło
2
Czy możesz nam powiedzieć więcej o sprzęcie? Błędy występujące na wielu dyskach wydają się wskazywać na problem z płytą montażową / kontrolerem / okablowaniem, a nie na problem z dyskiem.
ewwhite
Nie myślałem o tym. Dyski znajdują się w obudowie U-NAS NSC-800, która została wyposażona we wbudowaną płytę montażową SATA / SAS. To jest połączone za pomocą 2 złącz mini-sas z HBA LSI SAS 9207-8i . Jest to połączone za pomocą karty rozszerzeń PCI dostarczonej z obudową do Supermicro MBD-X10SDV-4C .
Dominic P
1
Czy Twoja pamięć RAM jest w porządku? Miałem podobne błędy, gdy moduł pamięci był zły - brak błędów dysku, ale niektóre (niskie) błędy sumy kontrolnej na wszystkich dyskach.
user121391,
1
Że najprawdopodobniej kontroler jest w tym momencie rażąco oczywisty. W rzeczywistości było to rażąco oczywiste jakiś czas temu dzięki „Aktualizacji 4”.
Michael Hampton,
1
Nie ma za co @ hak8or. Ludzie na tej stronie bardzo mi pomogli, więc miło jest słyszeć, że mój przykład może pomóc komuś innemu.
Dominic P,

Odpowiedzi:

6

Błędy występujące na wielu dyskach wskazują raczej na problem z płytą montażową / kontrolerem / okablowaniem niż na problem z dyskiem lub pamięcią RAM.

ewwhite
źródło
Dzięki za pomoc. W tej chwili nie jestem w stanie wymienić wszystkich tych elementów. Czy masz sugestię, w jaki sposób mogę to zawęzić lub jaki jest najbardziej prawdopodobny winowajca?
Dominic P
Wypróbuj aktualizacje oprogramowania układowego wszystkich komponentów, których dotyczy problem. Czy to dyski SATA?
ewwhite
Zrobię dzięki. Zacznę od aktualizacji oprogramowania układowego na kontrolerze, ponieważ widziałem gdzie indziej, że wersje oprogramowania układowego i sterownika powinny pasować (patrz aktualizacja 3 na moje pytanie). Tak, wszystkie są dyskami SATA o pojemności 1 TB i pamiętam, że smartctlpowiedziałem , że dostępna jest aktualizacja oprogramowania układowego niektórych dysków Seagate, których używam, więc je zaktualizuję.
Dominic P
7

Moją ogólną zasadą jest to, że jeśli błędy nadal rosną nieoczekiwanie, dysk wymaga wymiany; jeśli jest statyczny, mógł istnieć stan przejściowy, który spowodował błąd, a system nie odtworzył warunków, które spowodowały problemy.

Kilka błędów sumy kontrolnej niekoniecznie wskazuje coś złego mechanicznie z napędem (zdarza się zgnilizna bitów, ZFS po prostu wykrywa to, podczas gdy inne systemy plików tego nie robią), ale jeśli te błędy wystąpiły w ciągu godziny, to jest to znacznie inna sytuacja niż w ciągu roku.

Shane Madden
źródło