Eu uso o VMWare há muitos anos, executando dezenas de servidores de produção com muito poucos problemas. Mas nunca tentei hospedar mais de 20 VMs em um único host físico. Aqui está a ideia:
- Uma versão simplificada do Windows XP pode viver com 512 MB de RAM e 4 GB de espaço em disco.
- US $ 5.000 me proporcionam uma máquina de classe de servidor de 8 núcleos com 64 GB de RAM e quatro espelhos SAS.
- Como 100 VMs mencionadas acima se encaixam nesse servidor, meu custo de hardware é de apenas US $ 50 por VM, o que é super agradável (mais barato do que alugar VMs no GoDaddy ou em qualquer outra loja de hospedagem).
Gostaria de ver se alguém é capaz de atingir esse tipo de escalabilidade com o VMWare? Eu fiz alguns testes e colidi com um problema estranho. O desempenho da VM começa a diminuir drasticamente quando você inicia 20 VMs. Ao mesmo tempo, o servidor host não mostra nenhum gargalo de recursos (os discos estão 99% ociosos, o utlization da CPU está abaixo de 15% e há bastante RAM livre).
Agradeço se você puder compartilhar suas histórias de sucesso em torno do dimensionamento do VMWare ou de qualquer outra tecnologia de virtualização!
virtualization
virtual-machines
vmware-esx
scalability
host
user9517 suporta GoFundMonica
fonte
fonte
Respostas:
Sim você pode. Mesmo para algumas cargas de trabalho do Windows 2003, apenas 384MiB são suficientes, então 512MiB é uma estimativa muito boa, seja um pouco alta. RAM não deve ser um problema, nem CPU.
Umas 100 VMs é um pouco íngreme, mas é possível, principalmente se as VMs não estiverem muito ocupadas. Executamos facilmente 60 servidores (Windows 2003 e RHEL) em um único servidor ESX.
Supondo que você esteja falando do VMware ESX, também deve saber que é capaz de comprometer demais a memória. As VMs quase nunca usam toda a ração de memória nomeada, para que o ESX possa comprometer mais do que a quantidade disponível de RAM nas VMs e executar mais VMs do que realmente 'oficialmente' possui RAM.
Provavelmente, seu gargalo não será CPU ou RAM, mas E / S. A VMware possui grandes quantidades de IOPS em seu marketing, mas, quando se trata de um empurrão, conflitos de reserva SCSI e largura de banda limitada o impedirão antes de você se aproximar dos IOPS que a VMware se vangloria.
De qualquer forma, não estamos enfrentando a degradação do desempenho de 20 VM. Qual versão do ESX você está usando?
fonte
Um grande problema com um ambiente grande como esse seria a prevenção de desastres e a proteção de dados. Se o servidor morrer, 100 VMs morrerão com ele.
Você precisa planejar algum tipo de failover das VMs e planejar algum tipo de gerenciamento "extra-VM" que protegerá suas VMs em caso de falha. Obviamente, esse tipo de redundância significa aumento de custo - e é provavelmente por isso que muitas vezes esse desembolso não é aprovado até que seus benefícios tenham sido vistos na prática (por sua ausência).
Lembre-se também de que o host da VM é apenas um dos vários pontos de falha únicos:
São apenas algumas: uma infraestrutura maciça de VM requer atenção cuidadosa à prevenção de perda de dados e à prevenção de perda de VM.
fonte
Nenhuma declaração sobre a viabilidade disso na produção, mas há uma demonstração muito interessante da NetApp em que eles fornecem 5440 desktops XP em 32 hosts ESX (170 por host) em cerca de 30 minutos, usando muito pouco espaço em disco devido à desduplicação na VM comum imagens
http://www.youtube.com/watch?v=ekoiJX8ye38
Meu palpite é que suas limitações são provenientes do subsistema de disco. Você parece ter explicado o uso de memória e CPU de acordo.
fonte
Nunca fiz isso - mas prometo que você gastará muito mais do que em armazenamento para obter IOPs suficientes para suportar tantas VMs quanto o hardware do servidor. Você precisará de muitas IOPs se todas as 100 estiverem ativas ao mesmo tempo. Para não parecer negativo, mas você também considerou colocar muitos ovos em uma cesta (parece que você está atrás da solução de servidor único?)
fonte
Eu ficaria mais preocupado com a contenção de CPU com 100 VMs em um único host. Você deve se lembrar que o processador NÃO é virtualizado, portanto cada máquina terá que esperar pelo acesso à CPU. Você pode começar a ver a disputa observando o ESXTOP. Foi-me dito que algo acima de 5 no campo% RDY é muito ruim pelos engenheiros da VMWare.
Na minha experiência, eu vi cerca de 30 a 40 servidores sendo executados em um host (sem fazer muito).
fonte
Eu tinha 10 Hosts no VMWare Server 1.0.6 (no Windows 2003) e ele enfrentava problemas de E / S regularmente (e se as compilações noturnas se sobreporem a alguma outra coisa, elas teriam problemas). Após a atualização do Windows para o ESXi U3, descobrimos que nossos problemas de desempenho desapareciam (as compilações noturnas não mais falhavam).
Observe também que, embora os SSDs tenham uma taxa de E / S muito mais alta do que a mídia giratória, há alguns casos em que isso não ocorre, como certos tipos de padrões de gravação (muitas gravações pequenas espalhadas pela unidade prejudicam o desempenho, a menos que o controlador tenha uma cache de buffer de gravação inteligente que faz um bom trabalho em gravações de dispersão).
Eu recomendo investigar / testar os arquivos SWAP em unidades diferentes, se você tiver problemas.
fonte
Se você fizer isso, recomendo que você use os novos processadores Intel 'Nehalem' Xeon 55xx series - eles foram projetados para executar VMs e sua largura de banda de memória extra também ajudará enormemente. Ah, e se você puder usar mais discos menores do que poucos, grandes - isso ajudará bastante. Se você também pode usar o ESX v4 acima de 3.5U4.
fonte
Eu tenho 20 algo VMs XP rodando com 512M de RAM cada, em uma máquina com 16G de RAM. Menos que isso e eles trocam para o disco e isso dá o gargalo. Porém, essas são sempre VMs XP ativas.
O VMware e seu recurso OverCommit devem permitir que você forneça mais memória ram a cada máquina XP. Uma máquina semelhante compartilhará as mesmas páginas para reduzir a gravação do disco. É algo que eu gostaria de analisar em nossa configuração para tentar adicionar mais máquinas, pois nossas VMs XP estão executando 10 a 20meg de tráfego contínuo em disco.
fonte
Não conseguimos atingir 100 convidados felizes no VMWare Server, mas descobrimos que o ESXi está fazendo um trabalho muito melhor. Portanto, parece que 100 XP vms não é um problema se você usar o ESXi e um servidor decente (alguns espelhos de disco para espalhar a E / S, alguns chips I7 e 64 GB de RAM). Não há atraso visível para os usuários finais e os recursos do host não são atingidos no máximo (o mais quente é a CPU, mas geralmente tem pelo menos 70% de ociosidade).
PS. Esta pergunta foi postada por mim quando estávamos lutando com o VMWare Server.
fonte
Na última vez que verifiquei, a VMware recomenda não mais do que 4 VMs por núcleo de processamento para ESX, assumindo uma vCPU por VM.
Isso sugere que as despesas gerais de gerenciamento se tornem um fator.
Estou muito interessado em ver se você consegue realmente um fator 4x em uma caixa de 8 núcleos.
fonte