Я довольно новичок в 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, которая, кажется, может быть связана с моей проблемой. Как и операционная система, я использую hdparm, чтобы раскрутить свои диски, и я вижу похожие ошибки и blk_update_request
ошибки контрольной суммы ZFS . На моей машине все еще работает 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, и, рискуя ее сглазить, с тех пор у меня не было ошибок контрольной суммы. Огромное спасибо всем, кто помог мне разобраться с этим.