Hace ya un tiempo me tocó lidiar con este problema. Fue un arduo trabajo, nunca lo había hacho antes, pero que dió buenos resultados. Seguí los pasos de este HowTo.
Lo primero que necesitamos es tener una versión de Knoppix que podemos descargar desde aquí. La quemamos en un CD y booteamos con el nuevo CD.
Restaurando el RAID
Una vez que Knoppix haya arrancado ejecutamos
sudo su
para convertirnos en usuario root
Como no tengo en archivo de configuración original (mdadm.conf), lo voy a crear con el siguiente comando:
mdadm --examine --scan /dev/sda1 >> /etc/mdadm/mdadm.conf
el resultado debería ser algo como esto:
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
Editamos la línea que describe el array y agregamos devices=/dev/sda1,missing:
vi /etc/mdadm/mdadm.conf
debería quedar algo así:
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/sda1,missing
La cadena /dev/sda1 es el disco del cual queremos recuperar los datos y missing significa que el segundo disco de este RAID no está presente.
Editamos el archivo /etc/default/mdadm:
vi /etc/default/mdadm
y cambiamos la línea
AUTOSTART=false
por
AUTOSTART=true
Ahora podemos levantar nuestra configuración del RAID
/etc/init.d/mdadm start
/etc/init.d/mdadm-raid start
Para corroborar que nuestro RAID esté OK usamos el comando:
cat /proc/mdstat
la salida es algo como esto:
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [ra id10]
md0 : active raid1 hda1[1]
293049600 blocks [2/1] [_U]
unused devices:
Recuperando la configuración de LVM
LVM guarda una o varias copias del archivo de configuración en el inicio de la partición. Con lo cual podemos utilizar el comando dd para recuperarla.
dd if=/dev/md0 bs=512 count=255 skip=1 of=/tmp/md0.txt
lo abrimos con un editor de textos
vi /tmp/md0.txt
vamos a ver algunos datos binarios, lo que nos interesa es algo como esto:
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
]
}
}
}
}
creamos el archivo /etc/lvm/backup/VolGroup00
vi /etc/lvm/backup/VolGroup00
e insertamos la configuración de LVM.
Ahora estamos listos para levantar el servicio LVM:
/etc/init.d/lvm start
y activamos el volúmen:
vgchange VolGroup00 -a y
1 logical volume(s) in volume group "VolGroup00" now active
Ya estamos listos para montar nuestra partición:
mkdir /mnt/data
mount /dev/VolGroup00/LogVol00 /mnt/data/
Ahora podemos recuperar los datos desde /mnt/data


