Eu ficaria tentado a ter um par de nós de verniz por trás do HAProxy para fornecer um cluster de verniz HA.
Você pode facilmente ter mais de 2 nós de verniz, sem a necessidade de HAProxy, mas só é possível balancear a carga do Tráfego HTTP. Pelo menos com o HAProxy, você também tem um balanceador de carga TCP.
Como você propõe a borda da sua rede? Você planeja ter um par HA de firewalls de hardware? Você precisa de roteamento de borda, BGP e vários trânsitos?
Outra coisa a considerar é como o seu servidor de arquivos funciona. Você provavelmente poderia se beneficiar de ter um par de servidores de arquivos, usando um servidor de armazenamento como GlusterFS ou MogileFS. Dessa forma, você pode garantir redundância por toda a infraestrutura.
A adição de vários nós Memcached também é trivial, oferecendo mais redundância e resiliência contra picos de tráfego e falhas de hardware.
Certifique-se de tomar medidas para otimizar a entrega de conteúdo do front-end, especialmente se você prevê um tráfego alto. Mantenha todas as mídias em um domínio de mídia, de preferência um sem cookies, como link sstatic.net
Você também pode considerar o uso de um CDN para armazenar em cache o conteúdo estático, como CSS e JS não alterável. Essa infraestrutura de cache de vários níveis nivelará o efeito slashdot e também lhe dará mais resiliência ao fracasso. Isso ocorre porque uma proporção tão grande de solicitações do navegador é para conteúdo estático, que pode ser efetivamente servido a partir do PoP de um CDN, que é o mais próximo do solicitante. A outra vantagem do armazenamento em cache em várias camadas (Navegador, CDN, Varnish, Memcache) é que depois de um tempo, tudo é armazenado em cache várias vezes, em vários lugares. Isso lhe dá a resiliência contra falhas.
Um grande site drupal não é diferente de um grande site de qualquer coisa. Apenas garanta que você tenha vários níveis de redundância em todas as camadas da rede.
Quanto à especificação dos servidores reais, você provavelmente precisará de > 8G de RAM nos nós do verniz.
Eu recomendaria as NICs dos servidores Intel nas caixas do balanceador de carga e com os switches Cisco ou HP Procurve para o núcleo da sua rede.
Os nós do seu banco de dados devem ser servidores com vários processadores rápidos com discos SAS de 15k para velocidade. Para redundância, coloque 4+ discos em um array RAID10.
Eu não recomendaria fazer isso em um ambiente de hospedagem compartilhada. Servidores dedicados podem estar OK, mas para mim, eu estaria especificando um rack de 1/4 em um datacenter neutro. Dessa forma, você obtém a maior liberdade para a configuração e o gerenciamento reais dos servidores.
Adicionado:
Você precisa executar o apache?
Para os servidores que hospedam os arquivos de mídia no domínio cookieless, você provavelmente seria melhor hospedá-los em um servidor HTTP mais leve, o Nginx é uma solução fantástica para isso. O Apache provavelmente é mais adequado para a hospedagem do próprio Drupal, mas não há nenhum motivo real para você não usar o Nginx e o FastCGI, por exemplo.