Considerations when building ZFS iSCSI machine

Hi!

I’m planning on building a dedicated server for serving zvols over iSCSI to Proxmox using the zfs over iSCSI functionality in addition to serving some zvols through iSCSI to physical windows hosts.

What are the most relevant considerations in this case to take into account (in addition to good 40gb network card (mellanox) and 128gb + ram)? I’m planning on using a Supermicro board with AMD Epyc 7232P cpu (8 cores @ 3.1GHz). Does ZFS and iSCSI benefit more from higher clockspeed or more parallel cores? Is it worth using 3200MHz DDR4 ECC ram or will 2666MHz suffice when populating all 8 memory channels? Plan is to have multiple 4tb U.2 NVMe disks (probably 6 in raidz2) and some spinning rust using SAS3 interface possibly using external Dell powervault 1420: https://www.dell.com/en-us/shop/ipovw/storage-md1420 with dual controllers and configuring multipath io for sas using round robin load balancing. I want to make sure the memory and/or cpu aren’t bottlenecks here.

do not cheap out on the RAM clock speed if you want to get the most you can out of a Mellanox environment. You’re going to need every bit of bandwidth you can get.

Whether you’ll benefit more from single-core or multi-core horsepower depends on the workload. A single process will generally bottleneck on a single core, in most cases. But if you’ve got multiple processes (eg multiple VMs in your compute silo using multiple iSCSI targets) you’ll get more mileage out of heavy multi-threaded performance than the best single-threaded performance.