A menos que eu esteja realmente lendo a pergunta errada, eu diria que para hospedar aplicativos da web, você está fazendo da maneira errada.
Eu sugeriria ter vários nós (virtuais ou físicos) e gerenciar sua configuração com o boneco .
Seus nós podem ser um rack inteiro de servidores 1U, ou um monte de poderosos servidores multiprocessadores 3U executando KVM e, em seguida, um sistema operacional de sua escolha como convidados de virtualização.
Com 4 servidores, você pode configurá-los da seguinte maneira:
- Servidor 1: balanceador de carga + nó HTTP (executando o Varnish e o Apache)
- Servidor 2: balanceador de carga + nó HTTP (executando o Varnish e o Apache)
- Servidor 3: Nó HTTP + DB Master (executando Apache e MySQL)
- Servidor 4: nó HTTP + escravo do banco de dados (executando Apache e MySQL)
Seria vantajoso ter um quinto servidor, que executa serviços, como nagios, munin, tftpd para um ambiente de inicialização PXE, um pequeno servidor HTTP para arquivos kickstart / preseed, um DHCPd, talvez consoles seriais via Rocketport ou semelhante.
A enorme vantagem de usar o Puppet para implantar seus próprios sistemas, em vez de ter uma única imagem, é que os recursos são efetivamente auto-documentados. É muito mais claro e menos caixa-preta do que apenas ter uma imagem que você coloca nos servidores. Além disso, torna as atualizações e alterações na imagem muito mais simples.