Como selecionar a interface de paravirtualização no VirtualBox?

89

Dado um sistema host Windows 8 (Intel Core i5) e um host Linux Fedora, eu gostaria de determinar a configuração ideal para a interface paravirtual.

As opções são

  • Nenhum
  • Padrão
  • Legado
  • mínimo
  • Hyper-V
  • KVM

Esta página sugere que a seleção é baseada apenas no sistema de convidados:

A maior mudança no VirtualBox 5.0 é a introdução do suporte à para-virtualização, trazendo maior desempenho e precisão de tempo aos sistemas operacionais convidados suportados (Hyper-V no Windows e KVM no Linux).

Isso está correto?

Principiante
fonte

Respostas:

98

O Manual do VirtualBox , na seção intitulada Provedores de paraavirtualização, explica muito claramente quando cada um deve ser usado (grifo nosso):

  • Mínimo: anuncia a presença de um ambiente virtualizado. Além disso, reporta a frequência TSC e APIC ao sistema operacional convidado. Esse provedor é obrigatório para a execução de qualquer convidado do Mac OS X.

  • KVM: apresenta uma interface de hypervisor KVM do Linux que é reconhecida pelos kernels do Linux a partir da versão 2.6.25. Atualmente, a implementação do VirtualBox suporta relógios paravirtualizados e spinlocks SMP. Este provedor é recomendado para convidados do Linux.

  • Hyper-V: apresenta uma interface de hipervisor do Microsoft Hyper-V que é reconhecida pelo Windows 7 e sistemas operacionais mais recentes. Atualmente, a implementação do VirtualBox suporta relógios paravirtualizados, relatórios de frequência APIC, depuração de convidados, relatórios de falhas de convidados e verificações relaxadas do cronômetro. Este provedor é recomendado para convidados do Windows.

As outras opções na lista suspensa fazem o seguinte, conforme explicado nos vboxmanagedocumentos :

  • Nenhum : a especificação nonedesativa explicitamente a exposição de qualquer interface de paravirtualização.

  • Padrão : a opção defaultescolherá uma interface apropriada, dependendo do tipo de SO convidado ao iniciar a VM. Essa é a opção padrão escolhida ao criar novas VMs.

  • Legado : a legacyopção é escolhida para VMs criadas com versões mais antigas do VirtualBox e selecionará uma interface de paravirtualização ao iniciar a VM com o VirtualBox 5.0 e mais recente.

pesado
fonte
6
Testando o modo KVM no meu convidado do Ubuntu (usando o OSX como host), houve vários problemas relacionados ao tempo, incluindo o relógio rodando duas vezes mais lento. (Eu definiria o tempo usando ntp e em 10 minutos, o relógio demoraria cerca de 5 minutos). O sistema estava realmente executando tudo mais devagar, por exemplo, chamar "suspensão 5" levaria muito mais que 5 segundos. Atualmente, estou de volta ao modo "Legado"
JBernardo
@JBernardo Você testou o modo Padrão ?
Léo Léopold Hertz # 25/16
@ LéoLéopoldHertz mode O modo Padrão não seria o mesmo que o KVM que eles já tentaram?
Endolith
@JBernardo Normalmente não deve usar o ntp dentro de uma VM, pois é sincronizado com o host pelos utilitários convidados. Isso pode interferir.
Bachsau 12/12
9

Vamos ser mais precisos, porque eu tinha 4.3 VMs migradas, e essas são "herdadas", também estava interessado em qual configuração usar, se eu copiar a VM do Linux para o Windows ou vice-versa:

--paravirtprovider none | padrão | legado | mínimo | hyperv | kvm: Essa configuração especifica qual interface de paravirtualização fornecer ao sistema operacional convidado.

  • A especificação de nenhum desativa explicitamente a exposição de qualquer interface de paravirtualização.
  • A opção padrão , escolherá uma interface apropriada, dependendo do tipo de SO convidado ao iniciar a VM. Essa é a opção padrão escolhida ao criar novas VMs.
  • A opção herdada é escolhida para VMs criadas com versões mais antigas do VirtualBox e selecionará uma interface de paravirtualização ao iniciar a VM com o VirtualBox 5.0 e mais recente.
  • O provedor mínimo é obrigatório para convidados do Mac OS X ,
  • kvm - recomendado para convidados Linux
  • e hyperv - recomendado para convidados do Windows

Essas opções são explicadas em detalhes na Seção 10.4, “ Provedores de paravirtualização ”.

Do manual capítulo 8 .

Portanto, se você atualizou o VirtualBox para a versão 5 no Linux, basta selecionar kvm ou padrão , inicie a VM e verifique se funciona corretamente. Se sim, deixe uma nova configuração.

Se você estiver migrando / movendo VMs do Linux para o Windows, recomendo ter a opção padrão , que faz a seleção automática da melhor interface de virtualização.

Arunas Bartisius
fonte
0

Apenas mu a centavos, com base em meus próprios testes.

Eu testei com um convidado do Windows 10, executando em um host do Windows 10 e em um host do Linux (ou pelo menos eu tentei).

Sem mencionar, todos os discos virtuais que eu uso são imutáveis ​​(para garantir testes idênticos).

No host do Windows 10, o convidado é executado normalmente (talvez um pouco lento), mas é inicializado e a área de trabalho é mostrada ... a paravirtualização é "padrão".

Se eu tentar a mesma máquina virtual em um host Linux com paravirtualização "padrão", o convidado do Windows 10 não inicializa, ele inicializa até que os pontos se movam em círculo, e depois de um tempo congela ... não há como acessar o logon, nem a área de trabalho. .. lembre-se de que todos os discos são imutáveis.

Mas assim que eu defini a paravirtualização como "Heredada" (é em espanhol), ele inicializa e alcança a área de trabalho, mas às vezes (lembre-se de que todos os discos são imutáveis) é reiniciado, enquanto outras vezes eu posso usá-lo (muito, muito devagar) .. então deve haver uma disputa de raça em algum lugar, sinve com discos imutáveis, que nem sempre faz o mesmo.

Ah, a propósito, o convidado do Windows não tem acesso à Internet para garantir que nenhuma conexão à Internet possa fazer as coisas funcionarem de maneira diferente entre botas de frio.

Lembrar:

  • Todos os discos são imutáveis
  • Todos são revertidos em cada inicialização a frio
  • O convidado do Windows nem sempre funciona
  • Com a paravirtualização em "padrão", ele nem inicializa no host Linux, mas inicializa bem no Windows Host.
  • Com a paravirtualização no "Heredada", ele inicializa no host Linux (mas não é sempre estável permitir que você o use)

Eu também tentei ativar / desativar 2D e 3D (também PAE / NX) porque quero que o mesmo convidado (HDDs virtuais copiados de um host para outro) seja estável em dois hosts diferentes; Também quero copiar HDDs virtuais de um host para outro host depois de fazer qualquer atualização (antes de fazer uma inicialização a frio, mesclar disco imutável com seu pai para tornar as alterações permanentes e não se perder, também conhecido como CloneVDI); eu não uso instantâneos, apenas discos imutáveis.

Isso é o que eu tinha visto, preciso fazer mais testes com outros valores de paravirtualização, caso alguém funcione melhor no host do Linux. Eu não uso MAC, nem OS / 2, apenas hosts Windows e Linux (os dois estão em hardware físico diferente).

VERSÃO: o convidado do Windows 10 é o HOME 64Bits e a versão é 1809.17763.379

Espero que isso ajude outras pessoas, testem, testem e testem novamente (melhor com discos imutáveis) qualquer combinação de valores até encontrar uma combinação que funcione, parece que é a única maneira de fazer um convidado rodar em diferentes tipos de hosts (Windows / Linux)! !!

Laura
fonte