OVH Community, your new community space.

HDD petado, no arranca. Intentando recuperar los datos...


hieluki
17/05/2013, 16:13
Hola puntodecontrol.

Puedes decirnos en que partición tenias el mysql. A mi tambien me sucede lo mismo.

Un saludo.

puntodecontrol
01/05/2013, 12:32
Gracias a todos, ya pude recuperar todo.

Lo curioso es que el mysql estaba en la otra particion, por lo que tube que montar 2 para recuperar todo.

kennysamuerto
30/04/2013, 17:49
Cita Publicado inicialmente por puntodecontrol
Gracias supermix por responder.

Ya lo monte y recupere todo lo del /home

Lo curioso es que no aparece el directorio mysql por ningun lado y no puedo recuperar las BDs.... podria ser que es lo que se ha petado del hdd??

Porque es super raro que no este dicho directorio en el hdd.
MySQL esta normalmente en el directorio /var/lib/mysql.

Monta la particion de sistema (/), que es donde tendras el directorio /var.

Saludos

puntodecontrol
30/04/2013, 17:29
Gracias supermix por responder.

Ya lo monte y recupere todo lo del /home

Lo curioso es que no aparece el directorio mysql por ningun lado y no puedo recuperar las BDs.... podria ser que es lo que se ha petado del hdd??

Porque es super raro que no este dicho directorio en el hdd.

supermix
30/04/2013, 15:48
Hola, no puedes montar dos particiones diferentes en el mismo directorio, tendras que hacer algo asi

mount /dev/md2 /mnt/
mount /dev/md3 /mnt2/

P.D: previamente crea el directorio mnt2.

Para reconstruir el raid tras la sustitucion de un disco, tienes que copiar la tabla de particiones, del disco intacto que tiene las particiones y los datos, hacia el nuevo disco.

Debes definir las particiones a partir de uno de los discos que siguen en línea.

Para ello puedes utilizar el comando sfdisk :

sfdisk -d /dev/disco_origen | sfdisk -f /dev/disco_destino

Todos los discos del RAID (generalmente sda y sdb) deben tener las mismas particiones.

Para verificar si sus discos tienen particiones introduzca el comando

# fdisk -l



Nota : En el caso de que su servidor acabe de sufrir un cambio de disco, el nuevo disco se entrega sin el RAID configurado y el nuevo disco no contiene ninguna partición.





Redefinir particiones en disco nuevo

En el caso que uno de los discos no tenga partición alguna, hay que copiar la tabla de particiones, del disco intacto que tiene las particiones y los datos, hacia el nuevo disco.

Deberá definir las particiones a partir de uno de los discos que siguen en línea.

Para ello puede utilizar el comando sfdisk :


# sfdisk -d /dev/disco_origen | sfdisk -f /dev/disco_destino




Ejemplos :

En el caso de un cambio de SDA (sda vacío) :

# sfdisk -d /dev/sdb | sfdisk -f /dev/sda



En el caso de un cambio de SDB (sdb vacío) :


# sfdisk -d /dev/sda | sfdisk -f /dev/sdb



Si el servidor tiene GPT con RAID software usted tiene que reemplazar:


# sfdisk -d /dev/sdb | sfdisk /dev/sda

por

# sgdisk -R =/dev/sda /dev/sdb


y en consecuencia reemplazar:


# sfdisk -d /dev/sda | sfdisk /dev/sdb

por

# sgdisk -R =/dev/sdb /dev/sda




Una vez terminada la creación de particiones, podemos proceder a verificar el estado del RAID y en su caso, añadirlas al RAID a través de MDADM según se indica en los pasos siguientes.

Nota : Si tiene varias particiones definidas en RAID (md1, md2, md3...) deberá verificar el estado del RAID para cada partición de RAID y lanzar una reconstrucción para cada una de ellas.




Añadir particiones nuevas

A continuación, es necesario añadir las particiones del disco ausente (removed) al RAID degradado.

Hay que ir partición por partición, añadiendo el disco al disco RAID mdX correspondiente.


Para añadir una partición de datos X al RAID, utilizamos la opción "--add".


# mdadm /dev/mdX --manage --add /dev/discoNuevoX


Nota : Si tiene varias particiones definidas en RAID (md1, md2, md3...) deberá verificar el estado del RAID para cada partición de RAID y lanzar una reconstrucción para cada una de ellas.



Ejemplo :

Por ejemplo, si se ha cambiado el disco sdb, para añadir las particiones /dev/sdb1 y /dev/sdb2 a los RAID md1 y md2 correspondientes :


# mdadm /dev/md1 --manage --add /dev/sdb1
mdadm: hot added /dev/sdb1

# mdadm /dev/md2 --manage --add /dev/sdb2
mdadm: hot added /dev/sdb1




===Añadir SWAP==

Esta operación no puede realizarse en modo Rescue, el servidor debe estar arrancado de forma normal.

Para añadir una partición de intercambio swap utilizamos el comando mkswap.


# mkswap /dev/disco_swap_ausente

# swapon -a



