Linux - Software This forum is for Software issues.
Having a problem installing a new program? Want to know which application is best for the job? Post your question in this forum. |
Notices |
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
Are you new to LinuxQuestions.org? Visit the following links:
Site Howto |
Site FAQ |
Sitemap |
Register Now
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
|
|
|
05-02-2009, 09:48 PM
|
#1
|
LQ Newbie
Registered: Apr 2005
Posts: 20
Rep:
|
Recovering Data from Remaining RAID 1 Disk
Hello,
A while back, I had a PC with two hard drives configured in a RAID 1 array with mdadm. I stored a lot of data there, though nothing too important. The OS installation went south at one point and I installed something over it. I left the RAID array untouched but notably didn't backup my mdadm.conf.
A year or so later, I now have a new PC with a new OS installation and only one of the disks remaining :-) I would like to mount the remaining disk, pull the data off and start using the disk for other purposes. Everything I'm reading tells me that I'm fine as long as I either have or recreate mdadm.conf AND as long as I go buy another disk to replace the missing one.
I've also read allusions to the ability to tell mdadm to mount an array with "missing disks" but haven't seen any instructions on how to do so. I've tried just popping the disk in and mounting it like a regular disk but mount refuses to do so, citing that it is of type "Linux RAID" or something thereof.
Is there a way to mount this disk and get the data?
|
|
|
05-02-2009, 10:28 PM
|
#2
|
Senior Member
Registered: Nov 2006
Distribution: Debian Linux 11 (Bullseye)
Posts: 3,409
Rep:
|
I think that you should be able to just mount it as a normal, non-raid, disk. Have you tried that? Use read only, of course.
|
|
|
05-02-2009, 10:32 PM
|
#3
|
LQ Newbie
Registered: Apr 2005
Posts: 20
Original Poster
Rep:
|
Yeah, doesn't let me. It isn't EXT3, it's "Linux RAID". That was my first guess :-)
|
|
|
05-02-2009, 10:37 PM
|
#4
|
Member
Registered: Nov 2005
Distribution: Raspbian, Debian, Ubuntu
Posts: 386
Rep:
|
Do a 'cat /proc/mdstat'. Your system may have recognized the drive when you booted up.
'fdisk -l' might show it as well.
If it is there, you can mount the "md" device shown in the cat (assuming you originally put your filesystem directly on it).
Example: 'mount /dev/md0 /<desiredmountpoint>'
If you put an LVM PV on top of it, it is only slightly more work (unless you have a VG name conflist).
You would 'pvscan', 'vgscan', 'vgchange -ay', 'lvs', then mount the LV.
If this isn't the case, let me know.
Last edited by tommylovell; 05-02-2009 at 10:40 PM.
Reason: typo
|
|
|
05-02-2009, 10:56 PM
|
#5
|
LQ Newbie
Registered: Apr 2005
Posts: 20
Original Poster
Rep:
|
Thanks for the pointers! It is definitely not LVM- just an FS. I wasn't able to mount. Here's my console output:
Code:
root@localhost:/# cat /proc/mdstat
Personalities :
md0 : inactive sdc1[1](S)
78148096 blocks
unused devices: <none>
root@localhost:/# fdisk -l
Disk /dev/sda: 4034 MB, 4034838528 bytes
255 heads, 63 sectors/track, 490 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0xb698b698
Device Boot Start End Blocks Id System
/dev/sda1 * 1 462 3710983+ 83 Linux
/dev/sda2 463 490 224910 5 Extended
/dev/sda5 463 490 224878+ 82 Linux swap / Solaris
Disk /dev/sdc: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x415a13b8
Device Boot Start End Blocks Id System
/dev/sdc1 1 9729 78148161 83 Linux
root@localhost:/# mount /dev/md0 /mnt/md0
mount: you must specify the filesystem type
root@localhost:/# mount /dev/md0 /mnt/md0 -t autofs
mount: wrong fs type, bad option, bad superblock on /dev/md0,
missing codepage or helper program, or other error
(could this be the IDE device where you in fact use
ide-scsi so that sr0 or sda or so is needed?)
In some cases useful info is found in syslog - try
dmesg | tail or so
root@localhost:/# mount /dev/md0 /mnt/md0 -t ext3
mount: wrong fs type, bad option, bad superblock on /dev/md0,
missing codepage or helper program, or other error
(could this be the IDE device where you in fact use
ide-scsi so that sr0 or sda or so is needed?)
In some cases useful info is found in syslog - try
dmesg | tail or so
root@localhost:/#
|
|
|
05-02-2009, 11:51 PM
|
#6
|
Senior Member
Registered: Nov 2006
Distribution: Debian Linux 11 (Bullseye)
Posts: 3,409
Rep:
|
You should be trying to mount /dev/sdc1, not /dev/md0.
|
|
|
05-02-2009, 11:57 PM
|
#7
|
LQ Newbie
Registered: Apr 2005
Posts: 20
Original Poster
Rep:
|
Code:
root@localhost:/# mount /dev/sdc1 /mnt/md0
mount: unknown filesystem type 'linux_raid_member'
root@localhost:/# mount /dev/sdc1 /mnt/md0 -t ext3
mount: /dev/sdc1 already mounted or /mnt/md0 busy
root@localhost:/#
|
|
|
05-02-2009, 11:58 PM
|
#8
|
Member
Registered: Nov 2005
Distribution: Raspbian, Debian, Ubuntu
Posts: 386
Rep:
|
Quote:
Originally Posted by nko
Thanks for the pointers! It is definitely not LVM- just an FS. I wasn't able to mount. Here's my console output:
Code:
root@localhost:/# cat /proc/mdstat
Personalities :
md0 : inactive sdc1[1](S)
78148096 blocks
unused devices: <none>
|
Try 'mdadm --assemble --scan' and see if that makes md0 active. If it becomes active, then your 'mount /dev/md0 /mnt/md0
' should work.
(--scan says to use /proc/mdstat and /etc/mdadm.conf to look for eligible devices to assemble into a RAID array, and since your /proc/mdstat has your device, you should be good.)
If the md0 device doesn't become active, try 'mdadm --assemble --scan --run'.
Finally, if that doesn't work, you'll need to create an /etc/mdadm.conf file.
Typically you 'mdadm --examine --scan > /etc/mdadm.conf'
The resulting file contains something like this:
ARRAY /dev/md0 level=raid1 num-devices=2 UUID=397c7395:9c3c48fa:68e69357:c9f2169f
(The UUID will of course be different.)
You can edit it so it looks like this:
Code:
DEVICE partitions
MAILADDR root
ARRAY /dev/md0 level=raid1 num-devices=2 UUID=397c7395:9c3c48fa:68e69357:c9f2169f
or this:
Code:
DEVICE partitions
MAILADDR root
ARRAY /dev/md0 level=raid1 num-devices=2 devices=/dev/sdc1,missing
And then try 'mdadm --assemble --run'.
Let us know the results.
|
|
3 members found this post helpful.
|
05-03-2009, 12:36 AM
|
#9
|
LQ Newbie
Registered: Apr 2005
Posts: 20
Original Poster
Rep:
|
Wow. Just had to assemble / scan and mount. That was faster, more concise tech support than any I've received from a lot of expensive vendors. Thanks, Tommy!
|
|
1 members found this post helpful.
|
01-12-2012, 03:27 PM
|
#10
|
LQ Newbie
Registered: Jan 2012
Posts: 1
Rep:
|
I used a different technique...
SCENARIO: My old RAID1 computer had failed, and I had only one of the two disks remaining. I wanted to recover its contents. I put it into an external hard drive enclosure and plugged it into the USB drive. I did
and discovered that the USB drive was under /dev/sdc3 (based on what I recognized as its size).
First I tried
Code:
mkdir /mnt/old
mount /dev/sdc3 /mnt/old
but it said mount: unknown filesystem type 'linux_raid_member'. Fair enough. That's because /dev/sdc3 was a RAID partition.
But I knew that on my old computer I'd assembled the raid array out of two RAID partitions on two disks and then formatted the raid array as EXT3. So I tried
Code:
mount -o ro -t ext3 /dev/sdc3 /mnt/old
but it said mount: /dev/hdb1 already mounted or /mnt/fat32/ busy. Fair enough. That's because the MDADM subsystem is in charge of mounting the raid partitions and exposing them as /dev/md partitions.
Finding this thread, I tried
It said md125 : inactive sdc3[1](S) 2104500 blocks super 1.0. So this thread was correct: MDADM had indeed grabbed hold of sdc3; but because sdc3's mirror pair wasn't present, it meant that MDADM hadn't been able to offer it up to me as some /dev/md.
I tried "mdadm --assemble --scan --run" as per this thread, but didn't make headway. In the end I found an easier solution:
Code:
mdadm --stop /dev/md125
mount /dev/sdc3 /mnt/old
It said mdadm: stopped /dev/md125 and then it let me mount it okay.
Conclusion: by stopping MDADM from grabbing ownership of the raid partition, I was able to mount it as its underlying ext3 just fine.
(Incidentally, I was also able to plug the drive into my Windows machine and use "Disk Internals Linux Reader" to read it. I image that the Linux Reader might just be ignoring the RAID aspect, and treating it directly as EXT3).
|
|
3 members found this post helpful.
|
01-12-2012, 04:16 PM
|
#11
|
Member
Registered: Nov 2005
Distribution: Raspbian, Debian, Ubuntu
Posts: 386
Rep:
|
Interesting.
The --stop tells mdadm to remove its metadata (which is at the end of the partition). So then, because it is RAID1, it just becomes your normal, run of the mill, partition that can be mounted. (This would not work with any other RAID type, but in the case of RAID1, all the data is there.)
Cool technique. Good one to remember.
|
|
|
01-23-2012, 04:35 PM
|
#12
|
LQ Newbie
Registered: Jan 2012
Posts: 3
Rep:
|
Cool technique not successful
Last edited by LinuxSpiff; 01-24-2012 at 01:18 PM.
|
|
|
01-23-2012, 08:03 PM
|
#13
|
Member
Registered: Nov 2005
Distribution: Raspbian, Debian, Ubuntu
Posts: 386
Rep:
|
LinuxSpiff, you need to open a new post. Tacking your question onto the end of an old post is frowned upon and it will get limited visibility (it's not on the zero reply queue, which is what many people watch...).
If you open a new thread, you can refer to this thread for background. The first question I would ask you is to confirm that your RAID array is RAID1. So put that detail in your new post. You can then edit this post to remove the content and refer it to your new post.
|
|
|
07-26-2012, 05:24 AM
|
#14
|
LQ Newbie
Registered: Jul 2012
Posts: 1
Rep:
|
Many Thanks! Tommy,
It did help me a lot:
"Try 'mdadm --assemble --scan' and see if that makes md0 active. If it becomes active, then your 'mount /dev/md0 /mnt/md0
' should work.
"
|
|
|
10-17-2013, 11:24 PM
|
#15
|
Member
Registered: Oct 2003
Location: Izmir, Turkey
Distribution: Fedora Core 10
Posts: 68
Rep:
|
I have a similar case where RAID1 disks have gone askew.
Unbeknowns to me, /dev/sdb now has NEWER stuff than /dev/sda , because for some months, sda was offline.
Now, sda became online, and sdb is off the raid. How can I recover the contents of sdb?
thanks! -t
|
|
|
All times are GMT -5. The time now is 01:05 AM.
|
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.
|
Latest Threads
LQ News
|
|