Подозрительный Zpool Resilver
ZFS на Linux, Ubuntu 16.04LTS. Пул ZFS, raidz1 vdev с дисками 5x4TB.
Вчера я заметил один диск полностью отслаивается. (Звуковой шум от головок, пытающихся сбросить, откалибровать). Это был тост. Так что я в автономном режиме.
mrenouf@archive:~$ sudo zpool status
pool: tank
state: DEGRADED
status: One or more devices has been taken offline by the administrator.
Sufficient replicas exist for the pool to continue functioning in a
degraded state.
action: Online the device using 'zpool online' or replace the device with
'zpool replace'.
scan: resilvered 2.42G in 0h3m with 0 errors on Thu Apr 20 08:04:09 2017
config:
NAME STATE READ WRITE CKSUM
tank DEGRADED 0 0 0
raidz1-0 DEGRADED 0 0 0
ata-ST4000DM005-2DP166_ZDH0ZH6V-part2 ONLINE 0 0 0
ata-ST4000DM005-2DP166_ZDH0Z9EG-part2 ONLINE 0 0 0
ata-ST4000DM005-2DP166_ZDH0ZJZS-part2 ONLINE 0 0 0
ata-ST4000DM005-2DP166_ZDH0ZDDJ-part2 ONLINE 0 0 0
ata-ST4000DM005-2DP166_ZDH0ZJDQ-part2 OFFLINE 0 0 0
errors: No known data errors
Sidenote: Почему -part2? FreeNAS сделал это (где этот пул был первоначально создан). Каждый диск имеет раздел подкачки объемом 2 ГБ перед данными, и я решил, что лучше всего скопировать его на сменный диск для симметрии.
Так или иначе, я вставляю замену и запускаю ресивер.
zpool replace tank ata-ST4000DM005-2DP166_ZDH0ZJDQ-part2 /dev/disk/by-id/ata-ST4000DM005-2DP166_ZDH15ZE0-part2
Он "заканчивается" в рекордно короткие сроки... (после показа оценки в диапазоне 20 часов). У меня нет истории с промежуточных шагов, но поверьте мне... В этом пуле выделено ~4 ТБ.
pool: tank
state: ONLINE
scan: resilvered 2.42G in 0h3m with 0 errors on Thu Apr 20 08:04:09 2017
config:
NAME STATE READ WRITE CKSUM
tank ONLINE 0 0 0
raidz1-0 ONLINE 0 0 0
ata-ST4000DM005-2DP166_ZDH0ZH6V-part2 ONLINE 0 0 0
ata-ST4000DM005-2DP166_ZDH0Z9EG-part2 ONLINE 0 0 0
ata-ST4000DM005-2DP166_ZDH0ZJZS-part2 ONLINE 0 0 0
ata-ST4000DM005-2DP166_ZDH0ZDDJ-part2 ONLINE 0 0 0
ata-ST4000DM005-2DP166_ZDH15ZE0-part2 ONLINE 0 0 0
errors: No known data errors
Я тебе не верю!
Что может вызвать это? Что мне теперь делать? Я еще не выяснил, как заменить диск на себя (и заставить другой ресивер).
РЕДАКТИРОВАТЬ:
Я запускаю скраб для этого нового "resilvered":
pool: tank
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 in progress since Thu Apr 20 08:39:31 2017
12.1G scanned out of 4.29T at 87.7M/s, 14h13m to go
159M repaired, 0.27% done
config:
NAME STATE READ WRITE CKSUM
tank ONLINE 0 0 0
raidz1-0 ONLINE 0 0 0
ata-ST4000DM005-2DP166_ZDH0ZH6V-part2 ONLINE 0 0 0
ata-ST4000DM005-2DP166_ZDH0Z9EG-part2 ONLINE 0 0 0
ata-ST4000DM005-2DP166_ZDH0ZJZS-part2 ONLINE 0 0 0
ata-ST4000DM005-2DP166_ZDH0ZDDJ-part2 ONLINE 0 0 0
ata-ST4000DM005-2DP166_ZDH15ZE0-part2 ONLINE 0 0 20.2K (repairing)
errors: No known data errors
Кажется, он остановился на отметке ~12G:
12.4G scanned out of 4.29T at 64.2M/s, 19h25m to go
Тогда это просто останавливается:
pool: tank
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 164M in 0h3m with 0 errors on Thu Apr 20 08:42:50 2017
config:
NAME STATE READ WRITE CKSUM
tank ONLINE 0 0 0
raidz1-0 ONLINE 0 0 0
ata-ST4000DM005-2DP166_ZDH0ZH6V-part2 ONLINE 0 0 0
ata-ST4000DM005-2DP166_ZDH0Z9EG-part2 ONLINE 0 0 0
ata-ST4000DM005-2DP166_ZDH0ZJZS-part2 ONLINE 0 0 0
ata-ST4000DM005-2DP166_ZDH0ZDDJ-part2 ONLINE 0 0 0
ata-ST4000DM005-2DP166_ZDH15ZE0-part2 ONLINE 0 0 21.5K
errors: No known data errors
ЧТО? Он даже не сканировал весь бассейн. Как это можно сделать? Не было никаких аппаратных ошибок, так что, черт возьми, происходит? Argh.
1 ответ
Вам нужно обновить систему до ZFS в Linux 0.7.0 (моя проблема была исправлена в версии 3, доступной здесь). Следуйте инструкциям по компиляции. После установки убедитесь, что все работает, проверив версии zfs и spl.
modinfo zfs | grep -iw version
modinfo spl | grep -iw version
У меня была точно такая же проблема, и это то, что работало для меня.