Virtualização Dupla vs. Dual-Boot vs. Single-Virtualization

6

Um amigo meu sugeriu recentemente algo que me intrigou: no caso de precisar de vários sistemas operacionais simultaneamente, em vez de usar dual-boot ou usar vários computadores, era possível usar um host de baixo nível que consumisse efetivamente zero recursos que hospedassem dois sistemas virtuais. Você teria o benefício de dividir os recursos do computador igualmente entre os sistemas e a opção de usar apenas um sistema por vez. Como exemplo:

Inicialização dupla:

    Computer
       |
    --------
    |      |
Windows  Linux

Virtualização única:

    Computer
       |
     Linux
       |      
    Windows

Virtualização dupla:

    Computer
       |
      Host
       |
    --------
    |      |
Windows  Linux

O problema com dual-boot é que você pode usar apenas um Sistema Operacional por vez, e o problema com a virtualização simples é que você não pode usar o Windows a menos que o Linux esteja ligado.

Essa idéia de virtualização dupla parece resolver o problema, mas me pergunto por que nunca ouvi falar disso antes.

Existem algumas desvantagens graves para esta ideia? Quais são os prós e contras?

A única desvantagem real que eu poderia pensar era o desempenho, que às vezes pode ser importante, mas como exemplo: meu próximo laptop suportará 16 GB de RAM, então cada sistema pode ter um pouco menos de 8 GB de RAM - mais do que o suficiente.

    
por Thomas Shields 01.05.2012 / 18:50

3 respostas

6

O problema é que seu "host" está longe de consumir zero recursos e é essencialmente um sistema operacional em si. Seria melhor instalar uma pequena distribuição do Linux, atuando essencialmente como um "sistema operacional host" e executando ambos os sistemas operacionais necessários ao mesmo tempo.

O problema com um host discreto do SO é gerenciamento de recursos .

Quem decide qual sistema operacional recebe qual peça de hardware e a que horas? Quem gerencia a prioridade do sistema operacional? Quem gerencia quem recebe a parte da memória no espaço de endereço? Quem é responsável por gerenciar o uso da CPU entre os sistemas operacionais? Como você lida com a sincronização de leitura / gravação de dispositivos de armazenamento entre sistemas operacionais?

A única maneira de fazer isso é fazer algo assim:

    Computer
       |
  Linux/Windows
       |
    --------
    |      |
Windows  Linux

Embora você vá tão longe, é melhor simplesmente usar o sistema operacional host em vez de virtualizar a si mesmo (ou seja, se você usar um host Windows, virtualizar o Linux e vice-versa).

    
por 01.05.2012 / 18:53
3

O que você está descrevendo parece uma hiper viseira . O VMWare e a Microsoft fornecem hipervisores thin que fazem pouco mais que fornecer serviços de virtualização. Além disso, ao executar o Windows Server 2008 (e 08R2 e agora o Windows 8 Server e o client ), você pode instalar o hyper-v, que ainda coloca um hypervisor sob o sistema operacional "host". Do ponto de vista de gerenciamento, você ainda precisa executar o Windows, mas tecnicamente o Windows é apenas um convidado para o hipervisor.

Os hipervisores funcionam apenas em hardware com assistência de virtualização ativada. Embora todos os processadores atuais (intel e AMD) ofereçam suporte à virtualização de hardware, alguns laptops e desktops de nível inferior não ativam esse recurso (como meio de segmentação de mercado).

Pelo que entendi, o hipervisor VMWare tem o menor tamanho, mas custa mais do que o Hyper-V, que é gratuito, supondo que você já tenha uma licença do Windows.

Outra alternativa é usar o Virtual Box ou outro sistema de virtualização que aproveite a virtualização de hardware, mas que ainda seja executado em um sistema operacional host.

    
por 01.05.2012 / 20:13
1

O problema de ter os dois sistemas operacionais virtuais virtualizados é que você ainda precisa de um sistema operacional para hospedar a virtualização. Isso pode ser nenhum com um sistema operacional especial (VMWare ESXi, por exemplo), mas os componentes conectados a esse computador seriam conectados diretamente ao sistema operacional host e não às suas VMs. Como resultado, você teria que se conectar remotamente aos sistemas operacionais convidados usando os Serviços de Terminal ou o SSH, porque a tela, o teclado como mouse, estão conectados ao sistema operacional host.

A virtualização desta forma é realmente útil em um servidor que não se destina a ser usado como estação de trabalho também.

Se você estiver preocupado com as limitações do dual-boot e usar um SO mais do que o outro, o host deve ser o sistema operacional que você usa com mais frequência. Por exemplo, se você usa mais o Windows, então instale o software de virtualização no Windows e instale o Linux como sistema operacional convidado.

EDIT: Estou incorreto ao dizer que você deve se conectar remotamente. O Microsoft Hyper-V é um exemplo de uma solução que permite controlar seu sistema operacional convidado do host, mas acho que o suporte para outros sistemas operacionais é limitado e não é fácil de configurar.

    
por 01.05.2012 / 19:10