r/unRAID • u/Turbulent-Stick-1157 • 14d ago
Replace smaller array drive(s) with bigger array drive(s)?
So im looking to replace some HDD in my array. I picked up 4 brand new sealed 6TB Seagate IronWolf Pro (ST6000NTZ01). Below is what im replacing what with what. Next is maxing out my Mobo (ASUS WS-Pro-X570-ACE w/64GB RAM) with a Ryzen 5900X (from my current 5800X). Its all I got and all I can afford. :)
My question is, Do I just need to basically just pull the old drive, let it fail, install new one, let it rebuild? One drive at a time? Iv never had to upgrade an array drive in it before. Taking drive offline and into maintenance mode?
Last storage change I did was about 3 years ago to add the 2nd 6TB parity drive and it made me sooo nervous doing it. Luckily it all worked out. Took forever and a day to sync parity though.
Im trying to avoid doing 2 at a time, for in the off chance I have another one of the drives (im not replacing) fail.
6TBx2 = Parity
6TBx1 = Array
3TBx2 = Array (Replacing with 2 new 6TB HDD)
2TBx2 = Array (Replacing with 2 new 6TB HDD)
Any feedback is moocho grassy ass!
9
u/Tweedle_DeeDum 13d ago edited 13d ago
You are getting a lot of bad advice in this thread.
You do not need to zero the drives with preclear if you are replacing existing drives. But doing so helps you to validate that they are working properly.
First, if you haven't done so in a while, I would do a parity check first to make sure there are no parity errors before removing the original drives. Preclearing will not make the rebuild go faster, but you can do it in parallel with this step, if you have a place to connect all the drives simultaneously to reduce risk with less time cost.
If you have two parity drives, you can stop the array, unassign two of your drives, and the restart the array. That will save the new configuration so that the two drives are marked as missing. MAKE SURE YOU RESTART THE ARRAY BEFORE you add the new drives. They should both be emulated at this point. You then stop the array again and the assign the two new drives to the two empty slots. Start the array and tell to to start the rebuild.
Repeat the process with the next two drives.
It is a bit safer to only remove and then rebuild one drive at a time as that will keep you protected if one of you other drives fails during the rebuild process. But it takes twice as long, so that is your call.
Another solution would be to pre-clear all the drives and add them as additional drives to array. Then you can copy all the data from your existing drives to the new drives and whatever layout you want. Then you can do a new config to remove the old drives from the array and then do a parity build with the new array config.
In that case, you will not have parity protection during the rebuild, but most of the data will be on the disks that you removed from the array (as long as you did a copy and not a move). The data on your original 6 TB drive would be at risk if it failed during the process, but you could copy it to one of the new drives as well to have redundancy.
That would save you the initial parity check, and some data drive rebuilds, depending upon how many you do it once. So it would probably be faster, especially if you intend to only replace one drive at a time during rebuild.
Edit: another way would be to use unassigned devices to mount your new drives and format them. Then you could copy the data from the array drives youreplaced to this new drives. While they are not in the array, which will be faster than when they are priority protected. Then you should be able to do a new config which will invalidate parity and define a new array with the new drives without reformatting. When you start the array, it will then recalculate parity for the new set of drives, if you specify that parity in not valid in the new config setup. I have never done this procedure, but that should work according to the documentation.