Best Way to Upgrade from 6 Drive ZFS to 8 Drive without additional backup?

Status
Not open for further replies.

mattlach

Patron
Joined
Oct 14, 2012
Messages
280
Hey all.

First off, before I start, I am aware that the array sizes and number of redundant drives I am planning on using are not the most efficient from a performance perspective, and I am OK with this, as I am not building a high utilization array.

So here's the deal. My current array is a RAIDz2 array with 6 2TB drives. (well, actually, 4 3TB, and 2 2TB, but they are all treated as 2TB by the system)

My plan is to add two more drives in, and make it an 8 disk RAIDz3 array.

My problem is, I don't have any other systems or drives to backup my data to (yes I know this is bad, and redundant drives do not constitute backups, long term I plan on using online backups, but I have not set that up yet) during the upgrade.

Option A.)

1.) Remove one drive from existing 6 drive RAIDz2 array, making it degraded.

2.) Manually copy data from degraded array to single drive (Yes data will fit)

3.) Destroy old array and use it, plus two new disks to build an 8 drive RAIDz3 array in degraded status with one drive missing (can this be done? Building a new initially degraded array?)

4.) Copying data from single disk to new array.

5.) Add disk back to 8 disk array, making it healthy again.

Comments: If this is possible, the downside would be that the backup during the rebuilding is not redundant in any way, and thus vulnerable to hardware failure.

Option B.)

1.) Remove two drives from existing 6 drive RAIDz2 array, making it degraded (and now vulnerable to any drive failures).

2.) Mirror the two removed drives

3.) Manually copy data from degraded array to two mirrored drives (Yes data will fit)

4.) Destroy old array and use it, plus two new disks to build an 8 drive RAIDz3 array in degraded status with two drives missing (can this be done? Building a new initially degraded array?)

5.) Copying data from mirrored disks to new array.

6.) Destroy mirrored couple

7.) Add two disks back to 8 disk array.

Comments: If this is possible, the only downside I can think of is that the initial array will be unprotected during the copy process.


Option C.)

1.) Remove one drive from existing 6 drive RAIDz2 array, making it degraded.

2.) Copy data from degraded array to single drive.

3.) Remove a second drive from existing degraded 6 drive RAIDz2 array, making it fully degraded and now vulnerable to any drive failure.

4.) Copy data once again from array to second single drive.

5.) Merge two identical single drives into one mirrored pair without data loss and computing data integrity in the process. (Is this even possible?)

6.) Destroy old array and use it, plus two new disks to build an 8 drive RAIDz3 array in degraded status with two drives missing (can this be done? Building a new initially degraded array?)

7.) Copying data from mirrored disks to new array.

8.) Destroy mirrored couple

9.) Add two disks back to 8 disk array.

Comments: This seems like it would be the best approach if it is possible (is it?)

I appreciate any feedback and thoughts.

Please just spare me any comments about how I should already have a separate backup, and about optimal drive counts for RAIDz2 and RAIDz3, I am already aware of this.

I really don't feel like buying a couple of disks just for the backup transfer. it seems like a phenomenal waste of money. I wish there were somewhere I could borrow/rent a couple of disks for a day, but I am unaware of a place like this.

Any thoughts appreciated.

Thanks,
Matt
 

cyberjock

Inactive Account
Joined
Mar 25, 2012
Messages
19,526
Well, you can't build an array that is already degraded, so all of your options just crashed and burned. :(

But you do have a grasp of what you need to do. But it sure looks like you're going to need 1 more disk.
 

cyberjock

Inactive Account
Joined
Mar 25, 2012
Messages
19,526
Several people have used that particular guide, and when FreeNAS was upgraded to new version there was weird pool problems. Not sure of the exact reason why as nobody really investigated it. We just told the users that the files that were corrupt(despite some users having full redundancy and never replacing a disk aside from the first disk) and had to restore files from backup because they were suddenly corrupt and could be found in a zpool status -v. I did it in a VM and it worked fine for me. I couldn't get the darn thing to corrupt any files despite doing FreeNAS upgrades and whatnot. Some users even said that the file was listed as corrupted, but the md5 matched the md5 of the backup and the file still opened and worked just fine. Granted if a single bit was in error and an e became an f in a document you might not recognise the typo.

So use it at your own risk(or reward).
 

paleoN

Wizard
Joined
Apr 22, 2012
Messages
1,403
My plan is to add two more drives in, and make it an 8 disk RAIDz3 array.
Which makes Option D the better one.
  1. After testing the two new drives, create a mirror from them.
  2. Copy the old pool to the temporary mirrored pool.
  3. Scrub the temporary pool.
  4. Destroy old pool.
  5. Create the degraded 8 x disk raidz3 pool.
  6. Split the temporary mirror.
  7. Resilver one of the new drives into the pool.
  8. Resilver the final drive into the pool.
What should do is simply buy an additional drive, create the pool normally and have the extra as a cold spare.
 

mattlach

Patron
Joined
Oct 14, 2012
Messages
280
Which makes Option D the better one.
  1. After testing the two new drives, create a mirror from them.
  2. Copy the old pool to the temporary mirrored pool.
  3. Scrub the temporary pool.
  4. Destroy old pool.
  5. Create the degraded 8 x disk raidz3 pool.
  6. Split the temporary mirror.
  7. Resilver one of the new drives into the pool.
  8. Resilver the final drive into the pool.
What should do is simply buy an additional drive, create the pool normally and have the extra as a cold spare.

Duh, yeah.

Wow, I must have been having a total brain fart...
Thank you.

--Matt
 

mattlach

Patron
Joined
Oct 14, 2012
Messages
280
Several people have used that particular guide, and when FreeNAS was upgraded to new version there was weird pool problems. Not sure of the exact reason why as nobody really investigated it. We just told the users that the files that were corrupt(despite some users having full redundancy and never replacing a disk aside from the first disk) and had to restore files from backup because they were suddenly corrupt and could be found in a zpool status -v. I did it in a VM and it worked fine for me. I couldn't get the darn thing to corrupt any files despite doing FreeNAS upgrades and whatnot. Some users even said that the file was listed as corrupted, but the md5 matched the md5 of the backup and the file still opened and worked just fine. Granted if a single bit was in error and an e became an f in a document you might not recognise the typo.

So use it at your own risk(or reward).


Thank you for your recommended caution!

Which new version was it that started causing problems? I'm actually still running 8.3.0 on my server, as I haven't had the time to upgrade it yet. (my setup requires some custom configuration in order to work with my SAS controller, so it's not as straight forward as a simple upgrade) Maybe it would make sense then to add the disks BEFORE I upgrade FreeNAS.
 

mattlach

Patron
Joined
Oct 14, 2012
Messages
280
After testing the two new drives, create a mirror from them.

Also,

What is your preferred method for drive testing?
 
Status
Not open for further replies.
Top