mintybits wrote:Unless they have changed Gparted since I last looked it does not recognize raid arrays, only individual disks. So I imagine you formatted only one of the two md1 disks in which case you should be able to start the array degraded using the good disk.
I thought it was odd that md1 appeared as a device in gprated and not md0, but I had no idea which case was 'normal'. I'm also very surprised gparted allowed me to format a mounted device... IIRC, gparted usually forces you to unmount a file system/device before allowing a format operation.
Presumably you interrupted the formatting shortly after it had begun?
No. The format started and the progress dialog showed an error message about the format having failed almost immediately. I wish I had recorded the actual message now, as there was something about it... A specific term that I just can't recall now, but I get the feeling was pretty significant. At least it probably would have been useful to know now. I was so stunned at my misfortune and so busy trying to determine if I had corrupted the data on md1, I didn't think to copy the output or take a screen-shot before closing the progress dialog.
I thought the data on md1 was fine because I was able to access the files on it... At least until I rebooted my system after testing the LMDE LiveUSB I'd made. That's when I noticed md1 wouldn't mount. Manual attempts resulted with this.
- Code: Select all
$ sudo mount /mnt/extra-storage/
mount: special device UUID=791e7baa-c6ae-47ab-bc6f-21a6f7f42648does not exist
This always worked before, even though the UUID is different from what mdadm reports for both sdb and sdc quoted below. In fact I think after I did a re-install to correct a driver issue, I fiddle with my fstab to reflect the new UUID and md1 wouldn't mount. Reverting to the UUID above 'fixed' the problem. Not sure what that's all about, but since it worked, I left it alone.
What does cat /proc/mdstat show?
- Code: Select all
$ cat /proc/mdstat
Personalities : [raid1]
md1 : active (auto-read-only) raid1 sdb[0] sdc[1]
1953514496 blocks [2/2] [UU]
md0 : active raid1 sdd[0] sde[1]
488386496 blocks [2/2] [UU]
unused devices: <none>
BTW, I had used mdadm to make md1 read-write for a time not realizing that auto-read-only was a sort of failsafe state. I didn't run across search results that made that clear until after I had done it. Which I hope didn't foul things up any further than they already were.
What happens when you examine the superblock data on each disk? Eg: sudo mdadm -E /dev/sdx, or if you partitioned the disks before creating the array: sudo mdadm -E /dev/sdxy.
Both mdadm arrays were partitioned after they were created.
- Code: Select all
$ sudo mdadm -E /dev/sdb
/dev/sdb:
Magic : a92b4efc
Version : 0.90.00
UUID : 3143ee75:892cb7ae:ddd8d050:4859a911
Creation Time : Mon Oct 4 20:08:10 2010
Raid Level : raid1
Used Dev Size : 1953514496 (1863.02 GiB 2000.40 GB)
Array Size : 1953514496 (1863.02 GiB 2000.40 GB)
Raid Devices : 2
Total Devices : 2
Preferred Minor : 126
Update Time : Wed May 2 20:50:06 2012
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Checksum : 9abbf3bd - correct
Events : 1605282
Number Major Minor RaidDevice State
this 0 8 16 0 active sync /dev/sdb
0 0 8 16 0 active sync /dev/sdb
1 1 8 32 1 active sync /dev/sdc
- Code: Select all
$ sudo mdadm -E /dev/sdc
/dev/sdc:
Magic : a92b4efc
Version : 0.90.00
UUID : 3143ee75:892cb7ae:ddd8d050:4859a911
Creation Time : Mon Oct 4 20:08:10 2010
Raid Level : raid1
Used Dev Size : 1953514496 (1863.02 GiB 2000.40 GB)
Array Size : 1953514496 (1863.02 GiB 2000.40 GB)
Raid Devices : 2
Total Devices : 2
Preferred Minor : 126
Update Time : Wed May 2 20:50:06 2012
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Checksum : 9abbf3cf - correct
Events : 1605282
Number Major Minor RaidDevice State
this 1 8 32 1 active sync /dev/sdc
0 0 8 16 0 active sync /dev/sdb
1 1 8 32 1 active sync /dev/sdc
If you are lucky, one of the md1 disks will be healthy. The other needs to be "failed", if mdadm hasn't already done this, and "removed". You can then reformat the disk so it is the same as the good one again and add it back to the array. The array should assemble ok with only one disk. See:
http://linux.die.net/man/8/mdadm
I really do appreciate the help. I wish I had a better understanding of these more technical aspects of the GNU/Linux stack, but alas I've primarily been a Windows user and only used Linux on and off until this last push to switch. That manual page might be helpful, but I'm out of my depth here. How do I determine which disk is "healthy" if any? Or if not "healthy" whether either disk has recoverable data? And would attempting a reassemble do more harm? I'd like to
not do any more damage...
The really
ironic part to this situation is that I was just about to do a full backup of th data on that array... Now I'm not sure I'll get anything back.
FYI, I think I should mention something odd I noticed while running gparted just now. Before my incident, the four disks that comprised md0 (two 500GB drives, sdd & sde) and md1 (two 2TB drives, sdb & sdc) were "unallocated" according to gparted and md1 was allocated as one large ext4 partition and md0 simply didn't appear as a selectable device. Now however, md0 appears as a selectable device and when selected is identified as /dev/md0p1 (I can provide sreenshots if requested). However, now it's members also appear to have ext4 their own partition tables with an ext4 file system and are identified as /dev/sdd1 and /dev/sde1 in the graphical representation of the partition table. What strikes me as very odd is that, as I said before, both arrays were created prior to being partitioned. Now (at least on md0) they're behaving as if the were partitioned before the array was created.
What would you (or others) make of this?