5 ms·
I love ZFS and I want to migrate all my data storage to it. The one thing that is holding me back is the inability to grow raid z with the demand. There is a pu
by _ink_ 6y ago
I love ZFS and I want to migrate all my data storage to it. The one thing that is holding me back is the inability to grow raid z with the demand. There is a pull request ongoing for a while now, but it is hard to tell when and if this feature will be available [1]. Anyone has any more insights if there is an ETA for this feature?
[1] - https://github.com/openzfs/zfs/pull/8853 https://github.com/openzfs/zfs/pull/8853
- lmm 6y agoAs a home user of ZFS I would give it an ETA of never. We've been waiting for probably 10 years for this feature, but it's just never been enough of a priority from more serious (paying) users to get worked on.
- btgeekboy 6y agoThat's pretty much why I went with LVM + ext4 for my home server. Every once in a while, when I need more space, I toss another SSD in and expand the volume. Easy peasy. Though my storage needs aren't huge; I'm only up to 4TB of total SSD space.
- noja 6y agoYou can grow the pool by adding pairs of disks, if you can stomach the cost.
- redflame7 6y agoJust add another VDev. For example lets say you have 32 drives. It makes more sense to structure it as 4 x 8drive raidz2 instances rather than 2 x 16drive raidz3. Because then you will only have to add 8 drives vs 16 to expand the pool. You could incrementally expand your ZPool by adding new vdevs of the same or larger size. You could technically make your vdevs 4 drives in raidz1 but id recommend at least 6 drives per vdev in raidz2 or greater
- minimaul 6y agoI don't expect this to land any time soon, if ever. It's a very large change, and very complicated. It's been in progress ever since I started using zfs, and that was years ago :) It's worth noting you can expand a RAIDZ through replacing disks - if you start off with a pool of 4x2TB for instance say giving 6TB usable, you can expand it by replacing those disks one by one with 4TB disks - in which case you eventually end up with 12TB usable, once all disks are replaced. Alternatively, you can add another RAIDZ to the same pool with extra disks (but you will lose more capacity this way). Otherwise, recreate the pool, and restore from your backup (which you definitely have, right?). Assuming both your live and backup are zfs, this is easy with zfs send | zfs receive.
- secabeen 6y agoYeah. The backing reason is that ZFS has an axiom that data, once written to disk, never changes. That includes moving data to a different location. Changing that either means a massive relocation table, or some other yet-to-be-coded tool.
- mehlmao 6y agoThere's a hacky workaround, but it depends on how many drives you have and what your tolerance for downtime is. I had 2x8TB drives in RAIDZ1 configuration (sda, sdb), and I added an extra 8TB drive (sdc). My solution was: offlining one drive (sdb), degrading vpool1 creating a vpool2 in RAIDZ1, with sdb, sdc, and an 8TB sparse file on a flash drive offlining the sparse file, degrading vpool2 sending a ZFS snapshot from vpool1 to vpool2 destroying vpool1, and adding sda to vpool2 to replace the sparse file
- iooi 6y agoThis is unnecessarily complex, you can just offline a drive, remove the disk, insert the new disk, and replace the offline drive with the new disk. ZFS will resilver the new disk.
- mehlmao 6y agoThis is to switch from 2 disk raidz1 to 3 disk raidz1 without needing additional drives to hold the data while moving.