In adopting a clustered approach you need to be clear about what you are trying to achieve. You can be looking for redundancy, improved performance, or both.
In a Moodle Server design you have three main system roles ( there are minor one's as well such as email processing, but let's ignore that for the moment)
1. Database Server
2. File Server
3. Web server
The Database Server is usually the hardest to "cluster", and is best perhaps left (initially) as a well-resourced single operational server, with a one way replication to a backup server that can be kicked in should the first one fail.
The file server which handles the "Moodledata" can be located on a SAN or other reliable file server if required.
The Web server handles the Apache ( or IIS if you must on Windows ) and processing of the PHP. (Note: for best performance make sure you have a PHP accelerator installed ). This is the easiest to cluster. It requires a front end to share the load, but this can be done easily using your DNS ( a raw way ) or a load balancer ... but note for redundancy even this should be duplicated.
At the 2005 Moodle Moot in Adelaide I demonstrated an 8 server configuration with failover load balancing and multiple web servers managed with LDirector / Heartbeat. A small hack displayed the webserver in the Moodle heading. Repetitive calls to the home page showed the serving server changing. A monitor on the system showed images on each call came from multiple servers. Worked a treat. Pulling out network cables showed the redundant features of the system, to the point where there were no available servers, at which point the load balancer kicked in with it's "maintenance mode" message.
On larger systems you can investigate a separate "file repository" or "media server", and you may wish to have your own email server. Administration could also be managed using a separate Moodle server. There are many ways to scale, but the design requires an intimate understading of how Moodle works, and how you, or your client, are intending to use Moodle.
PS: You can use Virtual Machines to play with this, or even develop a high performance / redundant configuration using just 2 physical machines, each with 4 VM's.