Comment convertir LV ou MD RAID1 et 0 en RAID5 sans perdre de données

Dans ce tutoriel, vous apprendrez comment passer du RAID 0 ou 1 au RAID 5. Comment convertir (sous Linux, avec mdadm ou LVM) un système RAID1(0) logiciel en RAID5 tout en conservant toutes les données qu’il stocke.

Les matrices de disques RAID 0 sont connues pour leur temps d’accès aux données relativement élevé, et c’est pourquoi les gens choisissent de les utiliser principalement en raison de l’augmentation considérable de la vitesse des opérations de lecture et d’écriture. Cependant, leur fiabilité et leur tolérance aux pannes laissent beaucoup à désirer. Même si l’un des disques est en panne, toutes les données d’une telle matrice de disques seront perdues. Récupérer les informations de ce type de matrice est tout un défi, mais même dans ce cas, toutes les données que vous pourrez extraire seront certainement endommagées. En fait, ce type n’est pas vraiment une matrice de disques car il n’offre aucune redondance.

Au contraire, RAID 1 est une solution très fiable et tolérante aux pannes, car toutes les données sont dupliquées sur l’autre disque, créant une copie en miroir des informations sur l’autre disque. Néanmoins, cette approche affecte les vitesses de lecture et d’écriture de l’ensemble de la matrice, de sorte qu’elle semble être plus lente pour accéder aux données, par rapport aux systèmes RAID 0.

Si vous disposez d’un disque de rechange, vous pouvez mettre à niveau la matrice RAID 1 existante vers RAID 5. De cette façon, vous bénéficierez d’une meilleure fiabilité que RAID 0 pourrait offrir, et ressentirez une augmentation impressionnante de la vitesse de lecture/écriture par rapport au RAID 1. Au final, vous obtenez un système RAID 5, à la fois fiable, tolérant aux pannes et suffisamment puissant pour traiter vos données plus rapidement qu’auparavant.

Comment convertir RAID 1 (mirroring) en RAID 5 (parité)

Très bien, nous avons un système logiciel md_RAID1 créé sur un système d’exploitation Linux. Cette matrice se compose de deux disques.

Nous devons le convertir en RAID 5, puis ajouter un autre lecteur, et ce faisant, nous devons nous assurer que toutes les données de la matrice de disques ne disparaissent pas. Il y a plusieurs fichiers là-bas: photos, vidéos, documents, etc.

Avant de commencer la conversion, il est recommandé de sauvegarder les informations importantes car si vous faites une erreur en tapant des commandes, des données importantes peuvent être effacées.

Ouvrez le terminal et exécutez cette commande pour vous assurer que toutes les opérations sont effectuées avec les droits de superutilisateur:

sudo -i

et tapez le mot de passe.

Si la matrice de disques est montée, vous devez la démonter avec cette commande:

umount /dev/md0

or

umount /mnt

Si le système d'exploitation vous indique que la cible est occupée, essayez de forcer cette action:

umount -f /dev/md0

Après cela, vous devez arrêter votre système RAID 1, avec la commande suivante:

mdadm --stop /dev/md0

