Experimente o NGINX como um balanceador de carga para dois servidores da Web: link
Use o rsync sobre o ssh para manter as raízes do seu documento em sincronia. Clusterizar o MySQL será mais complicado.
Eu tenho um servidor ubuntu 14.04 que usamos como nosso servidor web (apache). Temos um site público que é construído sobre o Drupal, usa um banco de dados MySQL e também temos alguns arquivos que são enviados para o nosso site e armazenados em nosso sistema de arquivos.
Como agora tenho apenas um servidor web, estou tentando encontrar uma solução para redundância. Há muitas escolhas e não tenho certeza do que é melhor para mim.
Eu vi o rsyncmirrir, o apt-mirror, o clustering, etc. Não sei ao certo qual será o melhor para mim.
Você tem algumas opções.
Aqui está minha opinião, e você precisará de um total de 4 servidores:
A única coisa é, se você realmente quiser "balanceamento de carga" devido à carga pesada, primeiro observe como o conteúdo do seu site é dinâmico e se ele não for muito dinâmico e principalmente conteúdo estático (ou conteúdo CMS que não o faz) t mudar frequentemente), considere o uso de cache no seu servidor Apache em vez de balanceamento de carga ...