Solution 1 :
Avec Linux softraid, vous pouvez créer une matrice RAID 10 avec seulement deux disques.
Noms d'appareils utilisés ci-dessous :
md0
est l'ancien tableau de type/niveau RAID1.md1
est la nouvelle matrice de type/niveau RAID10.sda1
etsdb2
sont nouveaux , partitions vides (sans données).sda2
etsdc1
sont d'anciennes partitions (avec des données cruciales).
Remplacez les noms en fonction de votre cas d'utilisation. Utilisez par ex. lsblk
pour afficher votre mise en page actuelle.
0) Sauvegarde, Sauvegarde, Sauvegarde, Sauvegarde et SAUVEGARDE
1) Créez la nouvelle baie (4 appareils :2 existants, 2 manquants) :
mdadm -v --create /dev/md1 --level=raid10 --raid-devices=4 /dev/sda1 missing /dev/sdb2 missing
Notez que dans cet exemple de mise en page sda1
a une contrepartie manquante et sdb2
a un autre homologue manquant. Vos données sur md1
n'est pas sûr à ce stade (en fait, il s'agit de RAID0 jusqu'à ce que vous ajoutiez des membres manquants).
Pour afficher la mise en page et d'autres détails de l'utilisation du tableau créé :
mdadm -D /dev/md1
Noter! Vous devez enregistrer la disposition du tableau :
# View current mdadm config:
cat /etc/mdadm/mdadm.conf
# Add new layout (grep is to make sure you don't re-add md0):
mdadm --detail --scan | grep "/dev/md1" | tee -a /etc/mdadm/mdadm.conf
# Save config to initramfs (to be available after reboot)
update-initramfs -u
2) Formater et monter. Le /dev/md1
doit être immédiatement utilisable, mais doit être formaté puis monté.
3) Copiez les fichiers. Utilisez par ex. rsync pour copier les données de l'ancien RAID 1 vers le nouveau RAID 10. (ce n'est qu'un exemple de commande, lisez les pages de manuel pour rsync)
rsync -arHx / /where/ever/you/mounted/the/RAID10
4) Faites échouer la 1ère partie de l'ancien RAID1 (md0) et ajoutez-la au nouveau RAID10 (md1)
mdadm /dev/md0 --fail /dev/sda2 --remove /dev/sda2
mdadm /dev/md1 --add /dev/sda2
Noter! Cela effacera les données de sda2
. Le md0
devrait toujours être utilisable, mais seulement si l'autre membre du raid était pleinement opérationnel.
Notez également que cela commencera les processus de synchronisation/récupération sur md1
. Pour vérifier l'état, utilisez l'une des commandes ci-dessous :
# status of sync/recovery
cat /proc/mdstat
# details
mdadm -D /dev/md1
Attendez jusqu'à ce que la récupération soit terminée.
5) Installez GRUB sur la nouvelle baie (en supposant que vous démarrez à partir de celle-ci). Certains CD de secours/démarrage Linux fonctionnent mieux.
6) Démarrez sur une nouvelle baie. SI CELA FONCTIONNE CORRECTEMENT Détruisez l'ancienne matrice et ajoutez le disque restant à la nouvelle matrice.
POINT DE NON-RETOUR
À ce stade, vous allez détruire les données du dernier membre de l'ancien tableau md0. Soyez absolument sûr que tout fonctionne.
mdadm --stop /dev/md0
mdadm /dev/md0 --remove /dev/sdc1
mdadm /dev/md1 --add /dev/sdc1
Et encore - attendez jusqu'à la reprise sur md1
est terminé.
# status of sync/recovery
cat /proc/mdstat
# details
mdadm -D /dev/md1
7) Mettre à jour la configuration mdadm
N'oubliez pas de mettre à jour /etc/mdadm/mdadm.conf
(supprimer md0).
Et enregistrez la configuration dans initramfs (pour être disponible après le redémarrage)
update-initramfs -u
Solution 2 :
Suivez la même procédure que Mark Turner mais lorsque vous créez la matrice raid, mentionnez 2 disques manquants
mdadm -v --create /dev/md1 --level=raid10 --raid-devices=4 /dev/sda1 missing /dev/sdb2 missing
Puis passez aux autres étapes.
En bref, créez RAID10 avec un total de 4 disques (dont 2 sont manquants), resynchronisez, ajoutez deux autres disques après cela.
Solution 3 :
Je viens de passer de LVM sur deux disques mdadm RAID 1 de 2 To à LVM sur un RAID 10 à quatre disques (deux originaux + deux nouveaux disques).
Comme @aditsu l'a noté, l'ordre des lecteurs est important lors de la création de la baie.
mdadm -v --create /dev/md1 --level=raid10 --raid-devices=4 /dev/sda missing /dev/sdb missing
Le code ci-dessus donne un tableau utilisable avec deux disques manquants (ajoutez des numéros de partition si vous n'utilisez pas de disques entiers). Dès que le troisième disque est ajouté, il commencera à se synchroniser. J'ai ajouté le quatrième disque avant que le troisième ne termine la synchronisation. Il s'est affiché comme disque de secours jusqu'à ce que le troisième disque soit terminé, puis il a commencé à se synchroniser.
Étapes pour ma situation :
-
Faites une bonne sauvegarde.
-
Créez une matrice RAID 10 dégradée à 4 disques avec deux disques manquants (nous appellerons les disques manquants #2 et 4).
-
Dites à votre femme de ne pas modifier/ajouter des fichiers qui l'intéressent
-
Échouez et supprimez un disque de la matrice RAID 1 (disque 4).
-
Déplacez les étendues physiques de la matrice RAID1 vers la matrice RAID 10 en laissant le disque 2 vide.
-
Tuez la matrice RAID 1 active, ajoutez ce disque désormais vide (disque 2) à la matrice RAID 10 et attendez que la resynchronisation soit terminée.
-
Ajoutez le premier disque supprimé de RAID1 (disque 4) à la matrice RAID 10.
-
Donne à ta femme vas-y.
À l'étape 7, je pense que le lecteur 1, 2, OU 4 peut échouer (lors de la resynchronisation du disque 4) sans tuer la matrice. Si le lecteur 3 tombe en panne, les données de la matrice sont grillées.