October 15, 201510 yr I've recently added additional space/drives to my main unRAID server and thus I'm in need of more space on my backup server as well. My backup server consists of 8 x 3TB drives (1 parity + 7 data). I have 4 x 8TB drives to replace four of those 3TB drives (parity + 3 data). I've never had to replace a drive either for more space or due to a defective drive so can someone point me to an updated for v6 (I'm on 6.1.3) guide on how to do this or give me specific advice on how best to do this for my current situation? The only thing I know for sure is I need to replace the parity drive first. I assume I replace that, let parity rebuild and then replace the additional 3 drives one by one. I'm just not sure if there is any specific process or setting I need to configure before removing the old drive and putting the new one(s) in.
October 15, 201510 yr To replace each drive, you Stop the array; unassign the drive to be replaced; Start the array (so it's seen as "missing"); then Stop the array; Power down; replace the drive; Boot; Assign the new drive (Stopping the array first if it auto-started); and then Start the array and let it do the rebuild. After the rebuild is completed, it's best to do a non-correcting parity check to confirm all went well. So ... you can simply follow that process 4 times => first replacing the parity drive; and then replacing one drive at a time with the larger drives. Assuming these are all backups and you still have the main data on another system (or systems), an alternative is to simply do a New Config and assign ONLY the 4 new 8TB drives. Then you can simply do a parity sync; followed by a parity check; and then copy all of the data back to the server. [And just in case you'll still have all of the current drives with a complete backup of the backup server.] This saves 3 rebuilds and 3 parity checks ... although at the "expense" of re-copying all of the data (which may be effectively "hidden" time assuming it will happen during an automated backup). Then you could add 4 of the 3TB drives back to the server -- doing a pre-clear with the -n option on each before adding them (this skips the pre- and post- reads, so it only takes about 1/4th the time of a normal pre-clear cycle), so there wouldn't be any array downtime.
October 15, 201510 yr Author Assuming these are all backups and you still have the main data on another system (or systems), an alternative is to simply do a New Config and assign ONLY the 4 new 8TB drives. Then you can simply do a parity sync; followed by a parity check; and then copy all of the data back to the server. [And just in case you'll still have all of the current drives with a complete backup of the backup server.] This saves 3 rebuilds and 3 parity checks ... although at the "expense" of re-copying all of the data (which may be effectively "hidden" time assuming it will happen during an automated backup). Then you could add 4 of the 3TB drives back to the server -- doing a pre-clear with the -n option on each before adding them (this skips the pre- and post- reads, so it only takes about 1/4th the time of a normal pre-clear cycle), so there wouldn't be any array downtime. Hmmm, interesting suggestion gary. Sounds like that's the way to go since I can get my backup server up much faster. It will take me a few days to do the initial backup (17TB) but at least that will be taking place behind the scenes. With regard to the preclear script, can I run it with the -n option from the preclear plugin?
October 16, 201510 yr ... With regard to the preclear script, can I run it with the -n option from the preclear plugin? I'm not sure, but it seems not -- looking at the plugin page there seems to be a "skip pre-read" option, but not a skip post-read. It's very simple to just invoke the pre-clear script from the command line, however => and with the -n option it's MUCH faster. On the other hand, just doing a cycle via the plugin won't take any more of "your" time ... it just takes more computer time, so if that's more convenient, you can just do that.
October 21, 201510 yr Author New drives come in today. So just to be clear on what's the fastest way to get this server fully operational with all 8 disks (4 x 8TB + 4 x 3TB) I'm going to do the following: [*]Replace 4 x 3TB drives with 4 x 8TB drives [*]Preclear the 4 new drives (3 cycles with -n option) [*]Do a New Config and assign ONLY 4 new drives [*]Do a parity sync and then a parity check [*]Copy all data from main unRAID to newly built backup unRAID [*]Preclear remaining 4 x 3TB drives and then re-add them to the array Is that correct? The only part I'm confused about is why I need to pre-clear the 4 x 3TB drives that I already have been using. Can't I just format them to erase the data since I already pre-cleared them when I first installed them to be sure they are good?
October 21, 201510 yr Community Expert Is that correct? The only part I'm confused about is why I need to pre-clear the 4 x 3TB drives that I already have been using. Can't I just format them to erase the data since I already pre-cleared them when I first installed them to be sure they are good? Any time you try to add disks to a parity protected array then you need to pre-clear them to avoid the array being offline while unRAID clears them. Note that this requirement would not apply if you do not yet have parity protection in place (e.g. on initial setup or after a New Config).
October 21, 201510 yr Author Is that correct? The only part I'm confused about is why I need to pre-clear the 4 x 3TB drives that I already have been using. Can't I just format them to erase the data since I already pre-cleared them when I first installed them to be sure they are good? Any time you try to add disks to a parity protected array then you need to pre-clear them to avoid the array being offline while unRAID clears them. Note that this requirement would not apply if you do not yet have parity protection in place (e.g. on initial setup or after a New Config). Ahh, that makes sense now. Thanks for clearing that up for me.
October 21, 201510 yr New drives come in today. So just to be clear on what's the fastest way to get this server fully operational with all 8 disks (4 x 8TB + 4 x 3TB) I'm going to do the following: [*]Replace 4 x 3TB drives with 4 x 8TB drives [*]Preclear the 4 new drives (3 cycles with -n option) [*]Do a New Config and assign ONLY 4 new drives [*]Do a parity sync and then a parity check [*]Copy all data from main unRAID to newly built backup unRAID [*]Preclear remaining 4 x 3TB drives and then re-add them to the array Is that correct? The only part I'm confused about is why I need to pre-clear the 4 x 3TB drives that I already have been using. Can't I just format them to erase the data since I already pre-cleared them when I first installed them to be sure they are good? r.e. "... Do a New Config and assign ONLY 4 new drives " ==> You can simply assign ALL of the drives you want in the array here and eliminate the need do do anything to the 3TB drives .. in fact, they'll still have all of their current data on them [You can then simply delete it all]. I presume you're pre-clearing to test the integrity of the drives -- that's fine; but just to be clear, they do NOT require that to simply add them to the array. That would only be necessary if the array was already parity-protected.
October 21, 201510 yr Author Well the plan was not to add the 3TB drives back to the array until after I've copied all my data to the new config (with just the 4 x 8TB drives) in case something went wrong with those 4 new drives, I still have all my data on all 8 x 3TB drives. So by the time I was adding the 3TB drives to the new config, I would indeed have parity protection. But now that I think about it, it's probably an unnecessary precaution and I might as well just add all 8 drives (4 new, 4 old) to the new array at once after I preclear the 4 new 8TB drives (yes testing these for integrity).
October 21, 201510 yr Author In the past I've used the following command to clear multiple disks at once: ./preclear_bjp.sh -r 65536 -w 65536 -b 2000 -A -c 3 /dev/sdX This is what I'd run for brand new disks I want to check for integrity. So for disks I already trust, I can just run the following? ./preclear_bjp.sh -r 65536 -w 65536 -b 2000 -A -n /dev/sdX
October 21, 201510 yr Community Expert Is that correct? The only part I'm confused about is why I need to pre-clear the 4 x 3TB drives that I already have been using. Can't I just format them to erase the data since I already pre-cleared them when I first installed them to be sure they are good? Any time you try to add disks to a parity protected array then you need to pre-clear them to avoid the array being offline while unRAID clears them. Note that this requirement would not apply if you do not yet have parity protection in place (e.g. on initial setup or after a New Config). Ahh, that makes sense now. Thanks for clearing that up for me. The key to this is understanding that a newly formatted drive is not a clear drive. A newly formatted drive has "data" on it, just not files or folders. It has the "data" of an empty filesystem of whatever type. When you format a clear drive in a parity array, the disk gets written to when the empty filesystem is created, and parity is updated to reflect those writes.
October 22, 201510 yr So for disks I already trust, I can just run the following? ./preclear_bjp.sh -r 65536 -w 65536 -b 2000 -A -n /dev/sdX Yes, the -n will result in just doing the clear ... skipping the pre- and post- read cycles, which account for about 3/4 of the time of a pre-clear cycle. So the clear will be MUCH faster.
October 22, 201510 yr Author So for disks I already trust, I can just run the following? ./preclear_bjp.sh -r 65536 -w 65536 -b 2000 -A -n /dev/sdX Yes, the -n will result in just doing the clear ... skipping the pre- and post- read cycles, which account for about 3/4 of the time of a pre-clear cycle. So the clear will be MUCH faster. Is there anyway to stop a preclear after 1-2 cycles if it is scheduled to run 3 and still get a report on the first 1-2 or am I stuck waiting till all 3 cycles finish if I want a report?
Archived
This topic is now archived and is closed to further replies.