Check parity only until the size of the largest drive

Recommended Posts

This is done because it is also important that all of the parity drive beyond the size of the largest drive is all zeroes so that when you later add a larger data parity is correctly managed without having to write anything new to the parity drive.


I guess in theory it could be handled differently when adding larger drives by clearing the additional parity space before adding the larger drive but that would add complication to that process.   I think there is probably an assumption made that if you are using parity drives larger than the biggest drive you will soon be adding data drives of a similar size so zeroing that additional space up front keeps it simple.

Link to comment

And I totally understand that, but I'd be curious to see how many people are in my situation.


Most people (I'd guess) expand their storage relatively infrequently, and given SATA ports are finite, I go for the biggest, reasonably priced €/TB drive to expand, and usually more than one at once.

This usually means I'm replacing parity first, and putting the previous parity drives in the array.

In this case, even replacing two smaller drives, I came away with 12TB more storage, and the ability to add 18TB disks in future, instead of 10TB ones.


This isn't huge on the priority list, obviously. I just thought I'd flag it, given that something like 40% of the check (3 days, with parity tuning) is wasted every month.

Link to comment

Agreed. An implication of my feature request would be that the remainder of the parity would have to be checked at some point before the new disk is added.


But I think on balance a bunch of parity reads one time - when a bigger data drive is added - is better than a bunch of parity reads at every parity check when you're not running big disks.


As I say, just food for thought.

Link to comment

This would invalidate one of the benefits of using preclear when adding new disks in that you only have to stop the array for a minute or so as when you add a precleared disk as Unraid can assume that there is no update required to the parity disks.  If Unraid could not assume that the parity beyond the largest drive was guaranteed to be all zeroes assumption would break if the disk was larger than any of the current array disks as then Unraid would have to write new parity information.

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.

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.