ZFS RAIDZ2 : how to add another disk for extend zpool space ?

atec666

Member
Mar 8, 2019
136
5
18
Issoire
before doing that ... and choosing ZFS (actually RAIDZ2 4 * 1 TB) as file system for my cluster ... i'm really afraid of scalability of ZFS !
i've been working since two year with Ceph (it's very scalable, anb easy to manage : thanks proxmox !!!), i'm trying ZFs (ceph perf. are not very good with HDD) which seem s to be better ... but that embarassing question : how to add another disk and then expends my zPool1 (RAIDZ2) ?

reading posts on the web : it's seem to be a real nightmare ...
 
if you want to extend a RaidZ2, you have to extend it by a same size VDEV.
So with 4 * 1TByte RaidZ2 you have to add again a VDEV with 4 * TByte.

But: Z2 means 2 drives for redundancy. From a capacity point of view it is not better than 2 Mirror VDEV's
Z2 makes sense for high capacity with at least 6 (better more) drives in a VDEV (and you always have to scale up by full equal sized VDEV's)

Consider making 2 Vdev's of 2 * 1TByte mirror, then you just need a mirror of 2 * 1 TByte drives for scaling up
 
only need
So with 4 * 1TByte RaidZ2 you have to add again a VDEV with 4 * TByte.

NO. You only need some other let say temporay(tmp) zfs pool
- zfs send / recive from curent pool to tmp pool
- destroy curent pool
- add your new disk
- create a ne pool using the new disk
- zfs let say receive/send from tmp pool to your new pool
- end task ;).
 
i'm really afraid of scalability of ZFS !
i've been working since two year with Ceph (it's very scalable, anb easy to manage : thanks proxmox !!!), i'm trying ZFs (ceph perf. are not very good with HDD) which seem s to be better

Of course CEPH scales much better than ZFS: CEPH scales horizontally, whereas ZFS can only scale vertically. ZFS is a local filesystem without cluster capability, so you need a big machines with a lot of disks. For CEPH, you can just add more nodes with more space and the data is spread.

I concur with Klaus and suggest to split up your one vdev into multiple vdevs. I would not run one vdev raidz? in production if you could go with mirroring, which is much, much fast.
 
NO. You only need some other let say temporay(tmp) zfs pool
- zfs send / recive from curent pool to tmp pool
- destroy curent pool
- add your new disk
- create a ne pool using the new disk
- zfs let say receive/send from tmp pool to your new pool
- end task ;).
thank for your answer , but with this method you need twice the capacity of your original zpool ???
(a thing you can't do with one server)