Quando mover um servidor virtualizado para físico?

12

A virtualização tem alguns grandes benefícios, mas há momentos em que um servidor virtualizado precisa de mais desempenho e deve ser transferido para físico.

Minha pergunta é: como você sabe quando esses horários são? Estou procurando dados e métricas mensuráveis que mostrem que mover um servidor para sua própria caixa física faria uma diferença significativa no desempenho. Pessoalmente, estou interessado no Windows, mas presumivelmente o essencial é o mesmo em todas as plataformas.

    
por Alex Angas 22.06.2009 / 16:51

9 respostas

3

O único caso em que eu tive que executar um V2P foi para uma caixa MS SQL que estava rodando em dual dual core de 3.2Ghz (total de 14.4GHz) que migramos para um cluster ESX 2.5 onde o hardware subjacente era mais novo com núcleos mais lentos (2.4Ghz IIRC). Adicionando a sobrecarga de ~ 10%, mesmo com 4 vCPUs, esta VM só poderia obter uma CPU agregada efetiva de 8-8.5Ghz. 60% de pico de CPU antes da migração se tornar 90-100% após a migração, o cliente queria espaço para que voltássemos ao físico. Para responder à sua pergunta, especificamente, vimos que a caixa estava rodando a 100% da CPU no Perfmon e no VI client. Uma solução melhor (a meu ver) teria sido atualizar para CPUs mais velozes, mas há casos como este, onde isso não é econômico, especialmente com a tendência de CPUs mais lentas com mais núcleos que vimos com a introdução dos Opterons \ Core CPU's.

Com o ESX 4, poderíamos usar uma caixa como essa até 8 vCPUs, mas isso não era uma opção na época.

Quanto à procura de tetos de desempenho que possam indicar que você precisa abandonar sua VM, em seguida, com um convidado Windows em ambiente VMWare, a combinação de Perfmon e VI Client deve ser mais do que suficiente para encontrar qualquer VM que seja desempenho limitou-se. Adicione algumas analíticas de SAN a isso, se puder, mas se a SAN mostrar um problema, você certamente estará redefinindo o armazenamento para isolar e \ ou aprimorar os volumes nos quais os discos virtuais da VM estão armazenados. O mesmo se aplica a qualquer outra combinação OS \ Hypervisor - obtenha as estatísticas internas que você puder, mas correlacione-as à visão do Hypervisor sobre o que está acontecendo porque 100% da CPU relatada em uma VM (por exemplo) não significa necessariamente que o Hypervisor nunca entregaria mais desempenho, só que não naquele momento.

    
por 22.06.2009 / 20:45
4

Eu discordo que um servidor virtual precisaria ser movido para físico por causa do desempenho. Os hipervisores estão agora tão perto do metal que virtualmente não há nenhum golpe de desempenho. Especialmente agora que muitos fabricantes de painéis estão incluindo hipervisores no chipset. Se você pegasse dois servidores com hardware idêntico, um executando um único convidado e outro executando uma cópia exata desse convidado no hardware físico, seria difícil notar uma diferença de desempenho.

Existem outras razões, porém, você pode precisar de um servidor físico em vez de virtual. Um deles é a compatibilidade de hardware. Se o seu aplicativo exigir hardware não padrão com seu próprio barramento exclusivo, talvez você não consiga executá-lo em uma máquina virtual.

Estou ansioso para ouvir o que os outros têm a dizer. Ótima pergunta.

OBSERVAÇÃO: Temos servidores que foram virtualizados e depois colocados de volta no mesmo hardware apenas para ter os recursos de snapshot / vmotion que adoramos.

    
por 22.06.2009 / 16:58
3

Eu não sou um especialista neste assunto, mas falando de modo geral: os aplicativos de E / S com muita fome (especialmente aqueles que escrevem pouco e rápido) são aqueles que recebem seu próprio servidor físico.

Também não é muito difícil encontrá-los, basta executar o monitor de desempenho e procurar tempos de espera altos de E / S.

