hope you guys can help me work some magic


rykr

Recommended Posts

I got an array that includes 4 data drives.  2 8TB, 1 4TB, and 1 2TB drive.  The 2 TB drive recently became disabled but it had been having some smart errors for some time and Unraid was basically not using it.  The drive is still mountable and there is essentially nothing on it.  Two small folders.

 

first off, I know I should have replaced the 2TB disabled drive right away but that is water under the bridge now.

 

Yesterday, I upgraded the server to a faster Am4 board and cpu and moved the drives into an R4000 chassis.  Everything came up but one of the 8TB data drives will not power on.  I've already talked to data recovery people but that's going to be at least $400-$500 assuming it's an electrical problem and not a mechanical one.

 

What I'm wondering is if there is some magic I can perform given that the 2TB disabled drive has really nothing on it and nothing has been done with the array since the 8TB drive won't power on (since the array won't start).  If I can somehow replace the 2TB drive so that unraid can emulate the contents of the 8TB drive that won't power on, then I can just replace it and avoid the  data recovery fee.  

Link to comment
7 minutes ago, rykr said:

What I'm wondering is if there is some magic I can perform given that the 2TB disabled drive has really nothing on it

Unfortunately that doesn't really matter, parity is not valid without it, because assuming there was data there at some point in the past the drive will never be 100% cleared (all zeros).

Link to comment
1 minute ago, JorgeB said:

Unfortunately that doesn't really matter, parity is not valid without it, because assuming there was data there at some point in the past the drive will never be 100% cleared (all zeros).

ok, but it is mountable.  Is there no way I can force unraid to recognize it's there even though I won't be reading and writing to it?

Link to comment

Theoretically, if I could dd read the sectors from the 2TB drive and write them to a new 2 TB drive and could edit the super.dat file to use the new 2TB drive instead of the old one, then it would see just one drive missing (the 8TB that own't power on) and it will emulate that drive contents. This would allow me to reconstruct the missing drive onto another one.   Or is this just fantasy?  I know it has to be able to read all the sectors from the 2TB drive to do anything.  Are there any CLI tools to rebuild drives?

Link to comment
6 hours ago, JorgeB said:

Don't follow, if the 2TB drive is disabled you can't read or write to it with another missing drive and single parity. 

Yeah, it's marked as disabled in the system.  It's failed some smart tests so I'm guessing the drive has failed some reads and writes.  I was just hoping that since unraid cleared the drive when installing it and basically never used it.  It read 0% used the whole time . I think there is two small folders on there.  I just checked with df and it shows 1% used on that drive.  I was just hoping that there might be some way of re-enabling the drive just for the purpose of emulating the missing 8TB drive from parity.    I guess  you are saying that there is zero way to re-enable the drive.   My only hope is that data salvage can recover the files from the missing 8TB drive?

Link to comment
3 minutes ago, rykr said:

I was just hoping that there might be some way of re-enabling the drive just for the purpose of emulating the missing 8TB drive from parity.

There is, but if I understood the drive is not healthy so it won't work, also parity won't be 100% valid, though if that was the only problem and nothing was written to the drive after it got disable it could work, at least partially.

Link to comment
1 minute ago, JorgeB said:

There is, but if I understood the drive is not healthy so it won't work, also parity won't be 100% valid, though if that was the only problem and nothing was written to the drive after it got disable it could work, at least partially.

there has been quite a bit written to the array after the 2TB drive was disabled but I was assuming the drive was zero'ed when it went in so other than the files that are on it, the other sectors would be zero.  is that not the case?  What is the method you are talking about?

Link to comment
1 minute ago, JorgeB said:

If you don't know nobody else can.

well,  tell me if I'm wrong here.   When you attempt to write a file to the array, unraid will determine which disk the file should go to.   It will then write the entire file to that disk (assuming no cache here).   I'm assuming that once the drive went disabled, unraid would no longer choose that disk as a write target so the only writes that were done to the disk are the two small folders that are there.  

 

Is that right?  If that is write then there have been no writes to that disk since it became disabled.

Link to comment
9 minutes ago, rykr said:

I'm assuming that once the drive went disabled, unraid would no longer choose that disk as a write target so the only writes that were done to the disk are the two small folders that are there

This is not how it works.   When a drive is emulated then Unraid acts as if the dtive was still present and so still writes to it and updates parity accordingly.  The physical drive is what is not written to.

Link to comment
1 minute ago, itimpi said:

This is not how it works.   When a drive is emulated then Unraid acts as if the dtive was still present and so still writes to it and updates parity accordingly.  The physical drive is what is not written to.

ok, I understand that.   What I was saying is that JorgeB asked me this question "[were there writes] To other drives or that emulated disk?" to which I answered how would I know if unraid wrote to the "emulated" disk?  I know it always said the use of the drive was practically zero.  It always had like 0% use in the dashboard before it was disabled.  But if unraid wrote to the emulated disk I would not know it.

Link to comment
On 12/9/2022 at 9:41 AM, JorgeB said:

You might know depending on how the shares were configured, or just by looking at the disk contents, because like mentioned if you don't know no one else will.

ok, one last comment.   smartctl appears to list no failed tests.  I can't rebuild it on itself since I missing a second drive. However the array has been used for some time with this drive disabled so *if* unraid writes data to the emulated disk then it's a no go.  The parity would be required to reconstitute the 2tb and could not be used to rebuild the 8tb.  So, I'm guessing that even if I could force the drive to be re-enabled, I still could not rebuild the 8tb.

Link to comment
6 hours ago, JorgeB said:

Basically that's it, unless nothing was written to the emulated disk, and even with that it's not a certain, but worth a shot.

I went ahead and started rebuiding the array.  I ran some smart tests on the 2TB drive and it failed them all so I assumed it is not healthy enough to do anything with.  I'm going to try a PCB swap on the 8TB drive to see if I can save it.

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.