Por ejemplo para añadir la partición sdb3 al swap del sistema :


# mkswap /dev/sdb3

# swapon -a



Ejemplo, Reconstruir RAID1 con disco sdb nuevo


He aquí un ejemplo completo paso a paso, de los comandos, para añadir el disco sdb que acaba de fallar, al RAID1 ya existente.
En este caso, el disco sdb ha sido sustituido por uno nuevo.

Paso 1. Verificación de las particiones

Primero verificamos las particiones de los discos.
En nuestro ejemplo, las particiones están en el disco sda, son las siguientes :


# fdisk -l

Disk /dev/sda: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x0005e2bb

Device Boot Start End Blocks Id System
/dev/sda1 * 1 2550 20480000 fd Linux raid autodetect
/dev/sda2 2550 92408 720759808 fd Linux raid autodetect
/dev/sda3 92408 92536 1024000 82 Linux swap / Solaris


Disk /dev/sdb: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x00077ac7

Device Boot Start End Blocks Id System




Como podemos ver, el disco sdb está vacío. Copiamos las particiones con el comando sfdisk.


# sfdisk -d /dev/sda | sfdisk /dev/sdb



A continuación, reconstruimos los RAID presentes con las particiones ausentes (sdb1 y sdb2) y reasignamos la swap sobre sdb3.


Paso 2. Reconstrucción del RAID md1


Luego añadimos el disco sdb1 en el RAID en modo degradado md1:


# mdadm /dev/md1 --manage --add /dev/sdb1
mdadm: hot added /dev/sdb1



El RAID en reconstrucción :


# cat /proc/mdstat
Personalities : [linear] [raid0] [raid1] [raid5]
read_ahead 1024 sectors
md1 : active raid1 sdb1[2] sda1[0]
3068288 blocks [2/1] [U_]
[=>...................] recovery = 5.4% (167028/3068288) finish=0.8min speed=55676K/sec
md2 : active raid1 sda2[0]
240597376 blocks [2/1] [U_]



Al cabo de algunos minutos, la reconstrucción termina :


# mdadm --misc --detail /dev/md1
/dev/md1:
Version : 00.90.00
Creation Time : Tue Nov 7 22:01:16 2006
Raid Level : raid1
Array Size : 3068288 (2.93 GiB 3.14 GB)
Device Size : 3068288 (2.93 GiB 3.14 GB)
Raid Devices : 2
Total Devices : 2
Preferred Minor : 1
Persistence : Superblock is persistent

Update Time : Wed Nov 8 16:01:02 2006
State : active
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0

UUID : 4a9a446d:af55e24b:b311aa61dc74ed4
Events : 0.14

Number Major Minor RaidDevice State
0 8 1 0 active sync /dev/sda1
1 8 17 1 active sync /dev/sdb1



Paso 3. Reconstrucción del RAID md2

Por último se repite el proceso con el RAID md2 :


# mdadm /dev/md2 --manage --add /dev/sdb2
mdadm: hot added /dev/sdb2


La reconstrucción en curso:


# mdadm --misc --detail /dev/md2
/dev/md2:
Version : 00.90.00
Creation Time : Tue Nov 7 22:01:16 2006
Raid Level : raid1
Array Size : 240597376 (229.45 GiB 246.37 GB)
Device Size : 240597376 (229.45 GiB 246.37 GB)
Raid Devices : 2
Total Devices : 2
Preferred Minor : 2
Persistence : Superblock is persistent

Update Time : Wed Nov 8 16:06:43 2006
State : active, degraded, recovering
Active Devices : 1
Working Devices : 2
Failed Devices : 0
Spare Devices : 1

Rebuild Status : 0% complete

UUID : e8754328:26f28599b834aba:ade37773
Events : 0.10

Number Major Minor RaidDevice State
0 8 2 0 active sync /dev/sda2
1 8 18 1 spare /dev/sdb2


# cat /proc/mdstat
Personalities : [linear] [raid0] [raid1] [raid5]
read_ahead 1024 sectors
md1 : active raid1 sdb1[1] sda1[0]
3068288 blocks [2/2] [UU]

md2 : active raid1 sdb2[2] sda2[0]
240597376 blocks [2/1] [U_]
[>....................] recovery = 0.2% (655104/240597376) finish=73.2min speed=54592K/sec
unused devices:



Paso 4. Verificar el tamaño de SWAP

Por último hay que verificar el tamaño del espacio de intercambio swap.

En nuestro ejemplo las particiones sda3 y sdb3 están definidas como la partición de SWAP.


# cat /proc/swaps

Filename Type Size Used Priority
/dev/sda3 partition 522104 43984 -1



Deberá por tanto añadir el swap al disco que acaba de añadir al RAID (/dev/sdb3 en nuestro ejemplo).


# mkswap /dev/sdb3

# swapon -a



Puede verificar con el comando "free" que todo el espacio de intercambio está de nuevo activo.


# free
total used free shared buffers cached
Mem: 767740 755676 12064 0 24952 239392
-/+ buffers/cache: 491332 276408
Swap: 522104 43984 437420

