best way to recover data from drives removed from the array?


Recommended Posts

some background: i am having issues with 2 drives and it was causing issues with the whole array (ALL shares empty, not only missing data from those drives), and i wanted to get at least in working order as quick as possible so i did new config, removed both drives i was having issues with, and rebuilt parity.

 

everything is working again now but i'd like to recover all or as much data as i can from these 2 disks. what's the best way?

 

found a tutorial that mentions mounting the drives and copying the data from these disks to the array with mc. any pros/cons with this method versus putting them in a windows comp and using a reiserfs driver to see/copy/move the files to the array? any other ways that are better?

 

any prechecks i should do first to make sure the data i'm copying over isn't bad or corrupt?

Link to comment

I wonder if this is what I should be doing to try and fix the problem I'm having with 2 drives in my array (refer my existing thread here :- http://lime-technology.com/forum/index.php?topic=33745.0)? I don't think the rebuild I'm running is going to work as both drives have come up as unformatted and one of the drives looks like it's about to die.

 

So is it possible to remove both drives from the array at the same time?  I realise that the array will lose access to whatever data was on the drives but with the Linux viewer I might be able to recover some or all of it.

Link to comment

I wonder if this is what I should be doing to try and fix the problem I'm having with 2 drives in my array (refer my existing thread here :- http://lime-technology.com/forum/index.php?topic=33745.0)? I don't think the rebuild I'm running is going to work as both drives have come up as unformatted and one of the drives looks like it's about to die.

 

So is it possible to remove both drives from the array at the same time?  I realise that the array will lose access to whatever data was on the drives but with the Linux viewer I might be able to recover some or all of it.

What you're essentially doing is deconstructing your unRAID. If you pull TWO drives out at the same time, your Parity becomes worthless and must be rebuilt from scratch to protect the remaining drives.  Better is if you are able to get ONE drive fixed, that would allow the SECOND drive to be replaced and then existing Parity could attempt to rebuild the replaced drive.

 

But, 'Yes', you can remove a drive (or drives) from the array, mount them on a PC (with a suitable REISERFS driver) and extract the data.  That is, IMHO, one of the nice things about unRAID.

Link to comment
What you're essentially doing is deconstructing your unRAID. If you pull TWO drives out at the same time, your Parity becomes worthless and must be rebuilt from scratch to protect the remaining drives.  Better is if you are able to get ONE drive fixed, that would allow the SECOND drive to be replaced and then existing Parity could attempt to rebuild the replaced drive.

 

So would it be best to remove the drive that is throwing the multiple read errors first given it is the most likely of the two to fail completely?  I'm assuming it's the "Replace a failed disk" procedure that needs to be followed?  That still means stopping the rebuild that's already running on the other drive though so will that cause issues?

 

Link to comment

So would it be best to remove the drive that is throwing the multiple read errors first given it is the most likely of the two to fail completely?  I'm assuming it's the "Replace a failed disk" procedure that needs to be followed?  That still means stopping the rebuild that's already running on the other drive though so will that cause issues?

The procedure for replacing a failed disk relies on the fact that the remaining disks are OK.  You cannot replace one drive if another one is disabled or in the process of being rebuilt.

 

At this point I think your best chance is to consider doing a 'new config' without the problem disks included and then rebuild parity using those disks  to get your remaining disks into a parity protected array.  You may also want to do such a new config on the 5.05 release to get up-to-date while you do it. At this point you can then try and recover the data off the problem disks without them being in the array.  This does mean that you may not get all your data back so is a serious step to take.

Link to comment
The procedure for replacing a failed disk relies on the fact that the remaining disks are OK.  You cannot replace one drive if another one is disabled or in the process of being rebuilt.

 

I had a feeling that was the case, it makes sense, was just hoping for a miracle  :)

 

At this point I think your best chance is to consider doing a 'new config' without the problem disks included and then rebuild parity using those disks  to get your remaining disks into a parity protected array.

 

