I plan on deploying a cluster of 2 ESXi/vSphere servers and having them run in fault tolerance mode. The virtual servers primarily be IIS & SQL. The physical servers will have a single Xeon E5-2697 (2.7Ghz 12 Core) CPU, 64GB RAM and dedicated network controllers for ESXi FT communication. Assuming these virtual servers were running at a maximum load, how much bandwidth would be required for the ESXi FT to keep the redundant node in lockstep with the primary node? Would a 1 Gbit ethernet connection be adequate, or should I use 10 Gbit ethernet instead?
Thanks!
Required bandwidth is going to depend on the event rates and change rate of memory for the VMs, as well as how many VMs there are. Thus it kind of depends on what "maximum load" means.
VMware recommends 10Gbps ethernet:
If you are running quite a few VMs, I would definitely recommend going 10 Gbps. If you decided to go with 1 Gbps, like most things in IT, test it outside of production if possible.
To be perfectly honest I think you would be better off NOT using VMware Fault Tolerance on those virtual machines and instead use database mirroring on the SQL server with host affinity to ensure the primary and replica run on different hosts. Fault Tolerance has a few caveats and limitations to its usage.
For IIS you can use something as simple as an NLB cluster on two virtual machines (if it's supported by the application), again using host affinity to keep them from running on the same host.
SQL Mirroring: http://technet.microsoft.com/en-us/library/ms190941.aspx NLB Clustering: http://technet.microsoft.com/en-us/library/cc725691.aspx