ZFS no Linux, Ubuntu 16.04LTS.
Pool ZFS, raidz1 vdev com drives 5x4TB.
Ontem notei uma unidade completamente em flocos. (Ruído audível das cabeças tentando reiniciar, recalibrar). Foi torrada. Então eu off-line.
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: Why -part2? FreeNAS did that (where this pool was originally
created). Each drive has a 2GB swap partition in front of the data
I decided it was best to replicate that on the replacement drive for
symmetry.
De qualquer forma, eu coloco um substituto e começo o resilver.
zpool replace tank ata-ST4000DM005-2DP166_ZDH0ZJDQ-part2 /dev/disk/by-id/ata-ST4000DM005-2DP166_ZDH15ZE0-part2
Ele "termina" em tempo recorde ... (depois de mostrar uma estimativa no intervalo de 20h). Eu não tenho o histórico dos passos intermediários, mas confie em mim ... Há ~ 4TB aollocated neste pool.
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
Eu NÃO acredito em você!
O que pode causar isso? O que eu faço agora? Eu ainda não descobri como substituir a unidade consigo mesmo (e forçar outro resilver).
EDITAR:
Eu corro um scrub neste novo "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
Parece parar na marca de ~ 12G:
12.4G scanned out of 4.29T at 64.2M/s, 19h25m to go
Em seguida, basta parar:
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
O QUE? Nem sequer analisou a piscina inteira. Como pode ser feito? Não houve erros de hardware, então o que está acontecendo? Argh.