Hello, I am planning/testing a homelab storage ZFS backend for self-hosted Kubernetes cluster experiments. It’s an old Supermicro SuperStorage 6028R-E1CR16T with 2x E5-2650 v4, 128 GB RAM and a bunch of deduped zvols for VMs sitting on a pair of Optane P4800x SSDs. It’s running the latest TrueNAS Core (13-U6.1).
The zvols are exposed via iSCSI setup in MPIO config over a pair of 10G links. This is working well, but I’ve recently gotten hold a few Mellanox MCX354A-FCBT 40G NICs that I’d put in as a replacement. Due to hardware limitations, at the moment I can only run a single 40 G fibre to the switch.
Since the VMs are served by the mighty Optane, my idea is to try and lower network latencies in order to better exploit the Optane-backed VM pool. There are several other pools on this server but they are either HDD or NAND SSD pools, thus I don’t regard them as relevant right now.
My question is - ceteribus paribus, what would yield better total storage latencies (on average): a 2x10G MPIO or a 1x40G?
When I say “storage latencies”, I really mean “lowest average round-trip latency from Proxmox nodes hosting the VMs to the storage backend”. The primary Proxmox node would be connected via 40G link to the swtich, the others will be connected via 10G fibre links.
Network wise, looking at the raw serialisation delay on the network phy layer, the 1x40G link should smoke the 2x10G links (~ 0.3μs vs ~1.2μs, respectively) yielding lower queue depths…but then again, since there are 2 10G links available in MPIO, perhaps the queues would be lower and thus this would better (on average)? Or am I completely thinking about this the wrong way?