Tengo una matriz de software RAID5 (Linux md) en 4 discos.
Me gustaría reemplazar uno de los discos por uno nuevo, sin poner la matriz en un estado degradado y, si es posible, en línea. ¿Cómo sería eso posible?
Es importante porque no quiero:
- corre el riesgo de estresar los otros discos para que uno pueda bloquearse durante la reconstrucción,
- corro el riesgo de estar en un "estado de no paridad" para no tener una red de seguridad por algún tiempo.
Supongo que hacerlo en línea es pedir demasiado y debería copiar sin formato ( dd
) los datos del disco antiguo al nuevo fuera de línea y luego reemplazarlo, pero creo que es teóricamente posible ...
Algún contexto : todos esos discos han estado girando casi continuamente durante más de 5,5 años. Todavía funcionan perfectamente por el momento y todos pasan la autoprueba SMART (larga). Sin embargo, tengo razones para pensar que uno de esos 4 discos no durará mucho más (supuesto fallo predictivo).
fuente
mdadm --add
todavía se necesita antes de--replace
que funcione. (mdadm
3.3, Ubuntu 15.10). Si hace lo--add
siguiente--replace
, la copia comenzará tan pronto como se agregue un repuesto. (El dispositivo permanece marcado como "queriendo reemplazo").Esto puede ser posible cumpliendo los requisitos
Pero incluso si lo siguiente puede funcionar, probablemente no encontrará ninguna recomendación de ese tipo "en los libros" ...
Idea:
mdadm --manage /dev/raid5 --fail /dev/OLD
mdadm --build /dev/md42 --level=mirror --raid-devices=2 /dev/OLD /dev/NEW
mdadm --manage /dev/raid5 --re-add /dev/md42
Lo que debería :-) suceder:
Mira el progreso de la sincronización (
cat /proc/mdstat
omdadm --monitor
). Si la sincronización ha finalizado, saque el RAID-1 del RAID-5, detenga el RAID-1, vuelva a agregar / dev / NEW al RAID-5. Si todo está bien, sobrescriba los superbloques mdraid en / dev / OLD para evitar problemas:mdadm --zero-superblock
Advertencia: la sincronización rápida de RAID-5 puede funcionar solo si usa un mapa de bits. Si no tiene uno, es mejor que primero haga una prueba con un RAID-5 ficticio (sin un mapa de bits). O agrega uno. Al menos debería ser posible agregar uno externo. De lo contrario, puede ser necesario detener el RAID-5 antes de cambiar los dispositivos. Sin embargo, si arranca desde el RAID-5, esto sería un poco complicado.
fuente
Si no le importa ejecutar RAID-6 (2 discos de paridad en lugar de 1), y si está ejecutando mdadmin 3.1.xo superior, puede convertir su matriz RAID-5 a RAID-6 para agregar un disco de paridad adicional . Sin embargo, esto colocará la matriz bajo tensión durante la reconstrucción. Y tiene algunas implicaciones de rendimiento ya que hay más discos de paridad para actualizar durante las escrituras.
Pero si se completa con éxito, puede mantener su disco defectuoso en su lugar y cuando finalmente falla, todavía tiene protección de paridad para la matriz. Creo que puede convertir la matriz de RAID6 a RAID5 si no espera para mantenerla como RAID6.
No conozco una forma en línea de mantener la matriz como RAID-5 y reemplazar el disco sin poner la matriz en modo degradado, ya que creo que debe marcarlo como fallido para reemplazarlo. Su idea de copia de dd podría ser la forma de hacerlo.
fuente