Мой резервный NAS (на основе Arch) сообщает об ухудшенном пуле. Он также сообщает о неисправном диске как о «ремонтируемом». Меня это смущает. Если предположить, что неисправный хуже, чем деградированный, должен ли я волноваться?
zpool status -v:
pool: zdata
state: DEGRADED
status: One or more devices has experienced an error resulting in data
corruption. Applications may be affected.
action: Restore the file in question if possible. Otherwise restore the
entire pool from backup.
see: http://zfsonlinux.org/msg/ZFS-8000-8A
scan: scrub in progress since Mon Dec 16 11:35:37 2019
1.80T scanned at 438M/s, 996G issued at 73.7M/s, 2.22T total
1.21M repaired, 43.86% done, 0 days 04:55:13 to go
config:
NAME STATE READ WRITE CKSUM
zdata DEGRADED 0 0 0
wwn-0x50014ee0019b83a6-part1 ONLINE 0 0 0
wwn-0x50014ee057084591-part1 ONLINE 0 0 0
wwn-0x50014ee0ac59cb99-part1 DEGRADED 224 0 454 too many errors (repairing)
wwn-0x50014ee2b3f6d328-part1 ONLINE 0 0 0
logs
wwn-0x50000f0056424431-part5 ONLINE 0 0 0
cache
wwn-0x50000f0056424431-part4 ONLINE 0 0 0
errors: Permanent errors have been detected in the following files:
zdata/backup:<0x86697>
Также сообщается, что неисправный диск намного меньше: zpool iostat -v:
capacity operations bandwidth
pool alloc free read write read write
------------------------------ ----- ----- ----- ----- ----- -----
zdata 2.22T 1.41T 33 34 31.3M 78.9K
wwn-0x50014ee0019b83a6-part1 711G 217G 11 8 10.8M 18.0K
wwn-0x50014ee057084591-part1 711G 217G 10 11 9.73M 24.6K
wwn-0x50014ee0ac59cb99-part1 103G 825G 0 10 0 29.1K
wwn-0x50014ee2b3f6d328-part1 744G 184G 11 2 10.7M 4.49K
logs - - - - - -
wwn-0x50000f0056424431-part5 4K 112M 0 0 0 0
cache - - - - - -
wwn-0x50000f0056424431-part4 94.9M 30.9G 0 1 0 128K
------------------------------ ----- ----- ----- ----- ----- -----
[РЕДАКТИРОВАТЬ] Поскольку жесткий диск продолжал сообщать об ошибках, я решил заменить его запасным. Сначала я выполнил команду добавления запасного для нового диска, который затем был включен в пул, после чего я выполнил команду замены, чтобы заменить вышедший из строя диск запасным. Возможно, это не улучшило ситуацию, поскольку теперь пул гласит:
pool: zdata
state: DEGRADED
status: One or more devices is currently being resilvered. The pool will
continue to function, possibly in a degraded state.
action: Wait for the resilver to complete.
scan: resilver in progress since Sun Dec 22 10:20:20 2019
36.5G scanned at 33.2M/s, 27.4G issued at 24.9M/s, 2.21T total
0B resilvered, 1.21% done, 1 days 01:35:59 to go
config:
NAME STATE READ WRITE CKSUM
zdata DEGRADED 0 0 0
wwn-0x50014ee0019b83a6-part1 ONLINE 0 0 0
wwn-0x50014ee057084591-part1 ONLINE 0 0 0
spare-2 DEGRADED 0 0 0
wwn-0x50014ee0ac59cb99-part1 DEGRADED 0 0 0 too many errors
wwn-0x50014ee25ea101ef ONLINE 0 0 0
wwn-0x50014ee2b3f6d328-part1 ONLINE 0 0 0
logs
wwn-0x50000f0056424431-part5 ONLINE 0 0 0
cache
wwn-0x50000f0056424431-part4 ONLINE 0 0 0
spares
wwn-0x50014ee25ea101ef INUSE currently in use
errors: No known data errors
Что меня беспокоит, так это то, что срок «to go» продолжает расти (!). В то время, когда я писал это, теперь оно читается как 1 день 05:40:10. Я предполагаю, что пул теряется навсегда при отказе другого диска, контроллера или питания.
[РЕДАКТИРОВАТЬ] Новый диск был восстановлен примерно через 4 часа. Оценка ZFS, по-видимому, была не совсем верной. После отсоединения неисправного диска у меня возникла ситуация, когда новый диск показывает, что из 1 ТБ диска используется только 103 ГБ. Так же, как и ДЕГРАДИРОВАННЫЙ диск. Как мне довести это до 1 ТБ?
Вообще говоря, ДЕГРАДИРОВАННЫЙ диск находится в лучше формы, чем НЕПРАВИЛЬНЫЙ.
Из страница руководства zpool (немного переформатирован):
УСТАРЕЛО: Количество ошибок контрольной суммы превышает допустимый уровень, и работа устройства ухудшается, что указывает на то, что что-то не так. ZFS продолжает использовать устройство по мере необходимости
НЕ СМОГЛИ: Количество ошибок ввода / вывода превышает допустимые уровни, и устройство неисправно, чтобы предотвратить дальнейшее использование устройства.
В вашем конкретном случае scrub
обнаружил много ошибок чтения и контрольной суммы на одном диске, и ZFS начала восстанавливать поврежденный диск. Между тем, ZED (демон событий ZFS) заметил всплеск ошибок контрольной суммы и ухудшил работу диска, чтобы избежать его использования / перегрузки.
Когда скраб закончится, я предлагаю вам zpool clear
твой бассейн и беги другой zfs scrub
. Если вторая очистка не обнаружит ошибок, вы можете продолжить использование пула, но, учитывая, сколько ошибок вы получите в текущей очистке, я бы заменил диск как можно скорее.
Если у вас есть веские основания полагать, что диск не является неисправностью, вам следует проанализировать dmesg
и smartctl --all
вывод для определения основной причины ошибки. Показательный пример: у меня был диск, который сам по себе был в порядке, но производил много фактических ошибок из-за зашумленного блока питания / кабеля.
В любом случае всегда действует золотое правило: убедитесь, что у вас есть актуальная резервная копия данных вашего пула.