Check My Work- Shrinking Array and Using Former Data Drive as Second Parity


Recommended Posts

So I have a large surplus of storage space that I likely will never use (<1.5% utilization). Because of this, I'd like to remove one data disk from my array and use it as a second parity drive.

 

My plan is to do the following:

1) Migrate drive contents to the other data disks using unBalance.

2) Zero drive with the script found here: Additional Scripts For User.Scripts Plugin - Plugin Support - Unraid

3) Stop the array and create a new array configuration. The (now zeroed) data drive will be removed from the data pool and added as the second parity drive in the same step.

 

Main Request:

1. Can someone please review this for accuracy/safety?

 

Secondary Questions:

2. Keeping in mind that I am adding a second parity drive where parity has to be rebuilt, does this zeroing step help me at all? Would I still be protected by the first parity drive while parity is being rebuilt?

3. I assume I cannot check the "Parity is already valid" box because, even though it is for the first parity disk, it isn't for the new second parity disk, correct?

3. Has anyone done this before?

 

Thanks in advance!

Link to comment

In the process you outline the zeroing step is not needed as you are going to have to rebuild parity on both drives anyway.

 

An alternative that would keep you protected (but take longer) is not to immediately add the removed drive as another parity drive after the New Config.    In that case you can take advantage of the fact you ran the zeroing phase to allow you to tick the Parity is Valid checkbox after the New Config because parity1 will be valid.   Once you commit the revised configuration, you can then stop the array and add the second parity drive and start the array to build the parity2 contents.

 

Link to comment

That's a good suggestion. So split step 3 into two phases: 1) After zeroing, save new config with zeroed data drive removed and "Parity is valid" checked and then 2) Save New Config again but with the removed drive set as parity 2. Parity 2 (and only Parity 2's) contents rebuild.

 

Do I have that right?

 

Now let's talk emergency/recovery procedures: In the event that I have a drive failure while Parity 2 is rebuilding, what would be the best procedure from here?

 

I like have contingency plans in place. This is why I have already taken two backups: one offsite and one rsync'd to an external drive, but the answers to these questions help me build a model in my mind of how Unraid works so I can respond without a flowchart (and it may be helpful for other users in the future).

 

Thanks again!

Link to comment
8 minutes ago, T0rqueWr3nch said:

Do I have that right?

Yes

 

8 minutes ago, T0rqueWr3nch said:

I like have contingency plans in place. This is why I have already taken two backups: one offsite and one rsync'd to an external drive, but the answers to these questions help me build a model in my mind of how Unraid works so I can respond without a flowchart (and it may be helpful for other users in the future).

The revised process means you have a valid parity1 while parity2 is building so at that point you are protected against 1 other drive failing.    Once the parity2 build completes successfully you are protected against 2 drives failing.

Link to comment
39 minutes ago, itimpi said:

The revised process means you have a valid parity1 while parity2 is building so at that point you are protected against 1 other drive failing.    Once the parity2 build completes successfully you are protected against 2 drives failing.

 

Can you help me run through the following scenarios?

 

1) Parity 1 fails- This one seems obvious. Data drives are still intact, let parity 2 run through to completion.

2) Parity 2 fails- Parity never existed on it in the first place, so who cares.

 

But the loss of a data drive seems less obvious to me:

What happens if a data drive fails? Does the parity 2 rebuild continue to run or does it stop automatically? If it doesn't stop automatically, aren't we just now calculating parity 2 with a corrupt disk thus corrupting parity 2? Do we stop the parity 2 calculation? Do we go back in to the New Config and remove Parity 2 from circulation, check the "Parity Already Valid Box", restart the array, stop the array again, power down, pull the failed data drive, install new data drive, power on, assign new data drive and rebuild the data drive?

 

Sorry for the barrage of questions; I really value your input.

Link to comment

If a data drive fails while building parity2 this is not something I have personally experienced, but what I believe happens is that Unraid starts emulating the failed drive using parity1 plus the other data drives so the build of parity2 continues unaffected.  
 

someone may be able to chime in who has actual experience of this scenario.

 

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.