Advice on ZFS/storage setup with 1 NVMe and 2 SATA SSDs

byproxy

Member
Nov 24, 2022
4
1
8
Hi folks,

i have 3 slots in my machine: 1xNVMe PCI3 and 2xSATA3.
The disks i have are 1xSamsung 980 1 TB and 2x Samsung SM863a.

My main requirement is as few headaches with storage as possible. 1 TB usable space would be fine for me.

How would you set this up?

Use the enterprise SATA SSDs as mirror and the NVMe SSD as backup? Feels a bit wasted.
All three drives in RAIDz1? Or even RAIDz2 (although I've read you need 4 drives which I don't have unless we count a 1 TB USB3 SSD).
I was also considering "boring" ext4 for each disk, using each one for a separate purpose (Proxmox, VMs, Data) and backup up aggressively.

Any advice is appreciated!
 
Use the enterprise SATA SSDs as mirror and the NVMe SSD as backup? Feels a bit wasted.
Thats what I would do, as I would never trust an unmirrored storage storing my working copy. Better secure and slow than data loss + downtime but fast.

But hey, PBS needs a lot of IOPS performance. So not that bad to have a M.2 SSD as datastore. But I would have bought a slower SATA M.2 SSD to save some bucks.
 
Last edited:
All three drives in RAIDz1? Or even RAIDz2 (although I've read you need 4 drives which I don't have unless we count a 1 TB USB3 SSD).
Raidz1/2/3 won't benefit of the faster drives. It is as slow as the slowest of your disks..at least for IOPS. And you need to increase your volblocksize, so terrible performance and SSD wear when using things that need to write very small blocks (like a postgresSQL DB doing 8K sync writes to a 16K or 32K volblocksize pool).
 
Last edited:
Alright, thanks a lot, i'll use the 2 enterprise SATAs in mirror mode.
I'll just select RAID1 during installation and I'm off to the races? Or is there something I should do beyond that when running Proxmox on a mirrored ZFS pool?
 
I'll just select RAID1 during installation and I'm off to the races? Or is there something I should do beyond that when running Proxmox on a mirrored ZFS pool?
Jup, more or less. I would do some additional stuff like setting up a poolwide quota so the pool can't be filled more than 80-90%, enable relatime, ...