SMART ha encontrado un error de lectura irrecuperable en uno de mis discos, pero zpool status
enumera todos los discos como EN LÍNEA (ES decir, no DEGRADADOS).
- ¿Sabes por qué podría ser eso? Pensé que ZFS sabría de cualquier error tan pronto como alguien...
- ¿Necesito ejecutar una limpieza para volver a verificar el estado de todos los discos?
- ¿Puedo hacer que SMART informe automáticamente a ZFS de alguna manera?
Respuesta1
- ¿Sabes por qué podría ser eso? Pensé que ZFS sabría de cualquier error tan pronto como alguien...
- ¿Necesito ejecutar una limpieza para volver a verificar el estado de todos los discos?
- ¿Puedo hacer que SMART informe automáticamente a ZFS de alguna manera?
- No, no verifica todos los bloques todo el tiempo, solo se asegura de que cada bloque escrito pueda contabilizarse (y restaurarse, si hay redundancia disponible) tan pronto como se necesite o se acceda a él. El espacio vacío no se verifica en absoluto (porque no tiene datos valiosos allí, por lo que sería una pérdida de tiempo), y los datos normales solo se verifican cuando se leen (ya que la escritura es solo para agregar). Como dijo correctamente mmusante, solo recibirá mensajes de error si el error es crítico y no se puede recuperar automáticamente (de lo contrario, solo verá un aviso y el error cuenta
zpool status
). - Sí.
Puede ser más fácil limpiar la piscina con regularidad (mediante cronjob). Los tiempos recomendados habituales son aproximadamente una vez al mes para discos de calidad empresarial y una vez a la semana para discos de nivel de consumidor. De lo contrario, podría iniciar un fregado manual con unscript de smartmontools:
La mayoría de las veces, sólo necesita colocar un script en /etc/smartmontools/run.d/. Siempre que smartd quiera enviar un informe, ejecutará smart-runner y este último ejecutará su script.
Tiene varias variables disponibles para su script (nuevamente, consulte la página de manual de smartd). Estos provienen de una ejecución de prueba:
SMARTD_MAILER=/usr/share/smartmontools/smartd-runner SMARTD_SUBJECT=SMART error (EmailTest) detected on host: XXXXX SMARTD_ADDRESS=root SMARTD_TFIRSTEPOCH=1267409738 SMARTD_FAILTYPE=EmailTest SMARTD_TFIRST=Sun Feb 28 21:45:38 2010 VET SMARTD_DEVICE=/dev/sda SMARTD_DEVICETYPE=sat SMARTD_DEVICESTRING=/dev/sda SMARTD_FULLMESSAGE=This email was generated by the smartd daemon running on: SMARTD_MESSAGE=TEST EMAIL from smartd for device: /dev/sda
Su secuencia de comandos también tiene una copia temporal del informe disponible como "$1". Se eliminará una vez que termine, pero el mismo contenido se escribirá en /var/log/syslog.
Luego solo necesita asignar el nombre del dispositivo a su grupo (puede analizarlo
zpool status
).