Além disso, os bancos de dados high-end geralmente recebem seu próprio servidor dedicado, devido a vários motivos:

  1. Eles querem armazenar tudo em cache, o uso de RAM é enorme
  2. Eles funcionam melhor com o encadeamento em vários núcleos (o modo 8 é normal) e, geralmente, você não deseja atribuir mais de 1 cpu virtual a qualquer servidor devido ao bloqueio
  3. Eles são muito com fome de E / S ao carregar dados no cache, a baixa latência na E / S é fundamental.
por 22.06.2009 / 17:03
1

Isso depende muito do serviço que está sendo executado.

Eu normalmente observo os recursos que estão sendo usados e determino se eles são de fato bottelnecks para este convidado e os serviços que ele fornece.

Desta forma:

Se você tiver um Dual Core (2vSMP), um convidado de 4 GB de RAM executando um servidor web (IIS) e não estiver excedendo as solicitações de CPU e RAM, talvez o convidado não precise de mais hardware.

Já nos deparamos com casos em que a execução de um banco de dados Oracle em uma plataforma de virtualização chega perto da mesma quantidade de desempenho que um servidor de hardware de tamanho semelhante.

Obviamente, se você quisesse ter um servidor de 16 núcleos como uma VM, você pode ter problemas para ver o desempenho e o hardware dedicado.

    
por 22.06.2009 / 17:13
1

Quando a VM está carente de recursos (ou talvez privando outras VMs de recursos), por exemplo:

  1. Quando o IO da VM não pode ser satisfeito por meio do host
  2. Quando a VM precisa de mais largura de banda de rede do que é possível compartilhar o tronco
  3. Quando os processos da VM querem mais CPU do que podem obter, por ex. se houver um único processo que esteja maximizando uma cpu virtual
  4. Se for linux e precisar de um tempo muito preciso (se estiver rodando em um host linux VMware sob o tempo de drible VMware. Isso pode ser aliviado usando ntp, porém para aplicativos que exigem tempo muito preciso, ex: kerberos, você pode considerar hardware real)
  5. Quando é linux e precisa de disco muito confiável (se estiver rodando em um host VMware - VMware teve e acredito que ainda tem problemas SCSI sob VMWare sob certas condições. Uma correção foi lançada mas ainda ocorre, embora com muito menos frequência )
por 22.06.2009 / 18:17
0

Eu diria que é quando o servidor está no ponto em que está consumindo o suficiente dos recursos do servidor que ele não pode compartilhar o hardware.

ESX, ESXi & O Window Hyper V deve lhe dar um desempenho quase real. Assim, enquanto uma das máquinas não estiver usando 90% dos recursos por conta própria, você não precisará mudar para um hardware real.

Exceções sendo que você não desejaria coisas como seus 2 controladores de domínio na mesma caixa caso o hardware falhe.

    
por 22.06.2009 / 17:00
0

Eu duvido que exista uma resposta genérica para isso, mas se você está preocupado com o desempenho, então é isso que você tem que olhar. O óbvio seria verificar se você está maximizando a CPU, a E / S, ...

Mas também, testes de desempenho e benchmarks também ajudariam a decidir se há alguma penalidade por ser virtual e se ter uma única VM no host é sensata ou não.

    
por 22.06.2009 / 17:04
0

Primeiro, você precisa identificar qual recurso é o gargalo.

O monitor de desempenho do Windows ( perfmon ) fornece muitos contadores para vários aspectos, como a fila de discos , estatísticas de memória virtual, etc.

Se você está vinculado ao disco, dar acesso direto à máquina virtual a um disco, em vez de algo como um arquivo vmx com VMWare, pode ajudar bastante.

    
por 22.06.2009 / 17:05
0

Acho que tudo depende de dois fatores:

  • Compartilhamento de recursos: o convidado consome tanto recursos que o desempenho do outro é afetado
  • Segurança: se é um serviço muito crítico, você provavelmente não deve usar a virtualização, pois quanto mais você adicionar camadas entre o software e o hardware, menos você estará seguro.

    apenas meus 2cts.

        
  • por 22.06.2009 / 17:39