Назад | Перейти на главную страницу

Ошибки контрольной суммы ZFS, когда заменить диск?

Я новичок в ZFS, и у меня есть простая настройка зеркального пула хранения с 8 дисками. После нескольких недель работы на одном диске было обнаружено много ошибок, поэтому я заменил его.

Проходит еще несколько недель, и теперь я вижу небольшие ошибки, возникающие повсюду в бассейне (см. zpool status вывод ниже). Стоит ли мне беспокоиться об этом? Как я могу определить, указывает ли ошибка на необходимость замены диска?

# 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 услужливо говорит мне «Определить, нужно ли заменить устройство ...», но я не знаю, как это сделать. Я прочитал указанную статью, которая была полезной, но не совсем убедительной.

Я посмотрел результаты теста SMART для задействованных дисков, и мне ничего не выскочило (все тесты прошли без ошибок), но я также могу опубликовать данные SMART, если они будут полезны.

Обновить: Готовясь к перезагрузке в Memtest86 +, я заметил много ошибок на консоли. Обычно я использую SSH, поэтому раньше я их не видел. Я не уверен, какой журнал мне следовало проверять, но весь экран был заполнен ошибками, которые выглядят следующим образом (не моя точная строка ошибки, я просто скопировал это с другого форума):

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

Из некоторых поисковиков в Google кажется, что эта ошибка может указывать на неисправный диск, но мне трудно поверить, что все они выходят из строя одновременно. Мысли о том, куда идти дальше?

Обновление 2: Я наткнулся на это ZOL выпуск похоже, это может быть связано с моей проблемой. Как и OP, я использую hdparm для замедления вращения своих дисков, и я вижу похожие ошибки контрольной суммы ZFS и blk_update_request ошибки. На моей машине все еще работает Memtest, поэтому я не могу в данный момент проверить свое ядро ​​или версию ZFS, но это, по крайней мере, похоже на возможность. Я тоже видел это аналогичный вопрос что немного обескураживает. Кто-нибудь знает о проблемах с ZFS и неработающими дисками?

Обновление 3: Может ли несовместимая версия прошивки и драйвера на контроллере LSI вызывать подобные ошибки? Похоже, у меня установлена ​​версия драйвера 20.100.00.00 и версия прошивки 17.00.01.00. Стоит ли попробовать прошить обновленную прошивку на карту?

# 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

Обновление 4: Выловил еще несколько ошибок в dmesg вывод. Я не уверен, что их вызвало, но я заметил их после размонтирования всех дисков в массиве при подготовке к обновлению прошивки контроллера LSI. Я немного подожду, чтобы увидеть, решило ли обновление прошивки проблему, но пока вот ошибки. Я не совсем понимаю, что они означают.

[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

Обновление 5: Я обновил прошивку для контроллера LSI, но после очистки ошибок ZFS и очистки я наблюдаю такое же поведение (незначительные ошибки контрольной суммы на нескольких дисках). Следующим шагом будет обновление прошивки самих накопителей.

Обновление 6: Я заменил переходную плату PCI после того, как прочитал на некоторых форумах, что у других людей с корпусом U-NAS NSC800 были проблемы с предоставленной переходной платой. Ошибки контрольной суммы не повлияли. Я откладываю обновление прошивки жесткого диска, потому что процесс такой мучительный, но я думаю, что пришло время высосать его и сделать загрузочную флешку для DOS.

Обновление 7: Я обновил прошивки на трех дисках Seagate. На других дисках либо не было доступного обновления прошивки, либо я не смог его получить (Western Digital сообщил мне, что для моего диска не было обновления прошивки). После первоначальной чистки ошибок не появилось, но я собираюсь дать ему по крайней мере неделю или две, прежде чем скажу, что это решило проблему. Мне кажется очень маловероятным, что прошивка на трех дисках могла так влиять на весь пул.

Обновление 8: Ошибки контрольной суммы вернулись, как и раньше. Я мог бы поискать обновление прошивки для материнской платы, но сейчас я в недоумении. Заменить оставшиеся физические компоненты (контроллер, объединительную плату, кабели) будет сложно / дорого, и я просто не уверен на 100%, что это не проблема с моей установкой (ZFS + Linux + LUKS + Вращение бездействующих дисков). Любые другие идеи приветствуются.

Обновление 9: Все еще пытаюсь разыскать этого. Я наткнулся этот вопрос что имело некоторое сходство с моей ситуацией. Итак, я перестроил zpool, используя ashift=12 чтобы увидеть, решит ли это проблему (не повезло). Затем я укусил пулю и купил новый контроллер. Я только что установил Supermicro AOC-SAS2LP-MV8 Карта HBA. Я дам ему неделю или две, чтобы посмотреть, решит ли это проблему.

Обновление 10: Просто чтобы закрыть это. Прошло около 2 недель с тех пор, как появилась новая карта HBA, и, рискуя сглазить ее, с тех пор у меня не было ошибок контрольной суммы. Огромное спасибо всем, кто помог мне разобраться с этим.

Мое общее практическое правило заключается в том, что если ошибки продолжают неожиданно расти, диск необходимо заменить; если он статичен, возможно, возникло какое-то временное состояние, вызвавшее ошибку, и система не воспроизводит условия, вызвавшие проблемы.

Несколько ошибок контрольной суммы не обязательно указывают на какие-либо механические неисправности с приводом (происходит битовая гниль, ZFS просто обнаруживает это, а другие файловые системы - нет), но если эти ошибки произошли в течение часа, то это ситуация совсем другая, чем если бы они произошли в течение года.

Наличие этих ошибок на нескольких дисках, похоже, указывает на проблему с объединительной платой / контроллером / кабелем больше, чем на проблему с диском или ОЗУ.