VSAN always use one (this is maximum) vmkernel port on an ESX server.
Typical there is a 10 Gbps physical networkadapter used for VSAN trafic
With a FTT 1 there are 2 copies to write, all writes have to be acknowledged before it's confirmed to be complete to the VM.
With a FTT 2 there are 3 copies to write, all writes have to be acknowledged before it's confirmed to be complete to the VM.
So from a VM guest perspective with a FTT2 storage policy and we are writing 100 GB data from within the VM to the virtual disk of the VM,
300 GB has to be transferred (3 copies) and they all have to be commited.
There 3x100 MB writes travel over the VSAN vmkernal adapter via the physical networkadapter on the ESX host where the VM lives to the VSAN caching device in 2 other ESX hosts.
So theoretical maximum is 10Gbps/3 (in case of FTT2) is 330 Gbps maximum throughput.
For FTT2 we have 10Gbps/2 = 500 Mbps max throughput.
Is this a correct understanding of how it works ?
If it's a stretched VSAN cluster with with SFFT=2 and PFTT=1 we have tree copies on both sides:
- How does the acknowledgement work, do we get 2 acks for the PFTT and 3 on both sides so 8 acks ?
- How much data is being transferred from the ESX host where the VM lives in this example for 100 GB data written to virtual disk in this situation ?
So this is not a question about how the data is stored on de capacity layer because that's well documented everywhere, this questions is related to the the transport of data (to the caching devices from the ESX hosts) and the commits.
Thanks already for any answers.
Some of the math from original post seems off but the assumption of number of copies and writes acknowledged are correct. Assuming 10Gbps VSAN vmkernel:
Theoretical max for FTT=2 (3 copies) is 10Gbps / 3 = 3.33 Gbps max throughput
Theoretical max for FTT=1 (2 copies) is 10Gbps / 2 = 5 Gbps max throughput
Real world with checksum validation and NVMe SSDs, I usually see around 2.5 Gbps max throughput for FTT=1 & 2 (limited by checksum validation which is enabled by default). If checksum validation is disabled, I've seen it reach theoretical max NIC speeds.
Please see KB 2148770: https://kb.vmware.com/s/article/2148770