Re-adding parity drive with known correct data


JimBob

Recommended Posts

Hi,

 

I recently experienced a HBA failure that caused a bit of havoc on my array, causing one of my parity drives to fail, and one of my data drives. At first I did not realize this was a HBA issue and attempted to rebuilt the data drive off my existing working parity drive, then once that was done rebuild my 2nd parity. This did not work

 

The issue I then ran into was the whole HBA failing causing write errors to all drives, before I could rebuilt my failed data drive and then rebuild my second parity. I have now replaced the HBA with a working one but my once working parity drive, with correct parity information, is now showing as unassigned.

 

"Screenshot" of my array before the total failure, with a failed data drive and a failed parity. This is where I attempted to rebuild my data drive then my parity off my working single parity:

 

 

20180206_155017.thumb.jpg.bce3e0761b20108c86b499bd12043b69.jpg

 

 

Screenshot of my current array status now I have my new HBA:

 

5a79cf5778452_Screenshotfrom2018-02-0615-51-13.thumb.png.a754b9c1fa166b035a3f4ad4aefe2494.png

 

As you can see, my previously valid 10TB parity drive, ending in 1DB is now unassigned. meaning I have no parity data to rebuild my data drive off.

 

My hope is, can I tell unraid that the data on the parity drive 1DB is, in fact valid and to add it to my array without wiping the parity data, as that is currently the only drive I have that has valid data on it so I need that to rebuild my failed data drive ending in 2Y9.

 

Is this possible? Or am I out of luck having both parity drives down and 1 data.

 

Hope this makes sense, if not I'm happy to explain more.

 

Thanks!

 

 

Link to comment

Disk 5 is an old disk, but currently has no data on it as it was mid rebuild when the HBA failed first time.  I think when it was disabled at forst and running emulated, some data was written to it. If i do have to start afresh with that drive, losing the data I can get the data back by other backups of mine. Just thought best to see if I can use parity.

Link to comment

You should be able to go to Tools - New Config. There it will let you change any drive assignments, including assigning that parity drive. Then when you go to start the array there should be a checkbox you can check to tell it parity is valid.

 

After that, you should be able to get it to rebuild disk5 by stopping array, unassign disk5, start array, stop array, reassign disk5, start array to rebuild.

 

But your 2nd screenshot seems to indicate parity2 and disk5 are new???

 

Maybe I am misunderstanding something about this scenario. Maybe johnnie will have more to say.

Link to comment

OK, if the disk failed mid rebuild you can use the invalid slot command:

 

-Tools -> New Config -> Retain current configuration: All -> Apply

-Assign any missing disk(s)

-Important - leave the browser on that page

-Open a SSH session and type:

mdcmd set invalidslot 5 29

-Do not  check the "parity is already valid" and start the array, disk5 will rebuild and parity2 re-sync

  • Like 2
Link to comment

So parity 2 and disk5 are both from my original array and are not new. Parity 2 drive listed in the 2nd screenshot used to be my working parity drive from screenshot 1. and disk 5 was the failed drive in screenshot 1. I'm not sure what happened for these two to now show as new. The drive that is parity2 in the 2nd screenshot is in fact the parity drive that used to be working, and has correct parity data I want to build off.

Link to comment
6 minutes ago, johnnie.black said:

OK, if the disk failed mid rebuild you can use the invalid slot command:

 

-Tools -> New Config -> Retain current configuration: All -> Apply

-Assign any missing disk(s)

-Important - leave the browser on that page

-Open a SSH session and type:


mdcmd set invalidslot 5 29

-Do not  check the "parity is already valid" and start the array, disk5 will rebuild and parity2 re-sync

 

Will this allow disk5 to rebuild off the now parity2 drive?

 

Also, I really appreciate the help here guys! :)

Link to comment
1 minute ago, trurl said:

So are you saying parity1 is actually invalid for rebuilding disk5, but parity2 is valid for rebuilding disk5?

 

Afraid so! Screenshot1 shows the before broken HBA state of my array, with parity2 operational, but parity1 down. So by my logic I'd need to rebuild disk5 off parity2, but parity2 is showing as unassigned and new to unraid

Link to comment

It is a pretty confusing situation, so I hope I can explain it right. The only parity drive I know had valid parity data on it is the one with the serial number ST10000VN0004-1ZD101_ZA2191DB. This is Parity2 as seen in the first picture. This now is showing as unassigned. What I would like is to get the drive ST10000VN0004-1ZD101_ZA2191DB back into the array and rebuild disk5 off of it.

Link to comment

Right'o, I'll try what jonnie said with that new command. Just to clarify I'll:

 

-Tools -> New Config -> Retain current configuration: All -> Apply

-Assign any missing disk(s)

-Important - leave the browser on that page

-Open a SSH session and type:

mdcmd set invalidslot 0 5

 

This should then start my array with all attached drives, and claim parity2 (ST10000VN0004-1ZD101_ZA2191DB ) as the valid parity?

Link to comment
1 minute ago, JimBob said:

Right'o, I'll try what jonnie said with that new command. Just to clarify I'll:

 

-Tools -> New Config -> Retain current configuration: All -> Apply

-Assign any missing disk(s)

-Important - leave the browser on that page

-Open a SSH session and type:


mdcmd set invalidslot 0 5

 

This should then start my array with all attached drives, and claim parity2 (ST10000VN0004-1ZD101_ZA2191DB ) as the valid parity?

Yes, basically the command is saying parity and disk5 are the invalid disks and all others are OK.

Link to comment
1 minute ago, JimBob said:

Great, I'll run through the processes now. What is the worst case scenario with this? IF this somehow goes wrong, or parity2 some how is having issues, could I potentially lose my whole array, or only disk5 worst comes to worse?

 

Only parity and disk5 will be written during the rebuild. All other disks including parity2 will only be read so they will be just as before. And since all data disks are independent filesystems in unRAID, each of them will be intact with their own files and can be read without any of the other disks.

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.