Desde o upgrade para o 16.04, mudei meu / home para um zfs-pool para me familiarizar com o zfs.
Já mostrando sua força, identificou a baixa qualidade de minhas unidades de longa duração:
# zpool status -v
pool: homepool
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 Oct 16 11:09:17 2016
402G scanned out of 1,63T at 76,8M/s, 4h41m to go
401G resilvered, 24,10% done
config:
NAME STATE READ WRITE CKSUM
homepool DEGRADED 0 0 0
mirror-0 DEGRADED 0 0 0
sdb UNAVAIL 0 0 0
sdc ONLINE 0 0 0
sdd ONLINE 0 0 1K (resilvering)
mirror-1 ONLINE 0 0 0
sde ONLINE 0 0 0
sdf ONLINE 0 0 0
cache
sda4 REMOVED 0 0 0
errors: No known data errors
sdb
vem se arrastando há anos, mas com a soma de verificação zfs, ficou aparente que às vezes produz dados ruins. É claro que tal comportamento não é aceito pelo zfs, que marcou o drive como defeituoso - o que me levou a adicionar sdd
, inicializando a resilvering.
Agora - o zfs removeu sdb
do conjunto duas vezes. Ambas as vezes sda4
foram removidas também. sda1
contém meu /
. Em ambas as ocasiões, foi encontrado em ro
-state subsequente à remoção de sdb
.
Isso tudo está conectado ou é mais provável que eu tenha mais de uma unidade defeituosa?
Meu raciocínio é que sdb
está corrompido, mas como é armazenado em cache, alguns dos erros podem ser vistos como provenientes do cache e como o cache está na mesma unidade física que a partição /
, a raiz fica nuked when zfs
tenta se recuperar de erros vistos em sdb
e sda4
devido a ambos os drives físicos serem marcados como produtores de lixo.
Isso parece provável?
A tentativa de remontar /
não funciona:
root@computer:~# df /
-su: /bin/df: Input/output error
root@computer:~# df /de-su: cannot create temp file for here-document: Read-only file system
-su: cannot create temp file for here-document: Read-only file system
^C
root@computer:~# mount | grep sda
/dev/sda1 on / type ext4 (ro,relatime,errors=remount-ro,data=ordered)
root@computer:~# mount -o remount,rw /dev/sda1 /
mount: cannot remount /dev/sda1 read-write, is write-protected
EDITAR:
Desde que eu adicionei o disco extra (removendo assim a unidade sata cd-rom) eu não vi o problema.
# zpool status -v
pool: homepool
state: ONLINE
scan: scrub repaired 0 in 6h37m with 0 errors on Wed Oct 19 15:23:30 2016
config:
NAME STATE READ WRITE CKSUM
homepool ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
sdb ONLINE 0 0 0
sdc ONLINE 0 0 0
sdd ONLINE 0 0 0
mirror-1 ONLINE 0 0 0
sde ONLINE 0 0 0
sdf ONLINE 0 0 0
cache
sda4 ONLINE 0 0 0
errors: No known data errors
Tudo parece ter sido bom por quase duas semanas, mas o disco quebrado ainda está lá, imagino que deveria ter continuado a espalhar lixo, mas não parece.
Tags mount disk hard-drive 16.04 zfs