Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Adding a drive bigger than the parity drive

Featured Replies

Thank you for updating the post

 

 

(hence very clear now why why JoeL. states he doesn't wish to publish how to apply just the signature, "it's to dangerous"  :P)

 

Thanks guys!

 

"Faking" a pre-clear signature is a BAD idea ... as graywolf noted, this would result in UnRAID "thinking" it had good parity, when in fact it did not !!

 

The ONLY way you can add a new drive to an array without impacting the parity already stored on the parity drive is if EVERY bit on the drive is a zero.  This ensure the correct parity bit doesn't change ... so parity remains valid.

 

If you fake a pre-clear signature, then UnRAID will add the drive, but "thinks" the drive is otherwise all zeroes.    If you did this, and then immediately did a correcting parity check, you'd have BILLIONS of sync errors !!    Parity would, of course, be correct AFTER that check ... but clearly this is not a good way to do this  :)

 

"Faking" a pre-clear signature is a BAD idea ... as graywolf noted, this would result in UnRAID "thinking" it had good parity, when in fact it did not !!

 

The ONLY way you can add a new drive to an array without impacting the parity already stored on the parity drive is if EVERY bit on the drive is a zero.  This ensure the correct parity bit doesn't change ... so parity remains valid.

 

If you fake a pre-clear signature, then UnRAID will add the drive, but "thinks" the drive is otherwise all zeroes.    If you did this, and then immediately did a correcting parity check, you'd have BILLIONS of sync errors !!    Parity would, of course, be correct AFTER that check ... but clearly this is not a good way to do this  :)

Wasn't totally sure I got it, until you posted this.

I don't get why it would use anything (0/1) from this new drive to "simulate" the other failed drive?
All array member drives are fully used to simulate the failed drive. That is why it's so crucial for a new drive to be all zeros, or for parity to be recalced using the existing values.

 

Quick parity tutorial. So quick it's missing crucial technical detail, but here goes. Say you have 3 drives, so 2 data and 1 parity.

 

At location address 1 on all the drives, the 2 data drives have 0, so the parity is set to 1, to make the total = 1. Location 2, 1st data is 0 second is 1, so parity is set to 0 so the total = 1. Location 3, D1=1, D2=1, so parity is set to 1 for a total of 1. Using the other two drives, any location can be calculated. Adding a 4th drive, you either need to do all the math again, or you can make sure all the locations are 0, so parity is still the same as it was before you added the drive. Once again, if you remove one of the other drives, you can use the other drives to calculate the value that should be there. If a location that is assumed to be 0 is actually 1, then the simulated data is going to be wrong at that location.

 

Okay, the mathematical purist in me requires a bit of comment  :)  [i did a PhD in math]

... Your example assumes odd parity;  I'm fairly sure UnRAID uses even parity (Tom could confirm this).  The concept is the same -- but your example is not correct for an even parity system.    Nor are any of the subsequent examples, which all assume odd parity.

 

Okay, the mathematical purist in me requires a bit of comment  :)  [i did a PhD in math]

... Your example assumes odd parity;  I'm fairly sure UnRAID uses even parity (Tom could confirm this).  The concept is the same -- but your example is not correct for an even parity system.    Nor are any of the subsequent examples, which all assume odd parity.

 

Correct, I couldn't remember if unRaid was odd or even parity, that is why in my examples I specified odd parity.

The point was to show why adding a drive that didn't have all zeros but unRaid thought it did would be a bad thing.  ;D

Quick parity tutorial. So quick it's missing crucial technical detail, but here goes.

 

Okay, the mathematical purist in me requires a bit of comment  :)  [i did a PhD in math]

... Your example assumes odd parity;  I'm fairly sure UnRAID uses even parity (Tom could confirm this).  The concept is the same -- but your example is not correct for an even parity system.    Nor are any of the subsequent examples, which all assume odd parity.

Thus my statement "missing crucial technical detail". I'm well aware of even vs odd parity, but for the purposes of my example, I felt odd parity was easier to illustrate and explain quickly, without going into even vs odd. Which scheme unraid actually uses is pretty irrelevant in the context of a quick parity explanation.

Thus my statement "missing crucial technical detail".

 

You did caveat that ... but a 10-second search in the FAQ on the Wiki would have led you here:

http://lime-technology.com/wiki/index.php/FAQ#How_does_parity_work.3F

 

... which includes this statement:  "... unRAID uses what is called 'even parity' "

 

=> and you could have been technically accurate  :)

 

But I certainly agree that for purposes of your examples, it doesn't make any difference  :)

I'll speak for myself, I am good with jonathanm and graywolf high level explanation and example, and appreciated. I'm not looking to redo anything for unRAID parity (or any complaints about it) nor was anyone faking a drive, it was a good example should someone make an attempt, what the end state would be. Thanks again.

And thanks to the OP for bearing with this side tracking.

unRAID uses "even" parity.

 

Joe L.

Archived

This topic is now archived and is closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.