Jump to content

Parity or Data Disk Incorrect?


Recommended Posts

I had some read-errors today and unraid decided to do a parity check. 

The triggered parity check told me there was 0 errors in the parity. Which is fine I guess. 

 

Now I am wondering, if there was a silent error and the disk does not report it to be an error, when a parity check is done and it was found that the parity is wrong, how does UNRAID determine which disk has the wrong data? 
How does it determine if it was the parity data is wrong or it was the data disk is wrong?

Edited by alice715
Added more info
Link to comment

It has no way to know so a correcting parity check always corrects parity. 

 

What do you mean by this? 

2 hours ago, alice715 said:

unraid decided to do a parity check. 

The triggered parity check

Only a reboot after an unclean shutdown will trigger a (noncorrecting) parity check. 

Link to comment
3 hours ago, trurl said:

It has no way to know so a correcting parity check always corrects parity. 

 

What do you mean by this? 

Only a reboot after an unclean shutdown will trigger a (noncorrecting) parity check. 

 

I see. I guess there is still a risk of data being corrupted silently if there is a bad drive giving off corrupted reads but is not reported to be a bad read from the drive itself. 

I think it is just a conincidence that there was a read error just a few minutes before my scheduled parity check kicked in. Also probably the parity check itself discovered the data read error. 

2020-06-24 16_23_28-Telegram (4513).png

Link to comment

Parity is the same wherever it is used in computers and communications. Parity is just an extra bit that allows a missing bit to be calculated from all the other bits. Whether RAID or Unraid, parity is just extra bits that allow the bits of a failed or missing disk to be calculated from the bits of all the other disks. Since it is just an extra bit with no information about any disks, there is no way to know which of the bits is out-of-sync.

 

Something that sometimes happens with a read error. Unraid will get the failed read data from the parity calculation using all the other disks, then write it back to the drive. If that write-back fails then the disk gets disabled just like any failed write.

Link to comment

I was reading a bit about this and found out that ZFS actually protects against silent data corruption since each block of data has its own checksum. 
Maybe I should explore on how to implement ZFS in unraid (just saw some possible solution by quick Googling) since I already purchased UNRAID; would be a waste to move to an entire different platform now. 

 

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.

×
×
  • Create New...