puntodecontrol
30/04/2013, 15:30
Por otro lado, he probado con esto

root@rescue:~# mount /dev/md1 /mnt/
root@rescue:~# mount /dev/md2 /mnt/
root@rescue:~# fdisk -l

Disk /dev/sdb: 750.2 GB, 750156374016 bytes
255 heads, 63 sectors/track, 91201 cylinders, total
1465149168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0000bfcf

Device Boot Start End Blocks Id
System
/dev/sdb1 4096 614402048 307198976+ fd
Linux raid autodetect
/dev/sdb2 614402049 1448759296 417178624 fd
Linux raid autodetect
/dev/sdb3 1448759297 1465141248 8190976 82
Linux swap / Solaris

Disk /dev/md2: 427.2 GB, 427190845440 bytes
2 heads, 4 sectors/track, 104294640 cylinders, total
834357120 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/md2 doesn't contain a valid partition table

Disk /dev/md1: 314.6 GB, 314571685888 bytes
2 heads, 4 sectors/track, 76799728 cylinders, total
614397824 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/md1 doesn't contain a valid partition table

Disk /dev/md1: 314.6 GB, 314571685888 bytes
2 heads, 4 sectors/track, 76799728 cylinders, total
614397824 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/md1 doesn't contain a valid partition table


Y tp va. Despues de montarlas dice que tanto el md1 como
el md2 no tienen una particion valida.

He probrado de otro modo y me pasa lo mismo.

root@rescue:~# mount -t ext3 /dev/md1 /mnt
root@rescue:~# mount -t ext3 /dev/md2 /mnt
root@rescue:~# fdisk -l

Disk /dev/sdb: 750.2 GB, 750156374016 bytes
255 heads, 63 sectors/track, 91201 cylinders, total
1465149168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0000bfcf

Device Boot Start End Blocks Id
System
/dev/sdb1 4096 614402048 307198976+ fd
Linux raid autodetect
/dev/sdb2 614402049 1448759296 417178624 fd
Linux raid autodetect
/dev/sdb3 1448759297 1465141248 8190976 82
Linux swap / Solaris

Disk /dev/md2: 427.2 GB, 427190845440 bytes
2 heads, 4 sectors/track, 104294640 cylinders, total
834357120 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/md2 doesn't contain a valid partition table

Disk /dev/md1: 314.6 GB, 314571685888 bytes
2 heads, 4 sectors/track, 76799728 cylinders, total
614397824 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/md1 doesn't contain a valid partition table

Alguna idea?

Aparte de esto, cuando cambieis el disco duro se replicara
todo al estar en raid??

puntodecontrol
30/04/2013, 15:22
Gracias por responder, he hecho lo que me has dicho pero lleva asi como 1h y no sale nada...

root@rescue:~# mount -t ext3 /dev/sdb1 /mnt && mount -t ext3 /dev/sdb2 /mnt/home

manoleet
30/04/2013, 11:51
Prueba especificando el tipo de filesystem, por ejemplo:

Código:
mount -t ext3 /dev/sdb1 /mnt && mount -t ext3 /dev/sdb2 /mnt/home
Solo ejecutará el segundo mount si el primero tiene éxito.

puntodecontrol
30/04/2013, 11:40
Hola, a ver si me podeis ayudar antes de que me suicide...

En un reboot el server no arranca y ovh lo pone en modo rescue pues dice que tiene el HD con fallos.

Bien, en modo rescue mi idea es montar el hd para sacar la info pero no puedo (o no se muy bien como) puesto que hay un raid.

root@rescue:~# fdisk -l

Disk /dev/sdb: 750.2 GB, 750156374016 bytes
255 heads, 63 sectors/track, 91201 cylinders, total 1465149168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0000bfcf

Device Boot Start End Blocks Id System
/dev/sdb1 4096 614402048 307198976+ fd Linux raid autodetect
/dev/sdb2 614402049 1448759296 417178624 fd Linux raid autodetect
/dev/sdb3 1448759297 1465141248 8190976 82 Linux swap / Solaris

Disk /dev/md2: 427.2 GB, 427190845440 bytes
2 heads, 4 sectors/track, 104294640 cylinders, total 834357120 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/md2 doesn't contain a valid partition table

Disk /dev/md1: 314.6 GB, 314571685888 bytes
2 heads, 4 sectors/track, 76799728 cylinders, total 614397824 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/md1 doesn't contain a valid partition table


Disk /dev/md1 doesn't contain a valid partition table
root@rescue:~# mount /dev/sdb2 /mnt/
mount: unknown filesystem type 'linux_raid_member'
root@rescue:~# mount /dev/sdb1 /mnt/
mount: unknown filesystem type 'linux_raid_member'
root@rescue:~# mount /dev/sdb /mnt/
mount: /dev/sdb already mounted or /mnt/ busy


Alguien sabe como hacerlo??

Y por otro lado, si el server tiene RAID, al instalar un nuevo HD no se deberian de replicar los datos en el y no perder nada de info?

Un saludo y MIL GRACIAS.