Ошибки контрольной суммы 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, сектор 220473440

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

Обновление 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 , чтобы посмотреть, решит ли это проблему (не повезло). Затем я укусил пулю и купил новый контроллер. Я только что установил HBA-карту Supermicro AOC-SAS2LP-MV8 . Я дам ему неделю или две, чтобы посмотреть, решит ли это проблему.

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

9
задан 13 April 2017 в 15:14
2 ответа

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

6
ответ дан 2 December 2019 в 22:29

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

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

6
ответ дан 2 December 2019 в 22:29

Теги

Похожие вопросы