Recovery van een degraded raid

Indien er een schijf aan het systeem gekoppeld is, waarop linux raid partities staan dan kunnen we met fdisk de betreffende partities opvragen :

# fdisk -l /dev/sdd

Disk /dev/sdd: 250.1 GB, 250058268160 bytes
255 heads, 63 sectors/track, 30401 cylinders, total 488395055 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: 0x90909090

   Device Boot      Start         End      Blocks   Id  System
/dev/sdd1   *        2048     2099199     1048576   fd  Linux raid autodetect
/dev/sdd2         2099200     6293503     2097152   82  Linux swap / Solaris
/dev/sdd3         6293504    69208063    31457280   fd  Linux raid autodetect
/dev/sdd4        69208064   488394751   209593344   fd  Linux raid autodetect

De betreffende raid partities worden hebben als System-id : Linux raid autodetect

Deze partities kunnen niet zonder meer ge-mount worden. We kunnen de data wel lezen door een raid te maken die uit een partitie bestaat. Met name raid-1 leent zich hier goed voor.

We kunnen wel informatie over de betreffende partitie en de relatie met een raid opvragen

# mdadm --examine /dev/sdd4

/dev/sdd4:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : 957e7cb5:bfd41f70:9cb84b0d:f53e5a4c
           Name : milosz-desktop:2
  Creation Time : Sat Aug 20 18:48:26 2011
     Raid Level : raid1
   Raid Devices : 2

 Avail Dev Size : 419184640 (199.88 GiB 214.62 GB)
     Array Size : 419184496 (199.88 GiB 214.62 GB)
  Used Dev Size : 419184496 (199.88 GiB 214.62 GB)
    Data Offset : 2048 sectors
   Super Offset : 8 sectors
          State : clean
    Device UUID : db8a694f:750a0ded:22a6d046:5c4db280

    Update Time : Tue May  8 20:50:32 2012
       Checksum : 75dbc3b6 - correct
         Events : 191


   Device Role : Active device 1
   Array State : .A ('A' == active, '.' == missing)

Construeren van een raid device kan dan met

# mdadm -A -R /dev/md9 /dev/sdd4
mdadm: /dev/md9 has been started with 1 drive (out of 2).

Kan zijn dat de nieuwe read niet gemaakt kan worden, omdat de partitie “busy” is. Blijkbaar is de partitie dan min of meer actief in een raid. Deze raid kan dan gestopt worden middels

# mdadm --stop /dev/md9

Hierna kan het raid-device ‘gewoon’ gemount worden, we gaan er maar van uit dat de map /mnt/old_hdd bestaat.

# mount /dev/md9 /mnt/old_hdd
# mount | grep ^/dev/md9
/dev/md9 on /mnt/old_hdd type ext4 (rw)

De data kunnen nu gekopieerd worden, als dat alles gereed is, kan de mount en het device opgeruimd worden.

Verwijderen van de mount en de raid :

# umount /mnt/old_hdd 
# mdadm -S /dev/md9
mdadm: stopped /dev/md9