Estoy empezando a obtener una colección de computadoras en casa y para admitirlas tengo mi "servidor" de Linux que ejecuta una matriz RAID.
Actualmente mdadm
RAID-1
, iré RAID-5
una vez que tenga más unidades (y luego RAID-6
espero). Sin embargo, he escuchado varias historias sobre datos que se corrompen en una unidad y nunca se da cuenta debido a que se está utilizando la otra unidad, hasta el punto en que falla la primera unidad, y encuentra que su segunda unidad también está atornillada (y 3ro, 4to , 5ta unidad).
Obviamente, las copias de seguridad son importantes y yo también me encargaré de eso, sin embargo, sé que anteriormente he visto secuencias de comandos que afirman ayudar contra este problema y le permiten verificar su RAID mientras se está ejecutando. Sin embargo, al buscar estos guiones nuevamente, ahora me resulta difícil encontrar algo que se parezca a lo que ejecuté antes y siento que estoy desactualizado y no entiendo lo que haya cambiado.
¿Cómo verificaría un RAID en ejecución para asegurarse de que todos los discos todavía se están formando normalmente?
Superviso SMART en todas las unidades y también me he mdadm
configurado para enviarme un correo electrónico en caso de falla, pero me gustaría saber que mis unidades ocasionalmente también se "comprueban".
Respuestas:
El punto de RAID con redundancia es que seguirá funcionando todo el tiempo que pueda, pero obviamente detectará errores que lo ponen en un modo degradado, como un disco defectuoso. Puede mostrar el estado actual de una matriz con
mdadm -D
:Además, el estado de retorno de
mdadm -D
es distinto de cero si hay algún problema, como un componente fallido (1 indica un error que compensa el modo RAID y 2 indica un fallo completo).También puede obtener un resumen rápido de todo el estado del dispositivo RAID mirando
/proc/mdstat
. También puede obtener información sobre un dispositivo RAID/sys/class/block/md*/md/*
; verDocumentation/md.txt
en la documentación del kernel. Algunas/sys
entradas también se pueden escribir; por ejemplo, puede activar una verificación completa demd0
conecho check >/sys/class/block/md0/md/sync_action
.Además de estas comprobaciones puntuales, mdadm puede notificarle tan pronto como ocurra algo malo. Asegúrese de que usted tiene
MAILADDR root
en/etc/mdadm.conf
(algunas distribuciones (por ejemplo Debian) lo configuran automáticamente). Luego, recibirá una notificación por correo electrónico tan pronto como se produzca un error (una matriz degradada) .Asegúrese de recibir el correo enviado a la raíz en la máquina local (algunas distribuciones modernas omiten esto, porque consideran que todo el correo electrónico pasa por proveedores externos, pero recibir el correo local es necesario para cualquier administrador serio del sistema). Prueba de esto mediante el envío de un correo electrónico de la raíz:
echo hello | mail -s test root@localhost
. Por lo general, una configuración de correo electrónico adecuada requiere dos cosas:Redirige el correo que va a las cuentas del sistema (al menos
root
) a una dirección que lees regularmente. Puede ser su cuenta en la máquina local o una dirección de correo electrónico externa. Con la mayoría de los MTA, la dirección se puede configurar en/etc/aliases
; deberías tener una línea comopara entrega local, o
Para entrega remota. Si elige la entrega remota, asegúrese de que su MTA esté configurado para eso. Dependiendo de su MTA, es posible que deba ejecutar el
newaliases
comando después de editarlo/etc/aliases
.fuente
Puede forzar una verificación de toda la matriz mientras está en línea. Por ejemplo, para verificar la matriz
/dev/md0
, ejecute como root:También tengo un trabajo cron que ejecuta el siguiente comando una vez al mes:
No es una verificación exhaustiva de la unidad en sí, pero obliga al sistema a verificar periódicamente que (casi) todos los archivos se puedan leer con éxito del disco. Sí, algunos archivos se leerán de la memoria caché en lugar del disco. Pero me imagino que si el archivo está en la memoria caché, se ha leído con éxito recientemente en el disco, o está a punto de escribirse en el disco, y cualquiera de esas operaciones también descubrirá errores en la unidad. De todos modos, ejecutar este trabajo prueba el criterio más importante de una matriz RAID (“¿Puedo leer mis datos con éxito?”) Y en los tres años que llevo ejecutando mi matriz, la única vez que tuve un disco defectuoso, fue Este comando que lo descubrió.
Una pequeña advertencia es que si su sistema de archivos es grande, entonces este comando tomará mucho tiempo; mi sistema tarda aproximadamente 6 horas / TiB. Lo ejecuto
ionice
para que el resto del sistema no se detenga durante la comprobación de la unidad:fuente
ionice
solo funcionará si utiliza el programador de E / S CFQ (predeterminado).el paquete 'mdadm' de Debian y Ubuntu contiene el archivo
que a su vez el primer domingo de cada mes ejecutará el comando
eso verificará la coherencia de todas sus matrices (a menos que establezca AUTOCHECK en falso en / etc / default / mdadm ). Se enviará un informe al usuario 'root' (asegúrese de recibir dichos correos electrónicos).
fuente
Utilizo esta función simple para verificar
/proc/mdstat
:fuente