andyd Posted March 16, 2020 Share Posted March 16, 2020 I've run out of Sata ports but want to pre clear the new drive I will be adding for parity. At the same time I want to remove a smaller drive from my array that I will still use as a connected hard drive but not in the array. I have already moved all the content from the drive I'm going remove from the array and excluded it from all shares. 1. It sounds like removing the drive will lead to having to rebuild the parity? 2. If so, can I preclear another drive at the same time? 3. I'd like to avoid any long periods of downtime - would I be able to go with dual parity and then remove the old parity drive? I'm reading this... https://wiki.unraid.net/The_parity_swap_procedure and it doesn't mention this as an option but seems like it would be the "safest" and require little downtime? Quote Link to comment
andyd Posted March 18, 2020 Author Share Posted March 18, 2020 bumping this up. really not clear on how to handle Quote Link to comment
itimpi Posted March 18, 2020 Share Posted March 18, 2020 1). Yes - removing a drive invalidates parity requiring it to be rebuilt. 2). Yes - you can pre-clear a drive in parallel to any other array operation as a drive being pre-cleared is not part of the array. 3). Not sure I understand this question? Parity Swap procedure is only relevant when replacing a drive, not when removing one. in all cases the array remains operational so not sure why you expect prolonged downtime? It is just that performance is likely to be degraded while carrying out the operation? Quote Link to comment
andyd Posted March 22, 2020 Author Share Posted March 22, 2020 (edited) On 3/18/2020 at 1:53 AM, itimpi said: 1). Yes - removing a drive invalidates parity requiring it to be rebuilt. 2). Yes - you can pre-clear a drive in parallel to any other array operation as a drive being pre-cleared is not part of the array. 3). Not sure I understand this question? Parity Swap procedure is only relevant when replacing a drive, not when removing one. in all cases the array remains operational so not sure why you expect prolonged downtime? It is just that performance is likely to be degraded while carrying out the operation? 1) Seems odd that a drive with no data would require rebuilding the parity but likely due to my lack of knowledge 2) Ok cool 3) To be clear, I am actually doing two very different things - 1) switching out a 8tb parity drive with a 10tb drive. this 8tb drive will then be part of the array. 2) removing a 2tb drive from the array So parity swap sounds like something I'd like to avoid since it would likely take an entire day for the parity to move over to new drive. Is it not possible to have dual parity and then remove one of the drives? If so, why would parity swap ever be recommended? Edited March 22, 2020 by andyd Quote Link to comment
itimpi Posted March 22, 2020 Share Posted March 22, 2020 1 minute ago, andyd said: If so, why would parity swap ever be recommended? The only time Parity Swap is recommended is when you have a failed drive and want to simultaneously upgrade the parity drive to a larger size and re-use the old parity drive as the replacement for the failed drive. Quote Link to comment
itimpi Posted March 22, 2020 Share Posted March 22, 2020 5 minutes ago, andyd said: Seems odd that a drive with no data would require rebuilding the parity but likely due to my lack of knowledge Parity is not aware of data! From a parity perspective a drive with no files still has information on it contributing to the parity calculations. It is only if a drive is all zeroes that this is not the case and a drive could be removed without affecting parity. Quote Link to comment
trurl Posted March 22, 2020 Share Posted March 22, 2020 11 minutes ago, andyd said: To be clear, I am actually doing two very different things - 1) switching out a 8tb parity drive with a 10tb drive. this 8tb drive will then be part of the array. 2) removing a 2tb drive from the array If I understand correctly, where you want to end up is with a larger parity drive, and the original parity drive replacing a 2TB drive. Is that correct? If so, then parity swap seems entirely appropriate. You don't really have to have a "failed" drive. If you disconnect, or even just unassign that 2TB drive and start the array, Unraid will disable it and it will effectively be "failed" Quote Link to comment
trurl Posted March 22, 2020 Share Posted March 22, 2020 Note however, that parity swap does actually disable the array during the "parity copy" part of the procedure. Actually, on second thought, forget the parity swap. Just rebuilding parity with whatever drives assigned as you want is the best way to go. And you can do this all at once, removing the 2TB, adding the old parity as data, and adding the new parity and rebuilding it. Quote Link to comment
Squid Posted March 22, 2020 Share Posted March 22, 2020 20 minutes ago, andyd said: 1) Seems odd that a drive with no data would require rebuilding the parity but likely due to my lack of knowledge I replied in your other thread Quote Link to comment
trurl Posted March 22, 2020 Share Posted March 22, 2020 19 minutes ago, andyd said: Seems odd that a drive with no data would require rebuilding the parity but likely due to my lack of knowledge Just to elaborate on what itimpi already said, an empty disk is not a clear disk. A clear disk is all zeros. Removing or adding a clear disk has no effect on parity, since all those zeros produce the same parity result. An "empty" disk is far from all zeros. It actually still has all of the bits it ever had with whatever values were there before. It is just the small amount of filesystem metadata that says that those bits are no longer part of any file. And all those nonzero bits are still part of parity, so removing them requires a parity rebuild. Quote Link to comment
andyd Posted March 22, 2020 Author Share Posted March 22, 2020 (edited) 27 minutes ago, itimpi said: Parity is not aware of data! From a parity perspective a drive with no files still has information on it contributing to the parity calculations. It is only if a drive is all zeroes that this is not the case and a drive could be removed without affecting parity. 12 minutes ago, trurl said: Just to elaborate on what itimpi already said, an empty disk is not a clear disk. A clear disk is all zeros. Removing or adding a clear disk has no effect on parity, since all those zeros produce the same parity result. An "empty" disk is far from all zeros. It actually still has all of the bits it ever had with whatever values were there before. It is just the small amount of filesystem metadata that says that those bits are no longer part of any file. And all those nonzero bits are still part of parity, so removing them requires a parity rebuild. Got it and makes sense. Thanks for taking the time to elaborate and trurl in posting again in this thread! 17 minutes ago, trurl said: Note however, that parity swap does actually disable the array during the "parity copy" part of the procedure. Actually, on second thought, forget the parity swap. Just rebuilding parity with whatever drives assigned as you want is the best way to go. And you can do this all at once, removing the 2TB, adding the old parity as data, and adding the new parity and rebuilding it. Well, I wanted to both... 1. Avoid any potential issues with having no parity 2. Avoid any downtime And I was thinking the best way to do this is to do a dual parity and then demote the 8tb to an array drive when the 10tb parity drive is fully built Edited March 22, 2020 by andyd Quote Link to comment
trurl Posted March 22, 2020 Share Posted March 22, 2020 11 minutes ago, andyd said: I was thinking the best way to do this is to do a dual parity and then demote the 8tb to an array drive when the 10tb parity drive is fully built The thing to be aware of with dual parity, is that the 2 parity disks are not interchangeable. Parity2 is a different algorithm. So, parity2 is not the same as parity. Either parity will provide redundancy for a single failed disk. But since the 2 parities are not merely copies of each other, together they can provide redundancy for 2 failed disks. So, if you add a parity2, and then make your original parity disk a data disk, you will not have a parity disk in your array, you will have a parity2 disk. Quote Link to comment
andyd Posted March 22, 2020 Author Share Posted March 22, 2020 Ok got it. I do have a backup of most of the data if something were to go wrong so I guess I can go with rebuilding the array if needed Quote Link to comment
Recommended Posts
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.