O Linux HA é um ótimo conjunto de ferramentas. Se você quiser simples, vá com heartbeat 1; heartbeat 2 foi para clusters com mais de 2 nós e configuração XML. 1 é suficiente para a maioria dos casos simples de 2 nós.
Mas, embora eu concorde que ter um proxy na frente do seu aplicativo seja sempre uma boa ideia (executar vários servidores como provenientes de um servidor virtual & c), sua configuração como descreve é como introduzir um novo SPF: proxy.
O que você provavelmente faria melhor no seu caso seria executar os dois servidores em uma configuração ativa-ativa, incluindo serviço web completo e serviço de proxy completo em ambos (!).
Basta configurar o heartbeat para assumir três IPs: o do servidor MySQL ativo, o do servidor da Web ativo e o do proxy ativo (somente o último precisa ser público).
Em seguida, defina o proxy para ir sempre para o IP interno do "servidor da web ativo" e o servidor da web para ir para o IP do "servidor de banco de dados ativo".
Quando você estiver pronto para uma configuração de balanceamento de carga, basta desativar a comutação do IP do servidor Web e colocar os dois servidores Web no grupo de servidores back-end do proxy.
A configuração inicial poderia ser assim:
Server A (Apache on Port 80) Server A (Apache Port 8080) Server A MySQL <-----------
| \ | \ | \
Web <-> Public Proxy IP >-> Shared Private Web IP >--> Shared Private MySQL IP | Mysql Synchronization Link
| / | / | /
Server B (Apache on Port 80) Server B (Apache Port 8080) Server B MySQL <-----------
Em seguida, você pode ir diretamente para o balanceamento de carga real (como mencionado para a web) e o clustering do MySQL quando estiver pronto, sem alterações visíveis ao usuário.
O melhor de tudo: ainda colocar seu aplicativo atrás do proxy imediatamente (mesmo que os proxies sejam realmente os mesmos servidores) exporá muitos bugs em seus aplicativos da Web (suposições sobre nomes de host e caminhos na criação de links e c) cedo!