So it's the "initconfig" procedure I need to follow?

http://lime-technology.com/wiki/index.php/Un-Official_UnRAID_Manual#Remove_one_or_more_data_disks

 

And can I just cancel the current rebuild before attempting it?

 

You may also want to do such a new config on the 5.05 release to get up-to-date while you do it.

 

Is that safe to do on a compromised existing array?

 

At this point you can then try and recover the data off the problem disks without them being in the array.  This does mean that you may not get all your data back so is a serious step to take.

 

I realise this but then if I let the failing disk die I will lose the data anyway so at least your way I have a chance.

 

My apologies to the OP for jumping in his thread but we seem to be in the same situation so I hope you don't mind us sharing.

Link to comment

You may also want to do such a new config on the 5.05 release to get up-to-date while you do it.

 

Is that safe to do on a compromised existing array?

If you are going to do a new config (the v5 term) then you are invalidating parity anyway so it should be no riskier to combine it with the upgrade.  Make sure that you back up the existing contents of the USB drive first so that you can revert if you need to (although I think it would be unlikely  to be needed).  Also make sure you know for certain which disks are your current data disks (a screen shot is a good idea) and their serial numbers (v5 recognises disks by serial number, not physical connection point).  You then have the information you need when assigning the disks to the array under v5. 

 

I would start by not assigning  the parity drive.  If you then start the array all the data disks should come up as immediately usable with their data present.  If one shows as 'unformatted' then you may have accidentally assigned the old parity drive as a data drive, so do NOT select the format option.  This process also protects you against accidentally assigning a data drive as the parity drive and thus losing its contents.  Once you have got the data drives correct, you can stop the array; assign the parity drive; and restart the array to rebuild parity using the current data drives.  If by any chance you are considering moving to a larger parity drive it could be done as part of this process.

 

Link to comment

OK thanks itimpi, I will give that a shot so wish me luck  :)

 

I'm going to cancel the current rebuild after getting a screen dump of the existing drive assignments.  Do I need to un-assign the suspect disks from the array after stopping the array or will the upgrade to v5 negate this step?

 

 

Link to comment

OK thanks itimpi, I will give that a shot so wish me luck  :)

 

I'm going to cancel the current rebuild after getting a screen dump of the existing drive assignments.  Do I need to un-assign the suspect disks from the array after stopping the array or will the upgrade to v5 negate this step?

If going to v5 I would select the 'new config' route which means you start with no disks assigned (and thus the need for the knowing the serial numbers of the good drives), and assign the ones you now want in the array.

Link to comment
If going to v5 I would select the 'new config' route which means you start with no disks assigned (and thus the need for the knowing the serial numbers of the good drives), and assign the ones you now want in the array.

 

So if I have understood correctly it is only necessary to know which drives were the good data, parity, and cache drives by serial number but the port assignments are OK to change.  Obviously since I'll be removing 2 drives from the array the port assignments may change.

Link to comment

So if I have understood correctly it is only necessary to know which drives were the good data, parity, and cache drives by serial number but the port assignments are OK to change.  Obviously since I'll be removing 2 drives from the array the port assignments may change.

Yes - with v5/v6 port assignments are not relevant, drives are recognized by their serial numbers.

Link to comment

Yes - with v5/v6 port assignments are not relevant, drives are recognized by their serial numbers.

 

OK, good to know. 

 

I've just been looking at this article in the Wiki for guidance on the upgrade process :- http://lime-technology.com/wiki/index.php/Migrating_from_unRAID_4.7_to_unRAID_5.0

 

Seems a bit tricky!  Was your experience relatively painless?  Oh and how did you back up your USB?  Did you make an image or just do a straight file copy?

 

 

 

 

Link to comment

 

I've just been looking at this article in the Wiki for guidance on the upgrade process :- http://lime-technology.com/wiki/index.php/Migrating_from_unRAID_4.7_to_unRAID_5.0

 

