Hello everybody!
First of all, I do not want to run into flames on this thread, but I'm looking for your advises.
Second - I'm a big-big fan of Proxmox (using since PVE 2.x) and I'm also a big fan of ZFS (using since it became avail on FreeBSD first).
I suppose my question is very common these days as we all grow in all terms - better hardware, modern CPUs, hundreds gigabytes of RAM, fast enterprise-class NVME drives.. so I will ask this straight -
What is the best option for software-RAID model when you need to squeeze max speed/IOPS out of fast NVME drives together with PVE?
As we all know, Proxmox suggests to use ZFS in most cases and I must say this is a very superior filesystem with many-many features, it is very mature, stable, safe - I really love it from the beginning, hands down. I really pushed ZFS into every project I got my hands on where my opinion was taken in place - take a good HBA controller, use server-class SAS disks, ECC RAM, back everything with L2ARC or ZFS Special Device and you get a nice setup for almost everything.
But there's one setup that can't get me sleeping - use of ZFS on top of NVME disks. In particular, use of ZFS on server-grade hardware such as Supermicro All-NVME platforms with several NVME disks such as Intel D7-P5600. So to keep long story short today I have -
A brand-new Supermicro server, dual Xeon 4214 CPU, 512GB of ECC RAM and 4 x Intel P7-5620 3.2TB NVME U.2 disks. And honestly I must say ZFS in any setup on this server (all kinds of RAID(z) setups possible with 4 disks) really sucks in terms of speed, IOPS and CPU load. I tested many zpool/zfs options, all tests done with FIO (I do not want to go into detail, this is going to be a very long write-up), but comparing to simple Linux MDADM with or without LVM on top ZFS is far behind. I clearly understand why this happens - ZFS just ensures your data is safe all the way and there're many topics on the Internet that ZFS on top of NVME cannot get you maximum out of such storage in terms of speed and IOPS counts - this is just a trade-off if you want all of ZFS features. At the same time I realize why Proxmox does not support MDADM officially - ok, I'm fine with it, it is their decision and we have to obey it, especially when there's an easy way to overcome this limitation.
So my simple question is - when you're buying fast NVME drives and want to take advantage of them - how do you layout your filesystem and what do you use?
I'm pretty sure I'm not the only person hit this problem, so let's discuss!
First of all, I do not want to run into flames on this thread, but I'm looking for your advises.
Second - I'm a big-big fan of Proxmox (using since PVE 2.x) and I'm also a big fan of ZFS (using since it became avail on FreeBSD first).
I suppose my question is very common these days as we all grow in all terms - better hardware, modern CPUs, hundreds gigabytes of RAM, fast enterprise-class NVME drives.. so I will ask this straight -
What is the best option for software-RAID model when you need to squeeze max speed/IOPS out of fast NVME drives together with PVE?
As we all know, Proxmox suggests to use ZFS in most cases and I must say this is a very superior filesystem with many-many features, it is very mature, stable, safe - I really love it from the beginning, hands down. I really pushed ZFS into every project I got my hands on where my opinion was taken in place - take a good HBA controller, use server-class SAS disks, ECC RAM, back everything with L2ARC or ZFS Special Device and you get a nice setup for almost everything.
But there's one setup that can't get me sleeping - use of ZFS on top of NVME disks. In particular, use of ZFS on server-grade hardware such as Supermicro All-NVME platforms with several NVME disks such as Intel D7-P5600. So to keep long story short today I have -
A brand-new Supermicro server, dual Xeon 4214 CPU, 512GB of ECC RAM and 4 x Intel P7-5620 3.2TB NVME U.2 disks. And honestly I must say ZFS in any setup on this server (all kinds of RAID(z) setups possible with 4 disks) really sucks in terms of speed, IOPS and CPU load. I tested many zpool/zfs options, all tests done with FIO (I do not want to go into detail, this is going to be a very long write-up), but comparing to simple Linux MDADM with or without LVM on top ZFS is far behind. I clearly understand why this happens - ZFS just ensures your data is safe all the way and there're many topics on the Internet that ZFS on top of NVME cannot get you maximum out of such storage in terms of speed and IOPS counts - this is just a trade-off if you want all of ZFS features. At the same time I realize why Proxmox does not support MDADM officially - ok, I'm fine with it, it is their decision and we have to obey it, especially when there's an easy way to overcome this limitation.
So my simple question is - when you're buying fast NVME drives and want to take advantage of them - how do you layout your filesystem and what do you use?
I'm pretty sure I'm not the only person hit this problem, so let's discuss!