any benefit to installing a parity disk larger than the largest data disk?


Recommended Posts

Hi,

Thanks a lot for this product it allowed me to recycle my previous video editing computer ( i7-4790k - 32 Gb RAM - GTX960 ) and few hard drives to an unraid server with 17TB of shared drive :

  • Parity 1 : 4TB
  • Parity 2 : No device
  • Disk 1: 4TB
  • Disk 2: 4TB
  • Disk 3: 3TB
  • Disk 4: 3TB
  • Disk 5: 3TB
  • Disk 6: No device
  • Cache : SSD 250GB
  • Unassigned : SSD 250GB
     

This configuration works like a charm with nfs encrypted file system.

 

Last week I got one 8TB hard drive and I decided to add it to my unraid server.

I understood the biggest must do the parity job so I tried to swap my 4TB parity disk with my brand new 8TB but the unraid server does not allow me to start again the array (start button was grey: "configuration incorrect") 


So step by step : 

  • I added the new 8TB as second parity disk. 
  • 28 hours later when cleared and parity check processes were completed I removed the 1st 4TO parity disk and move it to the array.

 

Now the new configuration got 21TB of shared drive and 8TO of parity:

  • Parity 1 : No Device
  • Parity 2 : 8TB
  • Disk 1: 4TB
  • Disk 2: 4TB
  • Disk 3: 3TB
  • Disk 4: 3TB
  • Disk 5: 3TB
  • Disk 6: 4TB
  • Cache : SSD 250GB
  • Unassigned : SSD 250GB
     

Everything works perfectly but now I have few questions...

 

  1. Is it a problem to have only one disk in parity 2 and no device in parity 1 ?
  2. Does it make sense to have 8TB parity drive when the biggest data drive is 4TB ? Do you see any optimisation ?
     

Thanks a lot for your support.
Fab

 

 

Link to comment
6 minutes ago, Fabiolander said:

Last week I got one 8TB hard drive and I decided to add it to my unraid server.

I understood the biggest must do the parity job so I tried to swap my 4TB parity disk with my brand new 8TB but the unraid server does not allow me to start again the array (start button was grey: "configuration incorrect") 

 

You should have asked at this point, because you should definitely be able to replace 4TB parity1 with 8TB disk. There must have been something else going on that you didn't notice or tell us about.

 

7 minutes ago, Fabiolander said:
  • Is it a problem to have only one disk in parity 2 and no device in parity 1 ?
  • Does it make sense to have 8TB parity drive when the biggest data drive is 4TB ? Do you see any optimisation ?

It is OK, but these are not interchangeable so if you want to change it to the parity1 slot you will have to rebuild parity.

 

A parity disk larger than any data disk will allow you to easily replace or add larger disks in the future. For example, now that you have 8TB parity, if one of your 4TB failed, you could replace it with an 8TB

Link to comment
4 hours ago, trurl said:

You should have asked at this point, because you should definitely be able to replace 4TB parity1 with 8TB disk. There must have been something else going on that you didn't notice or tell us about.

 

It is OK, but these are not interchangeable so if you want to change it to the parity1 slot you will have to rebuild parity.

 

A parity disk larger than any data disk will allow you to easily replace or add larger disks in the future. For example, now that you have 8TB parity, if one of your 4TB failed, you could replace it with an 8TB

Thank you for your very fast anwser.

 

Ok so I keep it like and I think I will survive with Parity 2 only ;-)

Thanks a lot for this amazing master piece of software.

Edited by Fabiolander
Link to comment

Be aware that the calculation of Parity2 is a complex matrix calculation that is quite CPU intensive.  So intensive that a new instruction was added into the instruction set of CPU's beginning in about 2015 to handle this calculation. (Unraid was not the reason for the addition.  I suspect that it was requested by the big players in the server farm industry.)  Parity1 uses a CPU instruction that has been in the CPU instruction set since the 8008 CPU!  Depending on what CPU you are using the parity check using Parity2 (And what else you are asking the CPU to do while the check is running) may take longer than the it did previously.  You can expect that the parity check will increase by about 70-80% as a result going from a 4Tb array to an 8TB array even using Parity1.

 

 

Edited by Frank1940
Link to comment

@trurl Please help me to better understand this scenario. If I start with dual parity and then P1 dies, I'd add a new disk and rebuild P1, this much I get. On the other hand if I intentionally reassign P1 as a data disk does that process shrink the array and rebuild P2 as a solo parity disk or will unRaid continue looking for a replacement disk at the P1 slot indefinitely. My assumption, knowing that the math is different on single vs dual parity, is that it continues looking for a replacement disk on P1 indefinitely. I've read this thread as well as this one and still don't quite get it. If unRaid is looking for a replacement parity disk I guess that technically he could lose one more disk and rebuild which is effectively single parity, BUT, (and here is my confusion) does that mean that somehow the parity bits of the missing P1 are spread out across other disks and are they taking up space equivalent to the missing P1? I've read this wiki and still don't fully get it. From what I can gather the answer is no and if that's the case I guess that will have to suffice because I don't seem to grasp it yet. I understand that P1 has no data but rather bits used for calculation but isn't it full, in this case 8TB? I can only imagine that any data disk has an equivalent amount of bits to calculate against, otherwise maybe one bit calculates against a much longer string arrrggh, now I'm talking myself in circles. @Frank1940 you posted as I was writing this, and that bit of information alone makes me think I'd just rebuild as single parity. Also I'd imagine, perhaps erroneously, that running one parity disk short is somehow harder on the rig in general. Apparently a full comprehension of parity eludes me, maybe one day....

Link to comment

I think you are over-thinking things :)

 

All that really matters is that the contents of each parity disk is calculated independently of each other by doing mathematical operations against all the data drives, and that each parity drive allows for the failure of a single array drive to be handled.     In your case where you unassign parity1 and assign that drive as a new data drive you expand the available space by the size of that drive, but you are now only protected against a single drive failing as you only have one parity drive left.    Unraid does not care that parity1 is no longer present.

Link to comment

Parity1 is one of the original parity schemes.  Its mathematical proof is almost trivial. Parity2 is an another story.  Parity 2 was developed to provide for the failure of any two disks in an array already protected by Parity1.  Its proof is not trivial.  You will probably need an advance degree in Matrix Algebra to understand it.  (The proof is a vital component of any parity protection scheme.  IF the proof can not be rigorously demonstrated, it is probably will not work in some situation!)   When you use only Parity2 disk what the proof states is that the Parity1 disk is now to be considered as a failed disk.  Thus, the now compromised system is only protect against the failure of one more disk without data loss.

 

For your information, here is how Parity1 works:

 

     https://wiki.unraid.net/index.php/UnRAID_Manual_6#Network_Attached_Storage

 

 

  • Thanks 1
Link to comment
39 minutes ago, Frank1940 said:

For your information, here is how Parity1 works:

 

     https://wiki.unraid.net/index.php/UnRAID_Manual_6#Network_Attached_Storage

That ↑ is a great link, this information in combination with another link you'd posted here gives me this:

Quote

Effectively, every parity bit protects the corresponding bits of a, b, c, d, e.

So when I said

1 hour ago, Dissones4U said:

otherwise maybe one bit calculates against a much longer string arrrggh, now I'm talking myself in circles

I was on the right track without understanding it, the graphic in the unRaid wiki giving me the visual to associate the bits in columns and combining that with the quote from Igor's blog completely explains the way the bits are stored and used to calculate missing bits. Now the higher algebra I'll leave to others but for me, this makes it understandable. Thanks!

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.