Já vi bastante confusão em torno deste topico (talvez pela sopa de letrinhas :), enfim o modo de virtualização escolhido é muito importante e influenciará bastante na performance e outras features que poderá ter ou perder de acordo com o modo de virtualização escolhido.
No OVM temos 3 modos de virtualização:
- Hardware Virtualised ou Fully Virtualised (HVM)
- Paravirtualised (PVM)
- Hardware Virtualised using Paravirtualised Drivers (PVHVM)
Em HVM utilizamos a midia de instalação padrão do Sistema Operacional, a VM não sabe que está rodando em ambiente virtual.
Para habilitar HVM no OVM o processador do servidor físico deverá ter suporte a virtualização por exemplo: Intel VT-x ou AMD SVM/AMD-V.
As vantagens em utilizar HVM são:
a) A instalação é muito fácil (da mesma forma que você instala um servidor físico)
b) VMs Linux suportam a feature HugePages
c) VMs suportam PAE (Physical Address Extension)
As desvantagens em utilizar HVM:
a) Performance (o Hypervisor [explicarei mais detalhes em outro topico] tem que fazer o translation causando um overhead, pra mim este é o principal ponto em escolher PVM ao invés de HVM)
b) Problemas com clock poderão ocorrer
c) Não é possível efetuar o boot da VM utilizando discos SCSI.
Em PVM as VMs são projetadas para rodar em ambiente virtual. O kernel e os drivers são otimizados para obter uma melhor performance em ambiente virtual (Acredite: o Unbreakable Kernel 2 do Oracle Linux tem signficativas melhoras para o Xen)
Não é necessário que o processador do servidor físico suporte virtualização para utilizar VMs em PVM.
As vantagens em utilizar VMs em PVM:
a) Oferece melhor performance comparado aos modos HVM ou PVHVM (reforçando... ao meu ver este item é muito importante)
As desvantagens em utilizar VMs em PVM:
a) O kernel e os drivers devem suportar este modo (compatível com Xen)
b) Não é possível utilizar HugePages para VMs Linux (depende da versão do SO, mas é sempre bom falar...)
c) Algumas features do Oracle VM Manager não são disponíveis, por exemplo, não é possível utilizar uma imagem ISO em uma VM PVM.
Em PVHVM as VMs empregam um mix de HVM e PVM. As VMs rodam com drivers em PVM o qual permite um ganho de performance com relação a uma VM HVM "pura".
As vantagens em utilizar PVHVM:
a) Oferece melhor performance comparado a HVM (Mas não é melhor que PVM)
b) VMs Linux suportam a feature HugePages
c) VMs suportam PAE (Physical Address Extension)
As desvantagens em utilizar PVHVM:
a) Requer significativas modificações das VMs (pode ser um problema)
b) Para o Linux é necessário ter o pacote kmod-pvhvm para prover drivers paravirtualizados
Bem, como no mundo nem tudo são flores, nem todos os SOs suportam PVM, abaixo uma lista dos Sistemas Operacionais que suportam PVM e HVM no OVM:
Guest Operating System | Paravirtualized 32-bit | Paravirtualized 64-bit | Hardware Virtualized 32-bit | Hardware Virtualized 64-bit |
SUPPORTED GUEST OPERATING SYSTEMS ON 64-BIT CPUs | ||||
Oracle Linux 6.x | x | x | x | x |
Oracle Linux 5.x | x | x | x | x |
Oracle Linux 4.x | x | x | x | x |
Red Hat Enterprise Linux 5.x | x | x | x | x |
Red Hat Enterprise Linux 4.x | x | x | x | x |
Red Hat Enterprise Linux 3.x | x | x | x | |
Microsoft Windows 2000 | x | x | ||
Microsoft Windows 2003 | x | x | x | x |
Microsoft Windows XP Pro | x | x | x | x |
Microsoft Windows Vista | x | x | x | x |
Microsoft Windows 7 | x | x | x | x |
Microsoft Windows 2008 SP1 | x | x | x | x |
Microsoft Windows 2008 R2 | x | x | ||
Oracle Solaris 11 Express* | x | x | x | x |
Oracle Solaris 10* | x | x | x | x |
SUPPORTED GUEST OPERATING SYSTEMS ON 32-BIT CPUs | ||||
Oracle Linux 6.x | x | x | ||
Oracle Linux 5.x | x | x | ||
Oracle Linux 4.x | x | x | ||
Red Hat Enterprise Linux 5.x | x | x | ||
Red Hat Enterprise Linux 4.x | x | x | ||
Red Hat Enterprise Linux 3.x | x | x | ||
Microsoft Windows 2000 | x | |||
Microsoft Windows 2003 | x | x | ||
Microsoft Windows XP Pro | x | x | ||
Microsoft Windows Vista | x | x | ||
Microsoft Windows 7 | x | x | ||
Microsoft Windows 2008 SP1 | x | x | ||
Oracle Solaris 11 Express* | x | x | ||
Oracle Solaris 10* | x | x |
(fonte: oracle.com)
Resumindo, depende de cada cenário para escolher o modo de virtualização, o importante aqui é ressaltar que cada modo de virtualização trabalha de uma maneira diferente e o resultado será diferente de acordo com o modo escolhido.
Espero que tenham gostado e aguardem para o proximo tópico...
Um abraço.