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.
Réponses
Trop de publicités?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.