Virtualização dupla vs. inicialização dupla vs. virtualização única

Virtualização dupla vs. inicialização dupla vs. virtualização única

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

Bota dupla:

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

Virtualização única:

    Computer
       |
     Linux
       |      
    Windows

Virtualização dupla:

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

O problema com a inicialização dupla é que você só pode usar um sistema operacional por vez, e o problema com a virtualização única é que você não pode usar o Windows a menos que o Linux esteja ativado.

Esta ideia de dupla virtualizaçãoparecepara resolver o problema, mas me pergunto por que nunca ouvi falar disso antes.

Há alguma desvantagem séria nessa ideia? Quais são os prós e contras?

A única desvantagem real em que consegui pensar foi o desempenho, que às vezes pode ser importante, mas por exemplo: meu próximo laptop suportará 16 GB de RAM, então cada sistema poderá obter um pouco menos de 8 GB de RAM - mais que suficiente.

Responder1

O problema é que o 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 os dois sistemas operacionais necessários ao mesmo tempo.

O problema com um host de sistema operacional discreto égestão de recursos.

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

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

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

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

Responder2

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

Os hipervisores funcionam apenas em hardware com assistência de virtualização habilitada. Embora todos os processadores atuais (Intel e AMD) suportem virtualização de hardware, alguns laptops e desktops de baixo custo não habilitam esse recurso (como meio de segmentação de mercado).

Pelo que entendi, o hipervisor VMWare ocupa o menor espaço, mas custa mais que o Hyper-V, que é gratuito, desde 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 ainda seja executado em um sistema operacional host.

Responder3

O problema de virtualizar ambos os sistemas operacionais convidados é que você ainda precisa de um sistema operacional para hospedar a virtualização. Isso não pode acontecer 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 Terminal Services ou SSH, porque a tela, o teclado e o mouse estão conectados ao sistema operacional host.

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

Se você está preocupado com as limitações da inicialização dupla e usa um sistema operacional mais 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, instale o software de virtualização no Windows e instale o Linux como sistema operacional convidado.

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

informação relacionada