Seems a bit tricky!  Was your experience relatively painless?  Oh and how did you back up your USB?  Did you make an image or just do a straight file copy?

For backing up the USB a file level copy is sufficient (make sure you make it somewhere other than the unRAID server!).

 

It is a while since I did a upgrade but the process is relatively painless as long as you follow instructions.    If you have a relatively vanilla setup then you may find that many of the steps do not apply (you might even want to start as though you were setting up a new system which simplifies things considerably).  One thing I would do that the upgrade process indicates might be optional is to make sure you copy across the new syslinux related files as suggested in the 'Reboot and Test' section and rerun the makebootable file to make sure you get the new boot options (such as the safeboot option).

 

One thing to consider is to grab a spare USB drive and do a test run using that.

 

You might also want to wait a short while in case anyone else chimes in with suggestions? 

Link to comment

You might also want to wait a short while in case anyone else chimes in with suggestions?

 

That might be a good idea.  All I want to do for now is take the suspect drives offline and see if I can view any of the contents on my Windows PC using a Linux viewer.

 

Edit: Initial signs looking at the 1st drive with DiskInternals Linux Reader are good, I can see the directory structure and files within the directories.  This was the disk that was undergoing the rebuild however so I don't know how healthy those files are yet.  Copying them across to an external HDD anyway, fingers crossed!  I think this drive may physically be OK and the earlier problem that started all this fun was connection related, there's nothing untoward in the SMART registers anyway.

Link to comment

fido666, you're hijacking all of my posts! haha just kidding! :) i'm sure we are helping each other out in some form which is the whole point of this.

 

for some reason my shares stopped working with the 2 drives missing in action (thought i should still see the contents of the other disks, but for some reason wasn't), and getting the server working again took priority over the data on the 2 disks. so i removed the disks and rebuilt parity based on the new config (sans the 2 drives).

 

FWIW i'm using diskinternals garycase linked and it seems to be pulling everything off the first drive i removed OK, albeit slow but its working.

 

NOTE: unless i'm missing something I am NOT able to copy directly to a mapped share. You might need a decent amount of space locally to move stuff over. I only have 300GB free on my desktop so it's kinda a pain to copy some stuff, move to array, copy some more stuff, move to array.

Link to comment

Sorry Drawde, that wasn't my intention when I first posted in one of your threads but you know how things snowball right  :)?

 

I'm using that same viewer (typo corrected in previous post), slow but it's working.  I'm copying the files to a 4TB USB external drive, all I did was set up a directory on that drive and told Linux Reader to preserve the existing directory structure when copying the files.  I'm going to leave it to do it's thing now and hit the sack, have to be up for work in under 7 hours  :(

Link to comment

NOTE: unless i'm missing something I am NOT able to copy directly to a mapped share. You might need a decent amount of space locally to move stuff over. I only have 300GB free on my desktop so it's kinda a pain to copy some stuff, move to array, copy some more stuff, move to array.

 

i was looking for a solution and found one that i didn't see anywhere else so i thought i'd save someone some time. DiskInternals won't list the network share or drives mapped to network shares but \\server\FOO in the output directory works fine. simple solution i'm surprised i didn't try earlier.

Link to comment

I've recovered all the files off one of the failing drives as far as I can tell, thankyou Linux Viewer!  The other drive reported imminent failure via SMART on booting up the PC after slotting that drive in.  I can't recall how long the last drive took to read the file tree via Linux Viewer but this one has been going for over an hour and the status bar hasn't moved.  How long did your drives take Drawde?

Link to comment

I gave up on the other drive as it just kept causing Linux Viewer to hang, when it was pulled from the PC it was also very hot (not normal for a Coolspin).  Both drives have now been sent back for RMA via the retailer.  Since that's going to take up to 2 weeks I have elected to purchase a couple of Hitachi Deskstar NAS 4TB drives in the interim, fingers crossed my HP Microserver plays nice with them  :).

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.