Execute um script regular (cron) que verifique zpool status -x
output. A longo prazo, o projeto ZFS no Linux está trabalhando para isso na forma de um daemon de evento. Os sistemas derivados do Solaris tinham acesso à arquitetura de gerenciamento de falhas.
No que diz respeito a relatórios automatizados, até mesmo soluções comerciais como NexentaStor usam verificações agendadas. Não há nada de errado com isso.
Algo parecido com isto:
[root@mdmarra ~]# zpool status -x
all pools are healthy
Versus algo terrível como:
[root@mdmarra ~]# zpool status -x
pool: vol1
state: UNAVAIL
status: One or more devices are faulted in response to IO failures.
action: Make sure the affected devices are connected, then run 'zpool clear'.
see: http://www.sun.com/msg/ZFS-8000-JQ
scan: scrub repaired 0 in 1h15m with 0 errors on Sun Jul 28 21:15:10 2013
config:
NAME STATE READ WRITE CKSUM
vol1 UNAVAIL 0 0 0 insufficient replicas
mirror-0 DEGRADED 0 0 0
c1t0d0 UNAVAIL 0 0 0 cannot open
c2t0d0 ONLINE 0 0 0
mirror-1 DEGRADED 0 0 0
c1t1d0 UNAVAIL 0 0 0 cannot open
c2t1d0 ONLINE 0 0 0
mirror-2 DEGRADED 0 0 0
spare-0 UNAVAIL 0 0 0 insufficient replicas
c1t2d0 UNAVAIL 0 0 0 cannot open
c2t8d0 UNAVAIL 0 0 0 cannot open
c2t2d0 ONLINE 0 0 0
mirror-3 DEGRADED 0 0 0
c1t3d0 UNAVAIL 0 0 0 cannot open
c2t3d0 ONLINE 0 0 0
mirror-4 DEGRADED 0 0 0
c1t4d0 UNAVAIL 0 0 0 cannot open
c2t4d0 ONLINE 0 0 0
mirror-5 UNAVAIL 0 0 0 insufficient replicas
c1t5d0 UNAVAIL 0 0 0 cannot open
c2t5d0 FAULTED 0 0 0 too many errors
cache
c3t5d0 ONLINE 0 0 0
spares
c2t8d0 UNAVAIL cannot open
errors: No known data errors