Second Parity as Warm Spare


yitzi

Recommended Posts

Hi all, I'm on 6.2.0-rc2 and wondering if anyone knows this. Will the second parity be able to be on-the-fly used as a replacement for failed data disk?

 

So the question may have to go further, once you set up a second parity, will removing this require a complete parity sync once more? Otherwise, in theory, simply removing the second parity and installing as a replacement should work.

 

Thanks,

Link to comment

Interesting thought.

 

I don't know for sure, but it MAY be possible.

 

Consider ...

 

(a)  With dual parity the system is dual fault-tolerant.  i.e. you can have 2 drives fail without losing any data.

 

So ...

 

(b)  If a drive fails, you can "intentionally fail" the 2nd parity drive by simply removing it.

 

©  You could then rebuild one of the failed drives by simply adding a new drive to the system.  What's not clear is whether you could assign the "failed" parity drive to the data drive's slot.    The system may very well simply recognize that the parity drive is back in place and use it in it's originally assigned role instead.    If that's the case, the answer is NO, you can't do it.

 

 

Notwithstanding that possibility, I don't think you'd want to do it anyway.    If you have a data drive fail, you still have a fault-tolerant array (thanks to the dual parity) ... so just get yourself a replacement drive and then rebuild the failed drive.    That way your array is never "at risk"  (which it would instantly be if you removed the 2nd parity drive).

 

Link to comment

Interesting thought.

 

I don't know for sure, but it MAY be possible.

 

Consider ...

 

(a)  With dual parity the system is dual fault-tolerant.  i.e. you can have 2 drives fail without losing any data.

 

So ...

 

(b)  If a drive fails, you can "intentionally fail" the 2nd parity drive by simply removing it.

 

©  You could then rebuild one of the failed drives by simply adding a new drive to the system.  What's not clear is whether you could assign the "failed" parity drive to the data drive's slot.    The system may very well simply recognize that the parity drive is back in place and use it in it's originally assigned role instead.    If that's the case, the answer is NO, you can't do it.

 

 

Notwithstanding that possibility, I don't think you'd want to do it anyway.    If you have a data drive fail, you still have a fault-tolerant array (thanks to the dual parity) ... so just get yourself a replacement drive and then rebuild the failed drive.    That way your array is never "at risk"  (which it would instantly be if you removed the 2nd parity drive).

 

Actually, one more question as this is equally as important. Say I run out of space on my array, can I "demote" the second parity and add it as an additional data drive? Would the entire parity calculation have to be redone or can I simply format the drive and add it. I can then proceed to purchase a new parity drive in the meantime. This way, I can always add my 4TB (2nd parity) back to the array.

Link to comment

Interesting thought.

 

I don't know for sure, but it MAY be possible.

 

Consider ...

 

(a)  With dual parity the system is dual fault-tolerant.  i.e. you can have 2 drives fail without losing any data.

 

So ...

 

(b)  If a drive fails, you can "intentionally fail" the 2nd parity drive by simply removing it.

 

©  You could then rebuild one of the failed drives by simply adding a new drive to the system.  What's not clear is whether you could assign the "failed" parity drive to the data drive's slot.    The system may very well simply recognize that the parity drive is back in place and use it in it's originally assigned role instead.    If that's the case, the answer is NO, you can't do it.

 

 

Notwithstanding that possibility, I don't think you'd want to do it anyway.    If you have a data drive fail, you still have a fault-tolerant array (thanks to the dual parity) ... so just get yourself a replacement drive and then rebuild the failed drive.    That way your array is never "at risk"  (which it would instantly be if you removed the 2nd parity drive).

 

Actually, one more question as this is equally as important. Say I run out of space on my array, can I "demote" the second parity and add it as an additional data drive? Would the entire parity calculation have to be redone or can I simply format the drive and add it. I can then proceed to purchase a new parity drive in the meantime. This way, I can always add my 4TB (2nd parity) back to the array.

although I have not tried it personally I would expect that you could use the parity 2 disk in this way as the calculation of the parity when using dual parity are independent of each other as they use independent algorithms.  Not sure if this also applies to parity 1 disk.    Having said that feedback from someone who has actually tried it would be a nice confirmation.
Link to comment

Interesting thought.

 

I don't know for sure, but it MAY be possible.

 

Consider ...

 

(a)  With dual parity the system is dual fault-tolerant.  i.e. you can have 2 drives fail without losing any data.

 

So ...

 

(b)  If a drive fails, you can "intentionally fail" the 2nd parity drive by simply removing it.

 

©  You could then rebuild one of the failed drives by simply adding a new drive to the system.  What's not clear is whether you could assign the "failed" parity drive to the data drive's slot.    The system may very well simply recognize that the parity drive is back in place and use it in it's originally assigned role instead.    If that's the case, the answer is NO, you can't do it.

 

 

Notwithstanding that possibility, I don't think you'd want to do it anyway.    If you have a data drive fail, you still have a fault-tolerant array (thanks to the dual parity) ... so just get yourself a replacement drive and then rebuild the failed drive.    That way your array is never "at risk"  (which it would instantly be if you removed the 2nd parity drive).

 

Actually, one more question as this is equally as important. Say I run out of space on my array, can I "demote" the second parity and add it as an additional data drive? Would the entire parity calculation have to be redone or can I simply format the drive and add it. I can then proceed to purchase a new parity drive in the meantime. This way, I can always add my 4TB (2nd parity) back to the array.

