> As far as I know you can't have mismatching drives as a single contiguous space in ZFS. Maybe it has changed.
Yes you can, example below:
vermaden ~ % truncate -s 1G FILE.0
vermaden ~ % truncate -s 2G FILE.1
vermaden ~ % mdconfig.sh -c FILE.0
IN: created vnode at /dev/md0
vermaden ~ % mdconfig.sh -c FILE.1
IN: created vnode at /dev/md1
vermaden ~ % lsblk md0
DEVICE MAJ:MIN SIZE TYPE LABEL MOUNT
md0 2:17 1.0G zfs - -
vermaden ~ % lsblk md1
DEVICE MAJ:MIN SIZE TYPE LABEL MOUNT
md1 2:18 2.0G zfs - -
vermaden ~ % doas zpool create test md0 md1
vermaden ~ % zpool status test
pool: test
state: ONLINE
config:
NAME STATE READ WRITE CKSUM
test ONLINE 0 0 0
md0 ONLINE 0 0 0
md1 ONLINE 0 0 0
errors: No known data errors
I do not know how you buy your disks but when I need to buy storage I know exactly what SIZE I want to buy - I do not just get ANY disk and then think 'how' to utilize it :)
But with ZFS you have plenty of options to use disks of different sizes.
Example below, RAIDZ from 4 disks of 2TB and added a mirror of two 5TB disks to the same ZFS pool.
vermaden ~ % doas zpool create test raidz md{0,1,2,3}
vermaden ~ % zpool status test
pool: test
state: ONLINE
config:
NAME STATE READ WRITE CKSUM
test ONLINE 0 0 0
raidz1-0 ONLINE 0 0 0
md0 ONLINE 0 0 0
md1 ONLINE 0 0 0
md2 ONLINE 0 0 0
md3 ONLINE 0 0 0
errors: No known data errors
vermaden ~ % doas zpool add test mirror md4 md5
vermaden ~ % zpool status test
pool: test
state: ONLINE
config:
NAME STATE READ WRITE CKSUM
test ONLINE 0 0 0
raidz1-0 ONLINE 0 0 0
md0 ONLINE 0 0 0
md1 ONLINE 0 0 0
md2 ONLINE 0 0 0
md3 ONLINE 0 0 0
mirror-1 ONLINE 0 0 0
md4 ONLINE 0 0 0
md5 ONLINE 0 0 0
errors: No known data errors
Hope that helps.
Regards,
vermaden