I was just given an external hard drive by a colleague, with the comment "Hey, you're running Ubuntu. Maybe you can recover some of the data from this really old disk that nobody knows who last used?" (OK, that's not really what he said, but that's just about as much information I have at hand at the moment...)

I plugged in the disk in my computer, and discovered it was RAID1-configured. I've never worked with RAID-configurations before. After some googling and trying to figure out what to do to be able to read this disk, I've gathered the following information: http://pastebin.com/KZHAj7U9

What might be most interesting is the following excerpt:

tlycken@hoth ~ $ sudo mdadm -E /dev/sdb2
      Number   Major   Minor   RaidDevice State
this     0       8       18        0      active sync   /dev/sdb2

   0     0       8       18        0      active sync   /dev/sdb2
   1     1       0        0        1      faulty removed

There are two other partitions (sdb3 and sdb5) that report similar tables, but they both report "active sync" for the state on all three rows. So this partition seems to be the troublesome one.

If I open the Disk Utility GUI, I see the following, after trying to start the RAID array:

enter image description here

When I pressed the little play button at the top right (which is a stop button in this screenshot) I get the following error message:

Error starting RAID array

Error starting RAID array: Command-line `mdadm --assemble --scan --uuid "866221ac:fd8d56af:aceaa1c2:25d2b442"' exited with non-zero exit status 2: mdadm: /dev/md2 has been started with 1 drive (out of 2). (udisks-error-quark, 0)

All I can understand from this is that it seems that part of the RAID array is missing - however, I have no idea if the missing part is some partition on the disk I have in front of me (i.e. something I could probably configure to make it work) or on another physical disk (which I have little or no hope of being able to get my hands on).

How do I configure and mount this array so that i can read the data (read-only is fine)?

  • I'm on Ubuntu 13.10, in case it's relevant for how to do this. – Tomas Aschan Feb 24 '14 at 15:28

First things first: I would recommend making a bit copy of the disk, e.g. using ddrescue, and then working on the disk image, not on the physical disk. This might save you some headache if the disk suddenly dies on you - if it hasn't been used for a while, I would consider its fitness questionable at best.

That said, RAID 1 is a mirroring scheme - in other words, all the disks contain all the data; thus it is possible to recover data even if only a single functional disk is present.

What you see here is mdadm complaining that the array is supposed to contain 2 disks, therefore it marks the array degraded (there's something wrong with it, namely, only 1 disk is present out of 2). However, since the available disk seems to contain good data (it says sync, meaning "this disk is synced correctly to the current state of the array") you can still assemble it in degraded mode by adding the --force parameter:

mdadm --assemble --scan --uuid "866221ac:fd8d56af:aceaa1c2:25d2b442" --force

This should assemble the array even with a single disk; then you can mount the array normally, and access the data as you usually would.

  • This might also be of interest, although it deals with an array in a worse state than yours: unix.stackexchange.com/questions/72279/… – Piskvor Feb 24 '14 at 15:59
  • 1
    Running this command yields mdadm: /dev/md2 has been started with 1 drive (out of 2)., and after digging a while I found some content too =) Turns out all of the files on the disk were in hidden backup folders... But thanks a lot - I can start digging through the data now! – Tomas Aschan Feb 25 '14 at 8:00
  • @TomasLycken: Glad it helped. – Piskvor Feb 25 '14 at 10:39

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.