Comment déplacer un RAID logiciel Linux vers une nouvelle machine?

20

J'ai une machine nouvellement construite avec une nouvelle installation Gentoo Linux et une matrice logicielle RAID 5 d'une autre machine (4 disques IDE connectés à des contrôleurs PCI hors carte). J'ai réussi à déplacer les contrôleurs vers la nouvelle machine; les disques sont détectés par le noyau; et j'ai utilisé mdadm --examine et vérifié que la partition RAID unique est détectée, propre et même dans le "bon" ordre (hde1 == lecteur 0, hdg1 == lecteur 1, etc.).

Ce à quoi je n'ai pas accès, ce sont les fichiers de configuration d'origine de l'ancienne machine. Comment dois-je procéder pour réactiver cette baie sans perdre les données?

romandas
la source

Réponses:

20

Vous avez vraiment besoin du fichier mdadm.conf d'origine. Mais, comme vous ne l'avez pas, vous devrez le recréer. Tout d'abord, avant de faire quoi que ce soit, lisez mdadm via sa page de manuel . Pourquoi risquer de perdre vos données dans une situation ou une commande que vous ne compreniez pas?

Cela étant dit, ces conseils sont à vos risques et périls. Vous pouvez facilement perdre toutes vos données avec les mauvaises commandes. Avant d'exécuter quoi que ce soit, revérifiez les ramifications de la commande . Je ne peux être tenu responsable de la perte de données ou d'autres problèmes liés aux actions que vous prenez - alors vérifiez tout .

Vous pouvez essayer ceci:

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

Cela devrait vous donner quelques informations pour commencer à travailler avec, ainsi que l'ID. Il créera également un nouveau périphérique de baie / dev / md {numéro}, à partir de là, vous devriez pouvoir trouver des montures. N'utilisez pas cette --autooption, le verbiage de la page de manuel implique que dans certaines circonstances, cela peut provoquer un écrasement des paramètres de votre baie sur les disques. Ce n'est probablement pas le cas, et la page doit probablement être réécrite pour plus de clarté, mais pourquoi le hasard?

Si le tableau s'assemble correctement et que tout est "normal", assurez-vous d'avoir votre mdadm.conf écrit et stocké dans /etc, donc vous l'avez au démarrage. Incluez le nouvel ID du tableau dans le fichier pour l'aider.

Avery Payne
la source
+1 - Tout de suite! J'ai déplacé plusieurs ensembles RAID-1 et RAID-5 entre des machines Linux. Une chose dont je ne suis pas sûr, c'est où vous voyez les informations sur "--auto". À partir de la page de manuel sur une machine CentOS 5.1, je vois seulement que "--auto" crée une entrée (ou des entrées) / dev / mdX pour le tableau. Je ne vois rien qui pourrait indiquer qu'il écrirait sur les disques. (En fait, "--auto = yes" est la valeur par défaut dans le mdadm sur CentoS 5.1 si "--auto" n'est pas spécifié.) "--Update" peut être votre ami si vous devez déplacer un tableau vers un autre numéro mdX de l'original spécifié dans le superbloc.
Evan Anderson
Excellent, je peux monter la baie avec succès. Le seul problème persistant est que le RAID ne survient pas après un redémarrage; Je dois relancer mdadm -Av / dev / md0. Une idée pourquoi?
romandas
Avez-vous recréé le fichier /etc/mdadm.conf? Le système cherchera dans ce fichier au démarrage pour trouver des tableaux.
Avery Payne
J'ai fait. Ce qui a fait la différence, c'est la recompilation du noyau avec CONFIG_MD_AUTO. Je ne l'avais pas fait au départ parce que je pensais qu'il y avait un moyen pour que mdadm le fasse à la place. J'ai lu quelque part que le code du noyau n'est pas aussi robuste que l'utilisation de mdadm pour le montage automatique, mais je ne trouve plus rien pour le sauvegarder.
romandas
2

Je voulais juste ajouter au moins ma réponse complète pour Debian.

  • Installez le gestionnaire de raid via -> sudo apt-get install mdadm
  • Recherchez les anciens disques de raid via -> sudo mdadm --assemble --scan

  • À ce stade, j'aime vérifier BLKIDet monter le raid manuellement pour confirmer.

    blkid mount /dev/md0 /mnt

  • Ajouter des informations à mdadm.conf via -> mdadm --detail --scan >> /etc/mdadm/mdadm.conf
  • Mettre à jour initramfs via -> update-initramfs -u

  • Dépannage:

Assurez-vous que la sortie de mdadm --detail --scancorrespond à votre/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
  • Exemple 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

Comment déplacer un RAID logiciel Linux vers une nouvelle machine?

FreeSoftwareServers
la source
1
mdadm -Ac partitions -m 0 /dev/md0

Analysez toutes les partitions et tous les périphériques répertoriés dans / proc / partitions et assemblez / dev / md0 à partir de tous ces périphériques avec un superbloc RAID avec un nombre mineur de 0.

si la conf a réussi, vous pouvez ajouter --detail --scan >> /etc/mdadm/mdadm.conf pour qu'il le rattrape au démarrage

elprup
la source