Parece que você precisa adicionar outro servidor da Web ao seu mix. Você tem muita sobrecarga de DB, o que é legal. Esse tipo de coisa é bem factível. Você já tem os pontos principais.
- Vários servidores da web.
- Os dados são veiculados via NFS a partir de um NAS em algum lugar ou, na pior das hipóteses, um dos servidores da web, e montados por todos os servidores da Web.
- Um balanceador de carga (mod_proxy é bom, mas o nginx pode ser melhor) é configurado para garantir que as sessões de entrada sejam "fixas" em um servidor da web específico.
Obter failover de sessão está além do meu Drupal-ken, mas pode ser factível. E sim, se um dos seus servidores da Web reiniciar por algum motivo, esses usuários terão que restabelecer. Para um aplicativo que funcione de forma semelhante ao anterior, quando precisarmos fazer uma reinicialização planejada, configuramos nosso balanceador de carga (um balanceador de carga de hardware, um FIP BigIP) para não permitir novas sessões e observar até que todas as sessões existentes sejam desativadas antes da reinicialização o servidor web.