dasoul Posted May 29, 2017 Share Posted May 29, 2017 (edited) I copied all the data off of a failing disk. How can I remove the disk from my array or replace it with a larger disk without having to recalculate parity? Anyway or should I just fail out the disk and then replace it and let the rebuild take care of it? Edited June 1, 2017 by dasoul Quote Link to comment
JorgeB Posted May 29, 2017 Share Posted May 29, 2017 If you want to replace with with a larger disk just rebuild it, you could do a new config but you'll need to rebuild parity. Quote Link to comment
dasoul Posted May 31, 2017 Author Share Posted May 31, 2017 On 5/29/2017 at 3:36 AM, johnnie.black said: If you want to replace with with a larger disk just rebuild it, you could do a new config but you'll need to rebuild parity. Yeah I just ended up doing a swap. Still I am going to need to know how to just remove a disk or two once I remove some of these older disks from the array. Is there a way to get them removed without having to recalculate parity? Quote Link to comment
JonathanM Posted May 31, 2017 Share Posted May 31, 2017 19 minutes ago, dasoul said: Is there a way to get them removed without having to recalculate parity? Yes, but if your goal is to save time, then don't bother. It takes longer and is much riskier to keep parity valid by fully zeroing the drive to be removed than it would be to simply recalculate parity. Quote Link to comment
dasoul Posted May 31, 2017 Author Share Posted May 31, 2017 11 hours ago, jonathanm said: Yes, but if your goal is to save time, then don't bother. It takes longer and is much riskier to keep parity valid by fully zeroing the drive to be removed than it would be to simply recalculate parity. Well I have to move the data from the drive anyways and place it onto one of the larger drives I "drive swapped" into the array. So its not really about time. Although it saves the time of having to recalculate parity if there is a way once I have moved all the data off the old drive I will be removing from the array completely. Quote Link to comment
trurl Posted May 31, 2017 Share Posted May 31, 2017 To elaborate on what jonathanm already said, there is a method to remove a drive without rebuilding parity. That method involves writing zeros to the entire drive to be removed, while the drive is still part of the parity array. Writing those zeros with the drive still in the array updates parity so it agrees with all those written zeros. After the entire drive has been written with zeros, then it can be removed from the parity array and a new config set without the drive, and without needing to recalculate parity, since it was already updated during the writing of the zeros. Removing a drive that is all zeros doesn't invalidate parity. So, it is kind of complicated, and not really a time-saver. Also note that a drive that has all of the files deleted from its filesystem is not a clear (all zero) drive. And in general, any changes to your configuration will require significant time, since parity must be maintained. This usually means writing an entire drive in some way, and writing TBs takes a while. Quote Link to comment
dasoul Posted June 1, 2017 Author Share Posted June 1, 2017 10 hours ago, trurl said: To elaborate on what jonathanm already said, there is a method to remove a drive without rebuilding parity. That method involves writing zeros to the entire drive to be removed, while the drive is still part of the parity array. Writing those zeros with the drive still in the array updates parity so it agrees with all those written zeros. After the entire drive has been written with zeros, then it can be removed from the parity array and a new config set without the drive, and without needing to recalculate parity, since it was already updated during the writing of the zeros. Removing a drive that is all zeros doesn't invalidate parity. So, it is kind of complicated, and not really a time-saver. Also note that a drive that has all of the files deleted from its filesystem is not a clear (all zero) drive. And in general, any changes to your configuration will require significant time, since parity must be maintained. This usually means writing an entire drive in some way, and writing TBs takes a while. Thanks for the expanded information. Right now I have 13 data drives in my unraid. I have 3 more 8TB drives to add to replace 3 of the older 3 or 2TB drives I have in the system. So it seems like the best way to do it is to just replace 3 drives 1 at a time waiting for the rebuild/expansion. Once they are added move the files from the other smaller/older drives I want to remove from the configuration. Do the 'new config' utility and then reassign the data drives which I want to leave in the array. Making sure the not assign a data drive to the parity drive then let the parity rebuild once I start the array back up. Does that sound right? The 'new config' utility doesnt wipe out my plugins does it? Quote Link to comment
trurl Posted June 1, 2017 Share Posted June 1, 2017 7 minutes ago, dasoul said: Does that sound right? Yes. New Config only changes the drive assignments, and optionally (by default) rebuilds parity. Quote Link to comment
dasoul Posted June 1, 2017 Author Share Posted June 1, 2017 41 minutes ago, trurl said: Yes. New Config only changes the drive assignments, and optionally (by default) rebuilds parity. I guess we will mark this as solved. Thanks! 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.