5 votes

Convertir RAID 1 en RAID 10 dans mdadm

Dans mon serveur Ubuntu actuel, j'ai deux disques durs Western Digital RED de 2 To dans un RAID 1, en utilisant mdadm. J'aimerais ajouter 2 disques RED supplémentaires de 2 To et les convertir en RAID 10. Je sais que je devrais probablement effacer les données, mais y a-t-il un moyen de ne pas avoir à le faire ? Le volume de 2 To est presque entièrement rempli.

11voto

Luke Dennis Points 4805

Cela a demandé une certaine stratégie et, malheureusement, c'était il y a un certain temps, alors soyez indulgents avec moi ; je me souviens de ce qui s'est passé.

Pour l'essentiel, j'ai éteint le serveur et installé les deux nouveaux disques. J'ai fait une sauvegarde préalable sur un disque dur externe de 4 To (beaucoup plus rapide depuis qu'il a l'USB3 !), juste au cas où. Je n'ai pas eu besoin de l'utiliser, heureusement, mais je suis content de l'avoir fait. J'ai pris note de la taille des partitions sur le disque (par taille de bloc), et de la taille de chaque disque. A l'époque, sda y sdb étaient les lecteurs avec le tableau actuel chargé. sdc y sdd étaient les nouveaux lecteurs. J'ai copié la disposition des partitions sur les deux nouveaux disques, en utilisant la fonction fdisk comme racine. J'ai ensuite créé un nouveau tableau, avec deux membres manquants :

mdadm -v --create /dev/md1 --level=raid10 --raid-devices=4 /dev/sdc1 missing /dev/sdd2 missing

Cette commande crée le tableau, appelé /dev/md1 Il définit le type de RAID à 10 et indique qu'il devrait y avoir 4 périphériques, dans un monde parfait. Les périphériques que j'ai ajoutés sont /dev/sdc1 y /dev/sdd1 pour la première partition. Une fois qu'il a été installé, j'ai monté la matrice (en tant que /mnt/raid ), et a fait un rsync -avP /mnt/data/ /mnt/raid/ et a attendu un jour pour que tout soit copié.

Une fois qu'il a été copié, vous devez mettre hors service les disques durs de la matrice et les retirer : mdadm /dev/md0 --fail /dev/sda1 --remove /dev/sda1 . Vous pouvez alors ajouter ce disque dur à la nouvelle matrice et attendre qu'elle se reconstruise. Ensuite, retirez le dernier disque dur de la matrice (à l'aide de la fonction /deb/sdb à la place), et le rajouter ( mdadm /dev/md1 --add /dev/sda1 ).

Enfin, pour empêcher l'ancien tableau de démarrer ou de donner des avertissements, exécutez la commande mdadm --stop /dev/md0 . A ce stade, l'ancien tableau a disparu ! Je vous conseille de vérifier que le boot loader est correctement installé sur la matrice (ou, selon votre schéma, sur le secteur d'amorçage des disques durs). Faites un test de redémarrage ; si tout s'affiche, c'est parfait ! Si ce n'est pas le cas, c'est la raison pour laquelle nous avons une sauvegarde !

En prime, j'ai appris une nouvelle commande utile : watch cat /proc/mdstat pour actualiser automatiquement l'écran toutes les 2 secondes avec l'état de reconstruction de vos disques. J'ai également a rédigé un article de blog sur mon expérience, avec des photos.

-1voto

STTR Points 6623

Si le contrôleur RAID prend en charge la restructuration RAID 1 -> RAID 10, oui, la perte de données est possible.

RAID logiciel ...

Ajouter le réseau vide RAID 1 sur deux nouveaux disques durs. Raid c aura-t-il la même fiabilité et sans risque de perte de données.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X