The MS recommended way of doing this is by using 2 or more Web Farm Framework 'controller' servers running ARR and windows NLB, and then Primary/Secondary servers below that.
There's details on how to set this up here: http://learn.iis.net/page.aspx/511/achieving-high-availability-and-scalability---arr-and-nlb/
You can also use hardware based load balancers, some have specific support, others will work, but won't integrate nicely into the WFF console.
Details on doing this with an F5 Big-IP load balancer are here: http://blogs.iis.net/gursing/archive/2011/01/21/how-to-integrate-f5-with-web-farm-framework.aspx
You can also just use the standard microsoft NLB with WFF and without ARR, but there doesn't seem to be much documentation on how to do this. I've got it working on a 2 group by:
- install windows NLB on both servers and create a standard cluster with a shared IP
- installing WFF on one server
- setting that server as primary but don't tick the 'ready for load balancing' tickbox (this tickbox really means add this server to the ARR load balancing).
- Then add the second server and again don't tick the 'ready for load balancing'
You should then have the config sharing/updating benefits of WFF with the load balancing/redundancy of NLB using only 2 servers.