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
et sdb2
sont de nouvelles partitions vides (sans données).
sda2
et sdc1
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):
mdadm -v --create /dev/md1 --level=raid10 --raid-devices=4 /dev/sda1 missing /dev/sdb2 missing
Notez que dans cet exemple, la présentation sda1
a une contrepartie manquante et sdb2
une autre contrepartie manquante. Vos données sur md1
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:
mdadm -D /dev/md1
Remarque! 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) 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)
rsync -arHx / /where/ever/you/mounted/the/RAID10
4) Échec de la 1ère partie de l'ancien RAID1 (md0) et ajoutez-le au nouveau RAID10 (md1)
mdadm /dev/md0 --fail /dev/sda2 --remove /dev/sda2
mdadm /dev/md1 --add /dev/sda2
Remarque! 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 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 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.
mdadm --stop /dev/md0
mdadm /dev/md0 --remove /dev/sdc1
mdadm /dev/md1 --add /dev/sdc1
Et encore - attendez que la récupération md1
soit terminée.
# 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