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.

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

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.

Visualisation
🐧 How to Convert LV or MD RAID 1 and 0 into RAID 5 Without Losing Data 🐧

🐧 How to Convert LV or MD RAID 1 and 0 into RAID 5 Without Losing Data 🐧

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.

Un système RAID 1 composé 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.

Fichiers stockés sur la matrice de disques

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.

Accés aux privilèges root

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

umount /dev/md0

or

umount /mnt

Démonter le stockage

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

umount -f /dev/md0

Démontage forcé sous Linux

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.

Arrêt de la matrice

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.

Recharger les métadonnées de RAID 1 à RAID 5

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

Le processus de reconstruction

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.

La matrice est reconstruit dans un nouveau type

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

Ajout du troisième lecteur

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

Extension du RAID à un système à trois disques

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

Vérification des erreurs

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

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

Mise à jour du fichier de configuration

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.

Tous les fichiers sont restés intacts

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.

Conversion de RAID 0 en RAID 5

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

Ajout de disques au système RAID

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.

Visualisation
💽 How to Setup Software RAID with MDADM Comand on Linux Ubuntu in 2021 💾

💽 How to Setup Software RAID with MDADM Comand on Linux Ubuntu in 2021 💾

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

Convertissez LVM de niveau un en niveau cinq

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.

Ajouter un nouveau lecteur au groupe

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

Toutes les informations sont conservées

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

Convertissez LVM de niveau un en niveau cinq

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

Toutes les informations sont restées inchangées

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.

Récupération des données des matrices RAID endommagées inaccessibles pour l'ordinateur.
Le programme a identifié la matrice sans aucune difficulté

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

Le programme a trouvé toutes les données supprimées et elles peuvent être récupérées maintenant

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.

Visualisation
🐧 How to Recover Data from Linux-Based Software RAID 0, RAID 1, RAID 5 🐧

🐧 How to Recover Data from Linux-Based Software RAID 0, RAID 1, RAID 5 🐧

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.

Abdelhamid Balti

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.

Mykhailo Miroshnychenko

É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

Vous êtes accueilli par l'assistant Hetman Software, créé sur la base de l'intelligence artificielle.
Démarrer la discussion