Récupération de données · 4 min read · Dec 25, 2025
Récupérer des données à partir de partitions RAID1 LVM avec Knoppix Linux LiveCD
Récupérer des données à partir de partitions RAID1 LVM avec Knoppix Linux LiveCD
Version 1.0
Auteur : Till Brehm
Dernière modification : 04/11/2007
Ce tutoriel décrit comment sauver des données à partir d’un disque dur unique qui faisait partie d’une configuration LVM2 RAID1 comme celle créée par exemple par l’installateur de Fedora Core. Pourquoi est-il si problématique de récupérer les données ? Chaque disque dur qui faisait auparavant partie d’une configuration LVM RAID1 contient toutes les données qui étaient stockées dans le RAID, mais le disque dur ne peut pas simplement être monté. Tout d’abord, une configuration RAID doit être configurée pour la ou les partition(s) et ensuite LVM doit être configuré pour utiliser cette (ces) partition(s) RAID avant que vous puissiez la monter. J’utiliserai le Knoppix Linux LiveCD pour effectuer la récupération des données.
Prérequis
J’ai utilisé un Knoppix 5.1 LiveCD pour ce tutoriel. Téléchargez l’image ISO du CD ici et gravez-la sur un CD, puis connectez le disque dur qui contient la ou les partition(s) RAID au contrôleur IDE / ATA de votre carte mère, mettez le CD Knoppix dans votre lecteur de CD et démarrez à partir du CD.
Le disque dur que j’ai utilisé est un disque IDE qui est attaché au premier contrôleur IDE (hda). Dans mon cas, le disque dur ne contenait qu’une seule partition.
Restauration du RAID
Après que Knoppix a démarré, ouvrez un shell et exécutez la commande :
sudo supour devenir l’utilisateur root.
Comme je n’ai pas le fichier mdadm.conf de la configuration originale, je le crée avec cette commande :
mdadm --examine --scan /dev/hda1 >> /etc/mdadm/mdadm.confLe résultat devrait être similaire à celui-ci :
DEVICE partitions
CREATE owner=root group=disk mode=0660 auto=yes metadata=1
MAILADDR root
ARRAY /dev/md0 level=raid1 num-devices=2 UUID=a28090aa:6893be8b:c4024dfc:29cdb07a
Modifiez le fichier et ajoutez devices=/dev/hda1,missing à la fin de la ligne qui décrit le tableau RAID.
vi /etc/mdadm/mdadm.confEnfin, le fichier ressemble à ceci :
DEVICE partitions
CREATE owner=root group=disk mode=0660 auto=yes metadata=1
MAILADDR root
ARRAY /dev/md0 level=raid1 num-devices=2 UUID=a28090aa:6893be8b:c4024dfc:29cdb07a devices=/dev/hda1,missing
La chaîne /dev/hda1 est le périphérique matériel et missing signifie que le deuxième disque de ce tableau RAID n’est pas présent pour le moment.
Modifiez le fichier /etc/default/mdadm :
vi /etc/default/mdadmet changez la ligne :
AUTOSTART=falseen :
AUTOSTART=true
Maintenant, nous pouvons démarrer notre configuration RAID :
/etc/init.d/mdadm start
/etc/init.d/mdadm-raid start
Pour vérifier si notre périphérique RAID est ok, exécutez la commande :
cat /proc/mdstatLa sortie devrait ressembler à ceci :
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid1 hda1[1]
293049600 blocks [2/1] [_U]
unused devices:
Récupération de la configuration LVM
Le fichier de configuration LVM ne peut pas être créé par une commande simple comme le mdadm.conf, mais LVM stocke une ou plusieurs copie(s) du contenu du fichier de configuration au début de la partition. J’utilise la commande dd pour extraire la première partie de la partition et l’écrire dans un fichier texte :
dd if=/dev/md0 bs=512 count=255 skip=1 of=/tmp/md0.txtOuvrez le fichier avec un éditeur de texte :
vi /tmp/md0.txtVous trouverez d’abord des données binaires, puis une partie du fichier de configuration comme ceci :
VolGroup00 {
id = "evRkPK-aCjV-HiHY-oaaD-SwUO-zN7A-LyRhoj"
seqno = 2
status = ["RESIZEABLE", "READ", "WRITE"]
extent_size = 65536 # 32 Megabytes
max_lv = 0
max_pv = 0
physical_volumes {
pv0 {
id = "uMJ8uM-sfTJ-La9j-oIuy-W3NX-ObiT-n464Rv"
device = "/dev/md0" # Hint only
status = ["ALLOCATABLE"]
pe_start = 384
pe_count = 8943 # 279,469 Gigabytes
}
}
logical_volumes {
LogVol00 {
id = "ohesOX-VRSi-CsnK-PUoI-GjUE-0nT7-ltxWoy"
status = ["READ", "WRITE", "VISIBLE"]
segment_count = 1
segment1 {
start_extent = 0
extent_count = 8942 # 279,438 Gigabytes
type = "striped"
stripe_count = 1 # linear
stripes = [
"pv0", 0
]
}
}
}
}Créez le fichier /etc/lvm/backup/VolGroup00 :
vi /etc/lvm/backup/VolGroup00et insérez les données de configuration afin que le fichier ressemble à l’exemple ci-dessus.
Maintenant, nous pouvons démarrer LVM :
/etc/init.d/lvm startLisez le volume :
vgscanLecture de tous les volumes physiques. Cela peut prendre un certain temps…
Groupe de volumes trouvé “VolGroup00” utilisant le type de métadonnées lvm2
pvscanPV /dev/md0 VG VolGroup00 lvm2 [279,47 GB / 32,00 MB free]
Total : 1 [279,47 GB] / en utilisation : 1 [279,47 GB] / dans aucun VG : 0 [0 ]
et activez le volume :
vgchange VolGroup00 -a y 1 logical volume(s) in volume group "VolGroup00" now activeMaintenant, nous pouvons monter la partition sur /mnt/data :
mkdir /mnt/data
mount /dev/VolGroup00/LogVol00 /mnt/data/
Si vous récupérez des données d’un disque dur avec des noms de fichiers au format UTF-8, il peut être nécessaire de les convertir dans votre locale actuelle non-UTF-8. Dans mon cas, le disque dur RAID provient d’un système Fedora Core avec des noms de fichiers encodés en UTF-8. Ma locale cible est ISO-8859-1. Dans ce cas, le script Perl convmv aide à convertir les noms de fichiers dans la locale cible.
Installation de convmv
cd /tmp
wget http://j3e.de/linux/convmv/convmv-1.10.tar.gz
tar xvfz convmv-1.10.tar.gz
cd convmv-1.10
cp convmv /usr/bin/convmv
Pour convertir tous les noms de fichiers dans /mnt/data à la locale ISO-8859-1, exécutez cette commande :
convmv -f UTF-8 -t ISO-8859-1 -r --notest /mnt/data/*Si vous souhaitez tester la conversion d’abord, utilisez :
convmv -f UTF-8 -t ISO-8859-1 -r /mnt/data/*Liens
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.