what you want depends on so many things that a 'default answer' is simply not availeble.
i can however point you to a few interesting source / ideas about the options at your hand. from witch you could chose the most suited one for you.
you say that you want 2 or 3 servers for one single website, in my book that tells me that its big and it would probably have some budget.
first of all let me tell you that, running a single website on multiple hosts best requires centrall storage, this greatly simplifies your configuration.
this can be done on basicly 2 ways.
1> a cluster fs (like gluster).
2> an central storage server / nas / or san.
probably the cheapest way is to install 2 identical servers with both 2 network interface cards. a WAN inteface (uplink) and a Lan interface (for file replycation).
on the wan side of things you would now require some form of load-balancing, for instance you can setup round-robin (look that up on google). or you could invest in a firewall aplience that also supports load-balancing (hardware based).
on the lan side you would only require a utp-cross cable 2 internal ips (192.168.0.1 and 192.168.0.2) and configure your clusterfs to bind to that specific (internal) ip only
running centrall storage probaly is more versitile, its easily scalled up when your data requirements grow, and / or you could even easily ad aditionall servers later. - a downside is that i requires more space, an extra switch, and a dedicated nas / or fileerver. and preferable one that is redundant (making you need 2 of them).
there is however a 3rd option, if you can update your website to make diferent parts of it get serviced by diferent servers you may save enought resources to not have to cluster in the firt place.
emagine a website that servers its database from a dedecated sql server (witch requires no upline to the internet (just a private connection to your webserver).
now that alone could save you some resources.
for a second step you could even serve all your static data (like video, images (gifs jpegs, pdfs and downloads), from data.yourdamin.com rather than from the same webserver that serves www.yourdomain.com
the great advantage of servering static data from a diferent server than your dinamic data (like a cms), is that you can configure apache to not send coocky with every file its server, require a longer keep-alive signal and other tweaks that boost performance.
- this kind of server would out-perfom any default install of apache for static data, but would perfom horribly with php like websites ....
... but for your information, a default php-optimal server preforms horribly slow with static data also...
so in short: 3 options.
+ easily setup,
+ minimal space required
- hard to upgrade later on
- costs lots of diskspace (data is mirrord on both servers)
- can cause high I/O on your servers.
2 central storage
+ easily extendeble
+ can run raid 5 (costs less disk drives per extra TB).
- cost more (rackspace) - an extra switch and aditional hardware like a nas or a server.
- harder to configure.
3 multi server multi purpose setup
+ easy to setup,
- must make changes your your website,
- non redundant.