Trying to upgrade from dual 3tb parity to dual 14tb but at drive limit


Recommended Posts

16 hours ago, itimpi said:

That is quite normal for the speed to go down as one moves towards the inner tracks. :(  Drives spin at a constant speed,  so because the outer tracks are physically longer they can hold more sectors and the resulting speed is higher.

is it normal for the second parity drive rebuild to go slower than the first?

image.thumb.png.2525ab2df18d63fe86b2d05c8214ae3f.png

Link to comment
57 minutes ago, danimal86 said:

Hopefully it will speed up in after it passes that 3tb

 

As JonathanM mentioned, it should.

 

The speed on my last check were like that (18TB parity and one Data drive, several 14TB and two 6TB):

image.png.927fc75ce4be9d2650832b0968376f87.png

 

Ignore the drops, I was probably writing stuff on the Array. I showed in green, the theoretical behavior without me messing things up.

Link to comment
13 minutes ago, ChatNoir said:

 

As JonathanM mentioned, it should.

 

The speed on my last check were like that (18TB parity and one Data drive, several 14TB and two 6TB):

image.png.927fc75ce4be9d2650832b0968376f87.png

 

Ignore the drops, I was probably writing stuff on the Array. I showed in green, the theoretical behavior without me messing things up.

Sweet graph.  is that a plugin?

 

Link to comment
4 hours ago, ChatNoir said:

 

As JonathanM mentioned, it should.

 

The speed on my last check were like that (18TB parity and one Data drive, several 14TB and two 6TB):

image.png.927fc75ce4be9d2650832b0968376f87.png

 

Ignore the drops, I was probably writing stuff on the Array. I showed in green, the theoretical behavior without me messing things up.

well its back up to over 200mb/s.

Really interesting how on the first parity rebuild, it want fast to slow.....on the second it went slow to fast.  

image.thumb.png.1ca34d1cdfbacd5193505b988a11dc65.png

Edited by danimal86
Link to comment
19 minutes ago, danimal86 said:

Really interesting how on the first parity rebuild, it want fast to slow.....on the second it went slow to fast.  

It probably depended exactly when you looked at the speed :) 

 

At any point the speed is determined by the slowest drive currently active.  With multiple drive sizes you will see it slowing down as a particular size of drive gets to its inner tracks, and then jumping up again when the build gets past the size of that drive and the next drive size becomes the limiting factor.  This pattern can repeat for each drive size.

Link to comment
On 11/2/2021 at 10:46 AM, JonathanM said:

You should do a parity check after the parity build on the new drives, just as a confidence check.

About 2.5hrs left to go and then i'll be doing a parity check before starting to swap drives.  

 

Anything on the parity check that i should look for, or just see if it say "completed with zero errors"?

Link to comment
6 minutes ago, danimal86 said:

Dang, this is a long process!  Ha.

 

When i do the rebuild of the data drives, since its only writing around 1.25tb to each drive, that should go quicker? or will it take as long as the parity rebuild?

Parity doesn't work with files, but complete filesystems.

The entire drive capacity must be written.

Link to comment
1 hour ago, JonathanM said:

Parity doesn't work with files, but complete filesystems.

The entire drive capacity must be written.

Second parity rebuild is done.  

image.thumb.png.19666a5c0de162da35579ee15833da04.png

 

I've never forced a manual parity check outside of the normal monthly automatic parity check and haven't noticed the little "write corrections to parity"

image.thumb.png.b35b055ef7c9c6433725fa1623d01874.png

What does it do?  Keep it checked?

 

Link to comment

Parity check reads all the data drives, does the parity calculation, reads the parity drives and compares. If it's correct, it moves on to the next sector. If it's wrong, parity errors are incremented, and depending on the write corrections setting, it either leaves the error as is, or writes the calculated value back to the parity disks.

 

Normally you don't want writes to happen unless you know WHY it's wrong to begin with. For example, after a forced shutdown where writes to the data drives were occurring, parity errors are somewhat expected because the data writes are committed first and parity may not have had a chance to complete.

 

Under typical operation you should NEVER have parity errors, so finding out why ( bad cable, bad RAM, etc, etc) and fixing the root cause before committing the writes is the prudent thing to do.

 

So, normal routine parity checks, NON-correcting, if parity errors are found, figure out a plausible explanation and correct the issue, including any file system corruption, then do a parity check with write corrections, typically followed up by a non-correcting check to be sure whatever was wrong is now fixed.

 