(qu'il s'agisse de md0 ou d'un autre nom dépend du chemin, qui doit être vérifié)

où md0 est l'identifiant de votre système RAID.

Bien sûr, vous ne pouvez pas l'arrêter s'il s'agit du système RAID à partir duquel vous démarrez, et dans ce cas, vous devrez utiliser un LiveCD.

Vous devez maintenant écraser les métadonnées de l'ancien système RAID 1; pour ce faire, créez un système RAID 5 avec les mêmes disques qui étaient inclus dans le système RAID 1 - sdb et sdc - en tapant cette commande:

mdadm --create /dev/md0 -a yes -l 5 -n 2 /dev/sdb1 /dev/sdc1

où l5 définit le niveau de la matrice,

n2 définit le nombre de lecteurs qu'il comprend, puis ces lecteurs sont spécifiés.

Lorsque la commande est exécutée, le programme vous avertit que ces disques sont déjà utilisés dans un système RAID 1, alors appuyez sur Entrée pour continuer.

Pour vérifier si la conversion a réussi, tapez cette commande:

cat /proc/mdstat

Maintenant, tout ce que vous avez à faire est d'attendre que RAID 5 soit construit: l'état de ce processus est affiché ici, en pourcentage.

Une fois terminé, la commande cat /proc/mdstat affichera les données suivantes.

Après cela, vous pouvez ajouter un nouveau disque à la matrice et en faire un système RAID 5 complet. Ce nouveau disque sera ajouté en tant que disque de secours. Utilisez la commande suivante pour cette étape:

mdadm --add /dev/md0 /dev/sdd1

Après cela, étendez le système RAID aux trois disques actifs (y compris maintenant le disque de secours) avec cette commande:

mdadm --grow /dev/md0 --raid-disks=3

Vérifiez le résultat avec la commande cat /proc/mdstat:

cat /proc/mdstat

Vous pouvez maintenant voir que le système RAID utilise trois disques - sdb, sdc, sdd et le processus de conversion (reshape) a commencé.

Sa progression est indiquée en pourcentage; attendez qu'il soit terminé.

À la fin, vérifiez la matrice de disques pour les erreurs avec la commande suivante:

e2fsck -f /dev/md0

et utilisez une autre commande pour l'étendre:

resize2fs -p /dev/md0

Enfin, la dernière commande met à jour le fichier de configuration:

mdadm --examine --scan >> /etc/mdadm.conf

S'il n'y a pas d'erreurs lors de l'exécution de ces commandes, toutes les données existantes sur votre système RAID 1 seront transférées sur le nouveau RAID 5.

Montez-le et vérifiez ce qui se passe: comme vous pouvez le voir, tous les fichiers sont toujours là et le type de matrice est passé à RAID 5.

Comment convertir RAID 0 (striping) en RAID 5 (parité)

Cependant, vous ne pouvez pas utiliser cette méthode pour passer de RAID 0 à RAID 5 sans formater et perdre toutes les données. Au lieu de cela, il existe un moyen de le convertir rapidement avec une seule commande.

La migration de RAID 0 vers RAID 5 n'est possible que lorsqu'il y a deux disques - alors RAID 0 coïncide avec RAID 5 en termes de structure. Toutes les modifications n'affecteront que le niveau de la matrice, tandis que les informations sur les disques resteront intactes.

Voici la commande qui transforme un RAID 0 composé de deux disques en un RAID 5 comprenant trois disques.

mdadm --grow /dev/md0 --level=5 --raid-devices=3 --add /dev/sdd --backup-file=/tmp/grow_md0.bak

Avant de l'exécuter, démontez la matrice.

Vérifiez le résultat avec la commande:

cat /proc/mdstat

Attendez que l'opération de remodelage soit terminée.

Après avoir changé le type de la matrice en RAID 5, vous pouvez ajouter plus de disques avec la commande que j'ai déjà mentionnée dans ce tutoriel:

mdadm --add /dev/md0 /dev/sdc1

Après le redémarrage, le nom de la matrice deviendra RAID 5.

Si le système RAID 0 contient plus de deux disques, vous devez réduire leur nombre, et ce n'est qu'alors que vous pourrez convertir la matrice en RAID 5.

Comment convertir LRAID1 en LRAID5

Si vous avez utilisé les fonctionnalités LVM pour créer un système RAID, vous pouvez le convertir d'un type de matrice à un autre avec la commande lvconvert:

lvconvert

Exécutez la commande

pvdisplay

pour afficher les informations sur ce groupe de disques.

Si vous souhaitez en savoir plus concernant la création de systèmes RAID MD et LV, consultez l'une des vidéos précédentes en suivant le lien ci-dessous.

Pour démarrer la conversion, démontez le volume logique. Tapez la commande:

umount /dev/vg1/lv1

Utilisez la commande suivante pour modifier le niveau RAID:

lvconvert --type raid5 /dev/vg1/lv1

La dernière étape consiste à ajouter le troisième disque au groupe de disques existant avec cette commande:

vgextend vg1 /dev/sdd1

Lorsque vous l'exécutez, le programme vous avertit que le disque est déjà formaté. Tapez "y" pour confirmer votre décision et appuyez sur Entrée.

Pour vous assurer que le disque est ajouté au groupe, utilisez cette commande:

pvdisplay

Vous pouvez maintenant voir que le groupe se compose de trois disques.

Remontez la matrice et ouvrez-la dans le gestionnaire de fichiers: toutes les données sont là, rien n'est perdu.

Comment convertir LVRAID0 en LVRAID5

La même commande est utilisée pour passer de RAID 0 à RAID 5. La seule étape importante consiste à ajouter le troisième disque au groupe avant de lancer la conversion; sinon, vous verrez l'avertissement que vous n'avez pas assez d'espace pour que cette commande s'exécute.

Ajoutez le troisième disque:

vgextend vg1 /dev/sdd1

Utilisez la commande suivante pour modifier le niveau RAID:

lvconvert --type raid5 /dev/vg1/lv1

Montez la matrice et vérifiez quelles informations sont disponibles. Comme vous pouvez le voir, tous les fichiers sont ici.

Comment récupérer des données à partir de systèmes RAID endommagés

S'il y a eu une erreur dans le processus de conversion d'un niveau RAID en un autre, ou si vous avez accidentellement effacé certaines informations, utilisez un outil de récupération de données fiable, -Hetman RAID Recovery. L'utilitaire lit à partir du système de stockage toutes les informations à propos le contrôleur, la carte mère ou le logiciel utilisé pour créer une matrice de disques.

Notre produit peut reconstruire le RAID en panne et vous permet de copier toutes les informations critiques à partir de là.

Trouvez plus d'informations concernant la récupération de MD et LV RAID dans l'une des vidéos précédentes - je mettrai le lien dans la description comme toujours.

Conclusion

Le passage d'un niveau RAID à un autre peut prendre plusieurs étapes. Au début, vous convertissez la matrice en un type provisoire, puis vous le transformez en le type dont vous avez besoin. Par exemple, pour convertir RAID 1 en RAID 6, vous devez d'abord la transformer en RAID 5, et ensuite seulement il peut être transformé en système RAID 6.

Auteur: , Rédacteur technique

AbdelHamid Balti est un rédacteur technique chez Hetman Software. Il gère les tutoriels, les procédures et les revues détaillées concernant le fonctionnement des outils de l'entreprise avec toutes sortes de périphériques de stockage de données.

Éditeur: , Rédacteur technique

Mykhailo Miroshnychenko est l'un des principaux programmeurs de la société Hetman Software. S'appuyant sur quinze années d'expérience en développement logiciel, il partage ses connaissances avec les lecteurs de notre blog. En plus de la programmation, Mykhailo est un expert dans le domaine de la récupération de données, des systèmes de fichiers, des périphériques de stockage de données et des matrices RAID.

Recommandé pour vous