mdadm
ne semble pas prendre en charge la croissance d'un tableau du niveau 1 au niveau 10.
J'ai deux disques en RAID 1. Je veux ajouter deux nouveaux disques et convertir la matrice en une matrice RAID 10 à quatre disques.
Ma stratégie actuelle:
- Faites une bonne sauvegarde.
- Créez une matrice RAID 10 à 4 disques dégradée avec deux disques manquants.
rsync
the RAID 1 array with the RAID 10 array.
un disque de la matrice RAID 1.fail
and remove- Ajoutez le disque disponible à la matrice RAID 10 et attendez la fin de la resynchronisation.
- Détruisez la matrice RAID 1 et ajoutez le dernier disque à la matrice RAID 10.
Le problème est le manque de redondance à l'étape 5.
Y a-t-il une meilleure façon?
linux
software-raid
mdadm
Hans Malherbe
la source
la source
Réponses:
Avec linux softraid, vous pouvez créer une matrice RAID 10 avec seulement deux disques.
Noms des appareils utilisés ci-dessous:
md0
est l'ancien tableau de type / niveau RAID1.md1
est le nouveau tableau de type / niveau RAID10.sda1
etsdb2
sont de nouvelles 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 exemple
lsblk
pour afficher votre mise en page actuelle.0) Sauvegarde, sauvegarde, sauvegarde, sauvegarde oh et sauvegarde
1) Créez la nouvelle baie (4 appareils: 2 existants, 2 manquants):
Notez que dans cet exemple, la présentation
sda1
a une contrepartie manquante etsdb2
une autre contrepartie manquante. Vos données surmd1
ne sont pas sécurisées à ce stade (il s'agit en fait de RAID0 jusqu'à ce que vous ajoutiez des membres manquants).Pour afficher la disposition et les autres détails de la matrice créée, utilisez:
Remarque! Vous devez enregistrer la disposition du tableau:
2) Formatez et montez. Le
/dev/md1
devrait être immédiatement utilisable, mais doit être formaté puis monté.3) Copiez les fichiers. Utilisez par exemple 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)
4) Échec de la 1ère partie de l'ancien RAID1 (md0) et ajoutez-le au nouveau RAID10 (md1)
Remarque! Cela effacera les données de
sda2
. Lemd0
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
md1
. Pour vérifier l'état, utilisez l'une des commandes ci-dessous:Attendez 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 A FONCTIONNÉ CORRECTEMENT Détruisez l'ancienne baie et ajoutez le disque restant à la nouvelle baie.
POINT DE NON RETOUR
À ce stade, vous détruirez les données sur le dernier membre de l'ancien tableau md0. Soyez absolument sûr que tout fonctionne.
Et encore - attendez que la récupération
md1
soit terminée.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)
la source
Suivez la même procédure que Mark Turner mais lorsque vous créez le tableau de raid, mentionnez 2 disques manquants
Et puis passez à d'autres étapes.
En bref, créez RAID10 avec un total de 4 disques (dont 2 manquants), resynchronisez, ajoutez deux autres disques après cela.
la source
Je viens de passer de LVM sur deux disques de 2 To mdadm RAID 1 à LVM sur quatre disques RAID 10 (deux originaux + deux nouveaux disques).
Comme @aditsu l'a noté, l'ordre des disques est important lors de la création de la baie.
Le code ci-dessus donne un tableau utilisable avec deux disques manquants (ajoutez des numéros de partition si vous n'utilisez pas des disques entiers). Dès que le troisième disque est ajouté, il commencera à se synchroniser. J'ai ajouté le quatrième disque avant la fin de la synchronisation du troisième. Il s'est affiché comme pièce de rechange jusqu'à la fin du troisième disque, puis a commencé la synchronisation.
Étapes pour ma situation:
Faites une bonne sauvegarde.
Créez une matrice RAID 10 à 4 disques dégradée avec deux disques manquants (nous appellerons les disques manquants n ° 2 et 4).
Dites à votre femme de ne pas modifier / ajouter de fichiers qui l'intéressent
Échec et retrait d'un disque de la matrice RAID 1 (disque 4).
Déplacez les extensions physiques de la matrice RAID 1 vers la matrice RAID 10 en laissant le disque 2 vide.
Tuez la matrice RAID 1 active, ajoutez ce disque maintenant vide (disque 2) à la matrice RAID 10 et attendez la fin de la resynchronisation.
Ajoutez le premier disque retiré du RAID 1 (disque 4) à la matrice RAID 10.
Donne à ta femme.
À l'étape 7, je pense que le lecteur 1, 2, OU 4 peut échouer (pendant la resynchronisation du disque 4) sans tuer le module RAID. Si le lecteur 3 tombe en panne, les données du module RAID sont grillées.
la source
J'ai déplacé mon raid1 vers raid10 maintenant et même si cette page m'a aidé, mais il y a des choses qui manquent dans les réponses ci-dessus. En particulier, mon objectif était de garder les heures de naissance ext4.
la configuration était:
comme quelqu'un l'a déjà dit: l' étape zéro doit être une sauvegarde et il peut toujours y avoir quelque chose qui ne va pas dans le processus, ce qui entraîne une perte de données extrême
SAUVEGARDE
configuration du nouveau raid
créer un nouveau raid
(J'ai trouvé que la mise en page est importante .. les 2e et 4e semblent être les doublons dans un raid par défaut "proche")
émigrer
maintenant obtenir les données ... j'ai d'abord essayé d'utiliser rsync qui a fonctionné mais n'a pas réussi à garder l'heure de naissance ... utilisez dd pour cloner de l'ancien raid au nouveau
ATTENDEZ-LE,
vous pouvez vérifier en envoyant USR1 à ce processus
réparer le raid
gparted est un excellent outil: vous lui dites de vérifier et de réparer la partition et de la redimensionner à la taille complète de ce disque avec seulement quelques clics de souris;)
définissez un nouvel uuid sur cette partition et mettez à jour votre fstab avec elle (changez uuid)
stocker votre raid dans conf
et retirer l'ancien
détruire l'ancien
échouer le premier et l'ajouter au nouveau raid
puis faites gpt sur cet appareil et définissez une nouvelle partition vide
ATTENDEZ-LE,
vous pouvez vérifier avec
arrête le deuxième
puis faites gpt sur ce dernier appareil et définissez à nouveau une nouvelle partition vide
ATTENDEZ-LE à nouveau
la source
Je l'ai fait avec LVM. Configuration initiale: - sda2, sdb2 - et créé raid1 md1 sur le dessus. sda1 et sdb1 ont été utilisés pour le deuxième raid1 pour la partition / boot. - md1 était pv dans l'espace du groupe de volumes, avec quelques lvm dessus.
J'ai ajouté des disques sdc et sdd et y ai créé des partitions comme sur sda / sdb.
Alors:
créé md10 comme:
mdadm --create / dev / md10 --level raid10 --raid-devices = 4 / dev / sdc2 manquant / dev / sdd2
étendre vg dessus:
pvcreate / dev / md10 espace vgextend / dev / md10
volumes déplacés de md1 à md10:
pvmove -v / dev / md1 / dev / md10
(attendre la fin) 4. réduire le groupe de volumes:
arrêter le tableau md1:
mdadm -S / dev / md1
ajouter des disques de l'ancien md1 au md10:
mdadm -a / dev / md10 / dev / sda2 / dev / sdb2
mettre à jour la configuration dans /etc/mdadm/mdadm.conf:
mdadm -E --scan >> / dev / mdadm / mdadm.conf
(et enlevez-y l'ancien md1)
Tout est fait sur le système en direct, avec des volumes actifs utilisés pour les kvm;)
la source