Zero parity errors is the only acceptable outcome. Any errors means a failed drive will be reconstructed with the wrong bits.

Link to comment
8 minutes ago, danimal86 said:

What does it do?  Keep it checked?

It is normally recommended to NOT leave it checked.    
 

With it checked then if any discrepancy is noticed between the data drives and the parity drive then the parity is automatically updated to match the data drives.    The downside is that if you unknowingly have a data drive playing up this can end up corrupting parity which means if a data drive later fails you might have data corruption when you try and rebuild it.

 

I normally recommend that you only do a correcting check from a parity check you start manually when you have some reason to think that parity might not be valid and have already corrected the issue that made you think parity might be invalid.

Link to comment
4 minutes ago, JonathanM said:

Parity check reads all the data drives, does the parity calculation, reads the parity drives and compares. If it's correct, it moves on to the next sector. If it's wrong, parity errors are incremented, and depending on the write corrections setting, it either leaves the error as is, or writes the calculated value back to the parity disks.

 

Normally you don't want writes to happen unless you know WHY it's wrong to begin with. For example, after a forced shutdown where writes to the data drives were occurring, parity errors are somewhat expected because the data writes are committed first and parity may not have had a chance to complete.

 

Under typical operation you should NEVER have parity errors, so finding out why ( bad cable, bad RAM, etc, etc) and fixing the root cause before committing the writes is the prudent thing to do.

 

So, normal routine parity checks, NON-correcting, if parity errors are found, figure out a plausible explanation and correct the issue, including any file system corruption, then do a parity check with write corrections, typically followed up by a non-correcting check to be sure whatever was wrong is now fixed.

 

Zero parity errors is the only acceptable outcome. Any errors means a failed drive will be reconstructed with the wrong bits.

 

2 minutes ago, itimpi said:

It is normally recommended to NOT leave it checked.    
 

With it checked then if any discrepancy is noticed between the data drives and the parity drive then the parity is automatically updated to match the data drives.    The downside is that if you unknowingly have a data drive playing up this can end up corrupting parity which means if a data drive later fails you might have data corruption when you try and rebuild it.

 

I normally recommend that you only do a correcting check from a parity check you start manually when you have some reason to think that parity might not be valid and have already corrected the issue that made you think parity might be invalid.

Thanks for explaining this. 

 

I unchecked it and started a check, I also just checked under my scheduler settings and it was set to write corrections by default, i went ahead and set it to No now. 

 

i went back and looked at my parity check history and it shows 0 errors going back as far as April of 2020 (thats as far as it shows and i have it set to check the 1st of the month)

 

 

Link to comment
24 minutes ago, danimal86 said:

will the data drive rebuilds take just as long as the parity drives?  The drives im replacing only have 1.25tb's on them.

Rebuilds always write the complete disk being rebuilt. Parity doesn't know anything about files and how full your disks are. It is all just bits, and all of the bits to the end of the disk are written for rebuild.

Link to comment

How could it be otherwise? All the bits of every disk must be in sync with parity. All the bits of all disks are required to rebuild a missing disk. If you had a data disk that only had a few files on it, and that whole disk wasn't completely in sync with parity, then how could it be used to rebuild another data disk that was completely full of files?

Link to comment
9 minutes ago, trurl said:

How could it be otherwise? All the bits of every disk must be in sync with parity. All the bits of all disks are required to rebuild a missing disk. If you had a data disk that only had a few files on it, and that whole disk wasn't completely in sync with parity, then how could it be used to rebuild another data disk that was completely full of files?

i guess i dont really have all the knowledge of how unriad and the parity works (i guess that's what i'm here for) 

 

my old thinking is that, the drive im replacing only has 1tb of data on it, it would only write 1tb of data to the new drive.  Sound like i've got some learning to do. 🙂

Link to comment
10 hours ago, danimal86 said:

my old thinking is that, the drive im replacing only has 1tb of data on it, it would only write 1tb of data to the new drive.

Parity doesn't know or care about files, and doesn't have any of your data. As far as parity is concerned, the whole disk is full of bits and every bit of every disk must be in sync with parity because every bit of every disk is needed for the parity calculation to rebuild a missing disk.

 

The link I gave does a pretty good job of explaining how parity works. It is very simple, and is basically the same idea wherever it is used in computers and communication; with other RAID systems, with data transmission, etc. Parity is just an extra bit that allows a missing bit to be calculated from all the other bits.

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.