although I have not tried it personally I would expect that you could use the parity 2 disk in this way as the calculation of the parity when using dual parity are independent of each other as they use independent algorithms.  Not sure if this also applies to parity 1 disk.    Having said that feedback from someone who has actually tried it would be a nice confirmation.

Yes, you can, you would have to unassign it, start the array, stop the array and add it as adicional data disk, this would work with either parity.

 

Link to comment

Same comment as I made earlier => while it MAY work, the system may also recognize that this is the "failed" parity drive and simply reuse it in that role. ... in which case it won't work.

 

You could absolutely simply do a New Config and only assign one parity drive -- which would let you use what was your 2nd parity drive as additional storage; but this would also require a new parity sync, so the array would be unprotected until that was done.

 

In any event, I'd think it's easy enough to simply order another drive when you're getting low on storage so the situation you described simply doesn't happen  :)

Link to comment

johnnie => Have you tested this?  [You have the best test setup of anyone on the forum as far as I know, so I wouldn't be surprised if you have  :) ]

 

I would not be surprised if it worked -- just as I noted the original idea may work (using it as a replacement instead of a new drive) -- but I'm not sure if the serial number of the drive may cause it to be automatically used in its original role without a New Config.

 

Link to comment

Interesting thought.

 

I don't know for sure, but it MAY be possible.

 

Consider ...

 

(a)  With dual parity the system is dual fault-tolerant.  i.e. you can have 2 drives fail without losing any data.

 

So ...

 

(b)  If a drive fails, you can "intentionally fail" the 2nd parity drive by simply removing it.

 

©  You could then rebuild one of the failed drives by simply adding a new drive to the system.  What's not clear is whether you could assign the "failed" parity drive to the data drive's slot.    The system may very well simply recognize that the parity drive is back in place and use it in it's originally assigned role instead.    If that's the case, the answer is NO, you can't do it.

 

 

Notwithstanding that possibility, I don't think you'd want to do it anyway.    If you have a data drive fail, you still have a fault-tolerant array (thanks to the dual parity) ... so just get yourself a replacement drive and then rebuild the failed drive.    That way your array is never "at risk"  (which it would instantly be if you removed the 2nd parity drive).

 

Actually, one more question as this is equally as important. Say I run out of space on my array, can I "demote" the second parity and add it as an additional data drive? Would the entire parity calculation have to be redone or can I simply format the drive and add it. I can then proceed to purchase a new parity drive in the meantime. This way, I can always add my 4TB (2nd parity) back to the array.

although I have not tried it personally I would expect that you could use the parity 2 disk in this way as the calculation of the parity when using dual parity are independent of each other as they use independent algorithms.  Not sure if this also applies to parity 1 disk.    Having said that feedback from someone who has actually tried it would be a nice confirmation.

Yes, you can, you would have to unassign it, start the array, stop the array and add it as adicional data disk, this would work with either parity.

Could you use either parity without new config and a parity sync?

 

It seems to make sense that parity2 could be used this way, since parity1 would still be valid after unRAID clears the new data (old parity2) disk. But I don't see how parity1 could be used without a new config and changing parity2 to parity1 and syncing.

 

Or is it allowed to have a parity2 without parity1? I assumed not.

Link to comment

johnnie => Have you tested this?  [You have the best test setup of anyone on the forum as far as I know, so I wouldn't be surprised if you have  :) ]

 

I would not be surprised if it worked -- just as I noted the original idea may work (using it as a replacement instead of a new drive) -- but I'm not sure if the serial number of the drive may cause it to be automatically used in its original role without a New Config.

I did test, as long as you unassign it and start the array to "forget" it, it can then be used as a data disk.

Link to comment

Could you use either parity without new config and a parity sync?

 

It seems to make sense that parity2 could be used this way, since parity1 would still be valid after unRAID clears the new data (old parity2) disk. But I don't see how parity1 could be used without a new config and changing parity2 to parity1 and syncing.

 

Or is it allowed to have a parity2 without parity1? I assumed not.

 

You can use either without a new config, after starting the array without it, and can also have only parity2.

 

Link to comment

Thanks johnnie ... that's good to know.

 

yitzi ==>  Given Johnnie's results, that means you could do either of the scenarios you asked about ... i.e. use the 2nd parity as a replacement for a failed drive (which I don't see any reason to do, as I outlined earlier);  or adding it as a new drive (which there could be a use for if you've failed to notice your storage getting too low and need to add more space quickly).

 

Link to comment

Could you use either parity without new config and a parity sync?

 

It seems to make sense that parity2 could be used this way, since parity1 would still be valid after unRAID clears the new data (old parity2) disk. But I don't see how parity1 could be used without a new config and changing parity2 to parity1 and syncing.

 

Or is it allowed to have a parity2 without parity1? I assumed not.

 

You can use either without a new config, after starting the array without it, and can also have only parity2.

 

Thanks for testing it and confirming that we can also use only the parity2 drive.

Link to comment

Thanks johnnie ... that's good to know.

 

yitzi ==>  Given Johnnie's results, that means you could do either of the scenarios you asked about ... i.e. use the 2nd parity as a replacement for a failed drive (which I don't see any reason to do, as I outlined earlier);  or adding it as a new drive (which there could be a use for if you've failed to notice your storage getting too low and need to add more space quickly).

 

Thanks garycase, the first wouldn't make sense. But in the second case, I have an additional 4TB drive that I can add to my array and not need it, or have the additional protection of parity2.

 

Thanks again for the help guys. Appreciate the quick responses.

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.