Posso reduzir com segurança o número de processadores em uma VM?

4

Eu tenho um número de máquinas virtuais que foram criadas a partir de servidores físicos. Algumas delas têm (na minha opinião) um número inadequado de processadores - por exemplo, temos um aplicativo da Web, acessado internamente apenas, sendo executado em uma VM com 4 processadores alocados. Esta é a mais alta especificação de nossas VMs, mas há outras que eu suspeito que sejam superespecificadas.

Pelo que entendi, isso pode resultar em degradação do desempenho, pois o hypervisor aguarda até que os processadores estejam livres na máquina host ao alocar o tempo do processador a essa VM. Também causa problemas ao tentar migrar a VM entre hosts. Estas suposições justas?

Olhando para o servidor em si, não vejo nenhum motivo para precisar de 4 processadores. Acontece que o servidor físico em que ele foi instalado tinha esse número de processadores.

Então a questão é: que riscos existem na redução do número de processadores nesta VM?

Alguns detalhes:

Estamos executando o VMware ESX 3.5 em servidores com 8 núcleos e 20 GB. A VM no exemplo acima tem 4 processadores alocados e 3Gb RAM. O sistema operacional do servidor na VM é o Windows Server 2003 Standard SP2 (não o R2).

    
por dunxd 27.08.2010 / 12:32

2 respostas

5

A única complicação séria pode vir de multicore (ie 2 ou mais) para single core. O Windows 2000, XP e 2003 (não tenho certeza sobre o Vista, 2008 ou 7) usaram um kernel diferente para multicore do que para o single core. Dito isto, provavelmente será apenas algum tipo de penalidade de desempenho, ao invés de coisas explodirem todo o caminho.

Eu verificaria se todos os aplicativos críticos também não tinham a afinidade do processador - isso poderia arruinar seu dia. veja aqui: link ou link

Editar: o mesmo será verdadeiro para o Linux, no entanto, o problema central do SMP é simplesmente um problema de desempenho, e não de ponto final. linux, por outro lado, é muito mais fácil definir a afinidade do processador permanentemente. veja link

    
por 27.08.2010 / 14:07
3

Sim, suas suposições estão corretas: o agendador do ESX precisa ter 4 núcleos disponíveis para agendar a execução de uma VM com 4 vCPUs; portanto, ela não será executada se apenas 2 ou 3 deles estiverem disponíveis, independentemente de como a VM realmente vai usá-los; o convidado O.S. pode ter apenas um encadeamento em execução, mas o agendador do ESX ainda não conseguirá executar a VM se não houver núcleos livres disponíveis suficientes.

Reduzir o número de vCPUs geralmente é uma operação segura, mas isso depende muito do guest O.S., que realmente precisará lidar com a alteração de hardware (virtual). Sistemas Windows e Linux recentes geralmente não apresentam problemas com isso.

    
por 27.08.2010 / 12:38