ZFS Questions

Just wanting to make sure I understand how to increase my zpool size and that nothing has changed recently. From what I understand if I want to say upgrade my 8 drive RaidZ2 from 2TB drives to larger ones I have to replace all of the drives with identical size drives before the additional space will be usable? I also remember reading that RAIDZ expansion is coming(has already come?) where I can add more drives to my zpool without adding vdevs; say add a couple more 2TB drives to my 8 drive pool. My system is running Centos 7 with ZFS on Linux if that matters.

If/when the zpool expansion becomes a thing I could see myself transitioning to something like a 6 drive pool of larger drives so I would have room to add drives in my 8 bay server chassis. That’s assuming I don’t upgrade the whole thing to a more efficient platform; these old Nehalem Xeons are pretty inefficient. I wonder how hard it would be to upgrade my Supermicro chassis to a newer architecture motherboard?

Sorry for the rambling…

Your first assumption is correct: all drives need the higher capacity before the vdev and zpool can grow.

As to RAIDZ expansion: this was a topic at last year’s developer summit. Take a look at the last 3 slides of http://open-zfs.org/w/images/6/68/RAIDZ_Expansion_v2.pdf. You’re looking at Q4 2018, and then it is still way off from being taken into a formal release (just my guess though). If you compile from git you can have it sooner.

Take into account this would not redo the parity for existing data. If you would have 6 HDDs in RAIDZ2 and go to 8 HDDs, only newly written data would be doing stripes of 6 data + 2 parity. The older data remains 4 data + 2 parity.

1 Like

Using your example, it’s easy to run into a situation where the original disks will be full and the new disks are only 30% (for example).

Well, the data would be rebalanced across all disks, but the stripes themselves stay the same.

1 Like

Oh, that’s nice.