This link VMware Virtualization seems to be saying that running a virtual machine and spreading your applications between OS's is more efficient than otherwise. How can this be true?
É verdade porque, se você observar de perto a maioria dos servidores (mas não todos), verá que eles estão inativos. Esses são recursos ociosos que não estão fazendo nada além de custar dinheiro com a eletricidade sendo usada para manter o servidor inativo.
Se, no entanto, você tiver hardware subutilizado, talvez você possa obter um pouco mais disso aumentando sua carga de trabalho. O que é que eu ouço? Você tem cargas de trabalho do Windows e do Linux? Talvez uma carga de trabalho do OS X também? Ah, bem, eu acho que você só pode escolher uma classe de carga de trabalho - a que é suportada pelo sistema operacional host - e os outros estão sem sorte.
A virtualização muda tudo isso. Agora, não importa qual seja o ambiente do sistema operacional, só importa que o hardware possa acomodar a carga de trabalho.
Doesn't a VM defeat the ability of the main OS to do it's job unless it has it's memory partitioned off like a normal application to be managed?
O objetivo do sistema operacional principal neste ponto é apenas atender os convidados. Venha agora, você sabe tão bem quanto eu que o anfitrião deve sempre proporcionar uma experiência agradável para seus convidados, certo? ;) É a mesma idéia com VM's - o host está lá apenas para liberar o I / O e impedir que os convidados fiquem muito indisciplinados. Cabe aos convidados fazer o trabalho pesado.
Regardless, how could it possibly improve anything?
Ele melhora isso no mesmo sentido que os LPARs do Mainframe existem há muito, muito tempo, por aproximadamente o mesmo reason - resolve uma classe de problemas que são freqüentemente encontrados. Mesmo a Sun achou que era uma boa ideia "no passado"
Veja o que você pode encontrar:
- o requisito para reinicializar uma máquina para satisfazer um requisito, mas a reinicialização afetaria outros requisitos de maneira adversa (dois serviços em execução no mesmo sistema operacional, um dos quais precisa continuar em execução, mas o outro requer uma reinicialização - o que você faz?) Com as VMs, você pode segregar os serviços de maneira independente, o que os isola uns dos outros de maneira muito controlada. A alocação de recursos tende a ser uma situação bastante estática com configurações não virtuais. Isso muda drasticamente ao executar uma VM - agora você pode alterar a quantidade de memória disponível, adicionar armazenamento, etc., com pouco impacto.
- você precisa migrar uma carga de trabalho que esteja ativa de um servidor para outro sem que a carga de trabalho seja interrompida. Como você faz isso em uma configuração ao vivo? Com VMs, existem ferramentas corporativas que migram executando configurações in-loco, resultando em nenhum tempo de inatividade. Muito útil para atualizar ou consertar hardware.
- problemas de compatibilidade entre instalações de software podem causar pesadelos. VMs separadas para cada instalação resolvem o problema completamente (graças a hurikhan77 por mencionar essa)