Recuperar Raid1 si falla uno de los discos

De Wikillano

  • - Crear las particiones iguales a las del disco que está OK,
  • - Hay que ponerlas tipo fd - Linux raid autodetect
  • - Si alguna de estas es bootable tendremos que activarla también

Mediante fdisk dejaremos las particiones iguales en los dos discos:

disco /dev/hda

Disk /dev/hda: 40.0 GB, 40020664320 bytes
255 heads, 63 sectors/track, 4865 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
  Device Boot      Start         End      Blocks   Id  System
/dev/hda1   *           1          16      128488+  fd  Linux raid autodetect
/dev/hda2              17         624     4883760   fd  Linux raid autodetect
/dev/hda3             625        4865    34065832+   5  Extended
/dev/hda5             625         746      979933+  fd  Linux raid autodetect
/dev/hda6             747        4865    33085836   fd  Linux raid autodetect

Disco /dev/hdb

Disk /dev/hdb: 40.0 GB, 40020664320 bytes
255 heads, 63 sectors/track, 4865 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
  Device Boot      Start         End      Blocks   Id  System
/dev/hdb1   *           1          16      128488+  fd  Linux raid autodetect
/dev/hdb2              17         624     4883760   fd  Linux raid autodetect
/dev/hdb3             625        4865    34065832+   5  Extended
/dev/hdb5             625         746      979933+  fd  Linux raid autodetect
/dev/hdb6             747        4865    33085836   fd  Linux raid autodetect


cuando tengamos los 2 discos EXACTAMENTE IGUALES podremos empezar a re-hacer el raid.

En este momento el raid esta de la siguiente manera:


md3 : active raid1 hda6[1]
      33085760 blocks [2/1] [_U]
     
md2 : active raid1 hda5[1]
     979840 blocks [2/1] [_U]
     
md1 : active raid1 hda2[1]
     4883648 blocks [2/1] [_U]
     
md0 : active raid1 hda1[1]
     128384 blocks [2/1] [_U]

podemos ver como existe un raid que debería estar compuesto por dos discos, ahora mismo sólo hay un disco activo el hda

el dispositivo /dev/md3 es el raid que une hda6 con el disco que falta hdb6
el dispositivo /dev/md2 es el raid que une hda5 con el disco que falta hdb5
el dispositivo /dev/md1 es el raid que une hda2 con el disco que falta hdb2
el dispositivo /dev/md0 es el raid que une hda1 con el disco que falta hdb1

Cada partición del disco hda hace raid1 con la partición exacta del otro disco hdb, para ello linux crea unos dispositivos nuevos llamados md* desde los cuales accederemos al raid

md3 hdb6[0] hda6[1]
md2 hdb5[0] hda5[1]
md1hdb2[0] hda2[1]
md0 hdb1[0] hda1[1]

si montamos /dev/md3 en /mnt tendremos hda6/hdb6 montados.

Para ver más de talles del dispositivo /dev/md3 utilizaremos el siguiente comando:

root@stradivarius:~# mdadm --detail /dev/md3
/dev/md3:
       Version : 00.90.03
 Creation Time : Mon Mar  5 18:17:06 2007
    Raid Level : raid1
    Array Size : 33085760 (31.55 GiB 33.88 GB)
   Device Size : 33085760 (31.55 GiB 33.88 GB)
  Raid Devices : 2
 Total Devices : 1
Preferred Minor : 3
   Persistence : Superblock is persistent

   Update Time : Wed Jul 25 08:35:46 2007
         State : clean, degraded
Active Devices : 1
Working Devices : 1
Failed Devices : 0
 Spare Devices : 0

          UUID : bf34beef:7f5d77ca:55b125d3:8353e32f
        Events : 0.34638

   Number   Major   Minor   RaidDevice State
      0       0        0        0      removed
      1       3        6        1      active sync   /dev/hda6

Podemos ver como el dispositivo md3 cuenta con dos dispositivos y que el estado del raid es degraded ya que nos falta la partición del otro disco, hdb6

   * Raid Devices : 2
   * State : clean, degraded

Ahora voy a añadir el disco que falta


root@stradivarius:~# mdadm --add /dev/md3 /dev/hdb6
mdadm: added /dev/hdb6


con cat /proc/mdstat podemos ver el estado, ahora mismo los disco se estan sincronizando

root@stradivarius:~# cat /proc/mdstat
Personalities : [raid1] 
md3 : active raid1 hdb6[0] hda6[1]
     33085760 blocks [2/1] [_U]
     [>....................]  recovery =  0.1% (66048/33085760) finish=16.6min speed=33024K/sec
     
md2 : active raid1 hdb5[0] hda5[1]
     979840 blocks [2/2] [UU]
     
md1 : active raid1 hdb2[0] hda2[1]
     4883648 blocks [2/2] [UU]
     
md0 : active raid1 hdb1[0] hda1[1]
     128384 blocks [2/2] [UU]

Detalles del dispositivo /dev/md3


root@stradivarius:~# mdadm --detail /dev/md3
/dev/md3:
Version : 00.90.03
Creation Time : Mon Mar 5 18:17:06 2007
Raid Level : raid1
Array Size : 33085760 (31.55 GiB 33.88 GB)
Device Size : 33085760 (31.55 GiB 33.88 GB)
Raid Devices : 2
Total Devices : 2
Preferred Minor : 3
Persistence : Superblock is persistent

Update Time : Wed Jul 25 10:34:07 2007
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0 

UUID : bf34beef:7f5d77ca:55b125d3:8353e32f
Events : 0.34639

Number Major Minor RaidDevice State
0 3 70 0 active sync /dev/hdb6
1 3 6 1 active sync /dev/hda6

este es el estado una vez esta todo sincronizado:

root@stradivarius:~# cat /proc/mdstat 
Personalities : [raid1] 
md3 : active raid1 hdb6[0] hda6[1]
      33085760 blocks [2/2] [UU]
      
md2 : active raid1 hdb5[0] hda5[1]
      979840 blocks [2/2] [UU]
      
md1 : active raid1 hdb2[0] hda2[1]
      4883648 blocks [2/2] [UU]
      
md0 : active raid1 hdb1[0] hda1[1]
      128384 blocks [2/2] [UU]
Herramientas personales