¿Cómo muevo un RAID de software de Linux a una nueva máquina?

20

Tengo una máquina recién construida con una nueva instalación de Gentoo Linux y una matriz RAID 5 de software de otra máquina (4 discos IDE conectados a controladores PCI externos). He movido con éxito los controladores a la nueva máquina; las unidades son detectadas por el kernel; y he usado mdadm --examine y verifiqué que la única partición RAID se detecta, limpia e incluso en el orden "correcto" (hde1 == unidad 0, hdg1 == unidad 1, etc.).

A lo que no tengo acceso es a los archivos de configuración originales de la máquina anterior. ¿Cómo debo proceder para reactivar esta matriz sin perder los datos?

romandas
fuente

Respuestas:

20

Realmente necesitas el archivo original mdadm.conf. Pero, como no lo tienes, tendrás que recrearlo. Primero, antes de hacer nada, lea mdadm a través de su página de manual . ¿Por qué la posibilidad de perder sus datos en una situación o comando que no tenía a su alcance?

Dicho esto, este consejo es bajo su propio riesgo. Puede perder fácilmente todos sus datos con los comandos incorrectos. Antes de ejecutar cualquier cosa, verifique las ramificaciones del comando . No me hago responsable de la pérdida de datos u otros problemas relacionados con las acciones que realice, por lo que debe verificar todo .

Puedes probar esto:

mdadm --assemble --scan --verbose /dev/md{number} /dev/{disk1} /dev/{disk2} /dev/{disk3} /dev/{disk4}

Esto debería darle información para comenzar a trabajar, junto con la ID. También creará un nuevo dispositivo de matriz / dev / md {número}, desde allí debería poder encontrar cualquier montaje. No utilice la --autoopción, el lenguaje de la página del manual implica que, bajo ciertas circunstancias, esto puede causar una sobrescritura de la configuración de su matriz en las unidades. Probablemente este no sea el caso, y la página probablemente deba reescribirse para mayor claridad, pero ¿por qué arriesgarse?

Si la matriz se ensambla correctamente y todo es "normal", asegúrese de que su mdadm.conf esté escrito y almacenado /etc, de modo que lo tenga al momento del arranque. Incluya la nueva ID de la matriz en el archivo para ayudarlo.

Avery Payne
fuente
+1 - ¡Justo en! He movido varios conjuntos RAID-1 y RAID-5 entre máquinas Linux. Una cosa de la que no estoy seguro es dónde está viendo la información sobre "--auto". Desde la página del manual en una máquina CentOS 5.1, solo veo que "--auto" crea una entrada (o entradas) / dev / mdX para la matriz. No veo nada que pueda indicar que escribiría en las unidades. (De hecho, "--auto = yes" es el valor predeterminado en mdadm en CentoS 5.1 si no se especifica "--auto".) "--Update" puede ser su amigo si necesita mover una matriz a otra Número mdX del original especificado en el superbloque.
Evan Anderson
Excelente, puedo montar con éxito la matriz. El único problema persistente es que el RAID no aparece después de un reinicio; Tengo que volver a ejecutar mdadm -Av / dev / md0. ¿Alguna idea de por qué?
romandas
¿Recrea el archivo /etc/mdadm.conf? El sistema buscará en este archivo en el momento del arranque para encontrar matrices.
Avery Payne
Yo hice. Lo que hizo la diferencia fue recompilar el núcleo con CONFIG_MD_AUTO. Inicialmente no lo había hecho porque pensé que había una forma en que mdadm lo haría en su lugar. Leí en alguna parte que el código del núcleo no es tan robusto como usar mdadm para el montaje automático, pero ya no puedo encontrar nada que respalde eso.
romandas
2

Solo quería agregar mi respuesta completa para Debian al menos.

  • Instale el administrador de incursiones a través de -> sudo apt-get install mdadm
  • Busque los viejos discos de incursión a través de -> sudo mdadm --assemble --scan

  • En este punto, me gusta verificar BLKIDy montar la incursión manualmente para confirmar.

    blkid mount /dev/md0 /mnt

  • Agregar información a mdadm.conf a través de -> mdadm --detail --scan >> /etc/mdadm/mdadm.conf
  • Actualizar initramfs a través de -> update-initramfs -u

  • Solución de problemas:

Asegúrese de que la salida de mdadm --detail --scancoincide con su/etc/mdadm/mdadm.conf

    nano /etc/mdadm/mdadm.conf

    ARRAY /dev/md/0 level=raid5 num-devices=3 metadata=00.90 UUID=a44a52e4:0211e47f:f15bce44:817d167c
  • Ejemplo de FSTAB

    /dev/md0    /mnt/mdadm   ext4    defaults,nobootwait,nofail     0    2
    

/unix/23879/using-mdadm-examine-to-write-mdadm-conf/52935#52935

/ubuntu/729370/can-i-transfer-my-mdadm-software-raid-to-a-new-system-in-case-of-hardware-failur

¿Cómo muevo un RAID de software de Linux a una nueva máquina?

FreeSoftwareServers
fuente
1
mdadm -Ac partitions -m 0 /dev/md0

Escanee todas las particiones y dispositivos enumerados en / proc / particiones y ensamble / dev / md0 de todos esos dispositivos con un superbloque RAID con un número menor de 0.

si la configuración fue exitosa, puede agregar --detail --scan >> /etc/mdadm/mdadm.conf para que lo detecte en el arranque

elprup
fuente