Virtualização para eficiência? Não derrota o ponto de um sistema operacional em tudo?

3

Esse link VMware Virtualization parece estar dizendo que rodar uma máquina virtual e espalhar seus aplicativos entre sistemas operacionais é mais eficiente do que o contrário. Como pode isto ser verdade? Uma VM não derrota a capacidade do sistema operacional principal de executar seu trabalho, a menos que tenha sua memória particionada como um aplicativo normal a ser gerenciado? Independentemente disso, como poderia melhorar alguma coisa?

    
por nona urbiz 12.09.2009 / 00:23

4 respostas

11

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)
por 12.09.2009 / 00:33
5

Não realmente. Alguns aplicativos não se comportam bem quando compartilham com outros aplicativos. O Exchange, por exemplo, espera que você execute o Exchange apenas na caixa, e instalar qualquer outra coisa nele pode ter ... consequências.

Outras vezes é mais fácil para o gerenciamento, já que você compartimenta as funções. Seu servidor da Web não está compartilhando obrigações com seu servidor de arquivos, ou se você precisar mover ou atualizar essa função, isso não afeta outros serviços ou tem efeitos colaterais não intencionais.

Outras vezes é bom para empurrar soluções "nativas". Sua única máquina pode executar o Apache para serviços da Web no Linux e Exchange no Windows e outro servidor SQL em execução (ou MySQL) na plataforma mais nativa desse aplicativo sem precisar investir em várias caixas físicas.

Melhor, porém, é que você pode obter instantâneos e backups do estado do sistema facilmente usando uma solução de VM. Se precisar, você pode configurar outro sistema VM (ESXi, por exemplo), copiar as unidades virtuais e instalá-las no computador e apontar VMWare para a "máquina" copiada e disparar enquanto a outra máquina estiver sendo reparada (ou pagar por a opção vMotion para que você possa migrar entre máquinas físicas); isso aumenta a disponibilidade e ajuda nas tarefas de manutenção. É ótimo poder atualizar o hardware sem se preocupar com efeitos não intencionais no sistema operacional ou na configuração de seus aplicativos, pois eles são "virtuais" e não sabem nada sobre as alterações!

O VMware economizou um pouco nas contas de eletricidade e refrigeração para a sala de servidores e estou usando o Virtualbox para emular uma máquina para executar o Windows para gerenciar determinadas funções do AD e executar o cliente VSphere em minha máquina Linux. Por último, é maravilhoso testar as coisas. Não preciso criar uma nova máquina da sala dos fundos para testar um servidor do fórum ou testar uma instalação de um aplicativo. Acabei de criar uma nova máquina virtual e iniciá-la.

A redescoberta da tecnologia VM é uma das melhores coisas para a indústria de TI em muito tempo ... ironicamente ...

Há algo mais específico sobre o qual você está se perguntando?

    
por 12.09.2009 / 00:40
2

O host da VM pode distribuir o uso da CPU, o uso do disco rígido e o uso da memória com base em padrões de carga de trabalho predefinidos. O ponto principal é que você geralmente compra uma máquina muito strong para acompanhar o pico do uso do seu aplicativo, mas na maioria das vezes ela pode ficar lá praticamente sem fazer nada e desperdiçar desempenho gratuito valioso. Portanto, gaste mais alguns dólares por uma máquina realmente gorda e combine suas máquinas em uma só. É sobre a consolidação de recursos. Para ainda garantir o desempenho de seus padrões de carga de trabalho, você pode definir compartilhamentos de tempo e compartilhamentos de io para cada máquina convidada e priorizá-los para garantir o desempenho.

Migrar para um novo hardware também é fácil: despejar a imagem da máquina e enviá-la para uma nova. Ele ainda será executado e funcionará sem mexer com problemas de drivers ou reinstalações ou migrações de dados.

Outro grande ponto positivo é que alguns serviços instalados simultaneamente na mesma instância do SO não estão se comportando muito bem juntos - por exemplo, MSSQL e Exchange. É bom limitar ambos em sua própria instância de sistema operacional e, em vez disso, permitir que um hypervisor distribua as demandas de serviço. Você normalmente obtém um melhor desempenho e migrar para um novo hardware mais tarde é apenas uma questão de "copiar e colar".

    
por 12.09.2009 / 00:34
2

O pessoal de vendas e marketing da VMWare lhe dirá muitas coisas maravilhosas e surpreendentes. Existem alguns benefícios, mas cuidado para não ser totalmente sugado. Especialmente cuidado com qualquer coisa relacionada à sua carga livre de CPU e memória, já que sempre me parece uma falha em reconhecer que a CPU e a memória livres são headroom para condições de carga pesada transitória .

    
por 12.09.2009 / 01:15