2015-07-27 14:21:19 +0000 2015-07-27 14:21:19 +0000
97
97

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

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

As opções são

  • nenhuma & - Default
  • Legado
  • mínimo
  • Hyper-V
  • KVM Esta página sugere que a selecção se baseie apenas no sistema de convidados:

& > A maior alteração na VirtualBox 5.0 é a introdução do suporte de paravirtualização, trazendo maior desempenho e precisão na manutenção do tempo aos sistemas operativos convidados suportados (Hyper-V no Windows e KVM no Linux).

É isso correcto?

Respostas (3)

108
108
108
2015-07-27 14:33:29 +0000

O Manual VirtualBox , na secção intitulada Paravirtualização fornecedores explica muito claramente quando cada um deles deve ser utilizado (ênfase adicionada):

  • Minimal: Anuncia a presença de um ambiente virtualizado. Adicionalmente, relata a frequência do TSC e APIC ao sistema operativo convidado. Este fornecedor é obrigatório para executar qualquer convidado Mac OS X.

  • KVM: Apresenta uma interface KVM hipervisor Linux que é reconhecida pelos kernels Linux a partir da versão 2.6.25. A implementação da VirtualBox suporta actualmente relógios paravirtualizados e spinlocks SMP. Este fornecedor é recomendado para convidados Linux.

  • Hyper-V: Apresenta uma interface hipervisor Microsoft Hyper-V que é reconhecida pelo Windows 7 e por sistemas operativos mais recentes. A implementação da VirtualBox suporta actualmente relógios paravirtualizados, relatórios de frequência APIC, depuração de convidados, relatórios de crash dos convidados e verificações de temporização relaxadas. Este fornecedor é recomendado para convidados Windows.

As outras opções no drop down fazem o seguinte, como explicado no vboxmanage docs :

  • Nenhum* : A especificação none desliga explicitamente a exposição de qualquer interface de paravirtualização.

& > - Padrão* : A opção default, escolherá uma interface apropriada dependendo do tipo de SO convidado enquanto se inicia a VM. Esta é a opção por defeito escolhida durante a criação de novas VMs.

& > - Legacy* : A opção legacy é escolhida para VMs que foram criadas com versões mais antigas da VirtualBox e irá escolher uma interface de paravirtualização ao iniciar a VM com a VirtualBox 5.0 e mais recente.

10
10
10
2015-12-04 23:00:36 +0000

Sejamos mais precisos, porque eu tinha 4,3 VMs migradas, e estas são “legado”, também estava interessado em que configuração usar, se copio VM do Linux para o Windows ou vice-versa:

–paravirtprovider none|default|legacy|minimal|hyperv|kvm: Esta configuração especifica qual a interface de paravirtualização a fornecer ao sistema operativo convidado.

  • especificando nenhuma* explicitamente desliga expondo qualquer interface de paravirtualização.
  • A opção default , escolherá uma interface apropriada dependendo do tipo de SO hóspede enquanto se inicia a VM. Esta é a opção por defeito escolhida durante a criação de novas VMs.
  • A opção legacy* é escolhida para VMs que foram criadas com versões mais antigas da VirtualBox e escolherá uma interface de paravirtualização enquanto inicia a VM com a VirtualBox 5.0 e mais recente.
  • O minimal fornecedor é mandatório para convidados Mac OS X ,
  • kvm* - recomendado para Convidados Linux
  • e hyperv - recomendado para Convidados Windows*

Estas opções são explicadas em detalhe na secção 10.4, fornecedores de paravirtualização “.

De capítulo 8 do manual ”.

Assim, se tiver actualizado o VirtualBox para a versão 5 no Linux, basta seleccionar kvm* ou default* , iniciar o VM e verificar se funciona correctamente. Se sim, basta deixar uma nova configuração.

Se migrar/movimentar VMs de Linux para Windows, recomendo ter a opção por defeito* , o que faz uma selecção automática da melhor interface de virtualização.

0
0
0
2019-03-26 11:23:17 +0000

Apenas mu a cêntimos, com base nos meus próprios testes.

Eu tinha testado com um convidado Windows 10, a correr num anfitrião Windows 10 e num anfitrião Linux (ou pelo menos eu tinha tentado).

Sem mencionar que todos os discos virtuais que utilizo são inmutáveis (para assegurar testes idênticos).

No anfitrião Windows 10, o convidado corre normalmente (talvez um pouco lento) mas inicia e o ambiente de trabalho é mostrado… a paravirtualização é “por defeito”.

Se eu tentar a mesma máquina virtual num anfitrião Linux com paravirtualização “por defeito”, o convidado Windows 10 não arranca, arranca até os pontos se moverem em círculo, depois de algum tempo congela… não há forma de chegar ao login, nem ao desktop… lembrem-se que todos os discos são inmutáveis.

Mas assim que eu colocar a paravirtualização em “Heredada” (está em espanhol) ele arranca e chega à área de trabalho, mas às vezes (lembre-se que todos os discos são inmutáveis) ele reinicia, enquanto outras vezes posso usá-lo (muito, muito lentamente)… por isso deve haver uma contição de corrida algures, afundar com discos inmutáveis não faz sempre o mesmo.

Ah, a propósito, o convidado do Windows não tem acesso à Internet para ter a certeza de que nenhuma ligação à Internet pode fazer as coisas funcionarem de forma diferente entre botas frias.

Lembre-se:

  • Todos os discos são inutable
  • Todos são revertidos em cada arranque a frio
  • O convidado Windows não funciona sempre
  • Com a paravirtualização “por defeito” nem sequer arranca no anfitrião Linux, mas arranca bem no anfitrião Windows. & - Com a paravirtualização em “Heredada”, arranca no anfitrião Linux (mas não é sempre estável para permitir a sua utilização)

Eu também tinha tentado activar/desactivar 2D & 3D (também PAE/NX) porque quero que o mesmo convidado (discos virtuais copiados de um anfitrião para o outro) seja estável em dois anfitriões diferentes; também quero poder copiar discos rígidos virtuais de um anfitrião para outro anfitrião depois de fazer qualquer actualização (antes de fazer um arranque a frio, fundir disco inmutável com o seu pai para fazer alterações permanentes e não se perder, também conhecido como CloneVDI); não uso instantâneos, apenas discos inmutáveis.

É o que eu tinha visto, tenho de fazer mais testes com outros valores de paravirtualização, para o caso de qualquer um funcionar melhor no anfitrião Linux. Eu não uso MAC, nem OS/2, apenas Windows host e Linux host (ambos host estão em hardware físico diferente).

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

Espero que isto ajude outros, testar & testar & re-testar (melhor com discos inmutáveis) qualquer combinação de valores até encontrar uma combinação que funcione, parece ser a única maneira de fazer um guest correr em diferentes tipos de hosts (Windows/Linux)!!!