Configuração do servidor em bare metal: Serviços em VM vs serviços em SO bare-metal (host)

2

Eu tenho um servidor linux robusto (32 GB de RAM) com bons discos rígidos. com um dos meus anfitriões. Eu corro um monte de webapps que usam verniz, nginx, servidor de aplicativos unicórnio, servidor de aplicativos thin, redis, mongodb e postgresql. Agora, não espero uma grande quantidade de tráfego para as aplicações web. Então, minhas perguntas são, com um servidor bom o suficiente, devo apenas executar todos os serviços no sistema operacional bare metal? ou devo configurar o VMS e executar alguns serviços no VMS? Configurar VMs não parece ser uma boa ideia em termos de desempenho.

EDITAR: Seria ótimo se alguém tivesse alguns números sobre isso. Eu nunca teria pensado em colocar bancos de dados em VMs, pois eles são mais intensivos em IO. Eu não tenho números para suportar isso, mas queria saber se alguém implantou bancos de dados em VMs.

    
por Khaja Minhajuddin 09.02.2012 / 06:24

2 respostas

5

Minha regra é simples - virtualizo tudo, exceto quando o hipervisor entra em meu caminho.

Mesmo se eu colocar apenas uma VM em uma caixa, pelo menos eu tenho o hardware abstraído que é útil quando você precisa de tempo de atividade alto (em tempo real para outra máquina), em caso de desastres para a mesma máquina) e tempo de vida (atualizações não lidam com drivers de baixo nível, posso apenas mover a máquina para um novo hardware).

Existem exceções - que são sistemas sensíveis ao tempo. A coleta de dados e a tomada de decisões no espaço de sub-milissegundos não são realmente utilizáveis em VMs, portanto, certas atividades estão desativadas. Note que esses não são VOIP, etc. - VOIP é basicamente ok com latência. Não muito quando você começa a lidar com dados do mercado financeiro e comércio, no entanto.

Atualização:

Há um outro caso óbvio em que você não pode virtualizar - ou seja, quando seu hardware é muito poderoso. No momento, usando o hyper-V, por exemplo, uma máquina que precisa de mais de 4 núcleos não pode ser virtualizada, pois uma VM suporta apenas 4 núcleos. Decisão simples. A próxima geração do hyper-V vai para 32 procesors virtuais, mas quando a AMD sai com 20 CPUs do núcleo e você tem duas delas ... acima do limite novamente. Isso é principalmente relevante para servidores mais poderosos, concordou.

    
por 09.02.2012 / 06:37
0

Serviços no Host

  • Sem sobrecarga de virtualização (mais performances brutas e acesso direto ao hardware);
  • Inicialização antecipada durante a inicialização (por exemplo, DHCP ou firewall para VM);
  • Migração manual para outro host;

Serviços em uma VM

  • Sobrecarga de virtualização (mas tudo bem para serviços "leves");
  • Iniciar quando todas as VMs são iniciadas;
  • Fácil migração para outro host;
por 09.02.2012 / 07:53