sexta-feira, 14 de setembro de 2012

PVM (Paravirtualizado) ou HVM (HardwareVirtualizado)? O que usar?

Olá pessoal, vou falar um pouco sobre os tipos de virtualização a ser utilizado nas VMs rodando em OVM.

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

* Paravirtualization support for RHEL 3.x and Windows 2008/2003/7/Vista/XP are paravirtualized device drivers only (ou seja, PVHVM).
(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.

quarta-feira, 12 de setembro de 2012

Oracle VM - O que é... e o que não é...

Olá pessoal, este é meu primeiro artigo do blog, criei ele para tentar ajudar vocês com alguns problemas (ou não :) de produtos Oracle. A ideia inicial é focar no Oracle VM (OVM), um ótimo produto de virtualização, mas que é julgado muitas vezes de forma erronea por pessoas que não conhecem muito para falar sobre ele! :(

Jogo rápido...

O que é virtualização?

É a habilidade de rodar várias Máquinas Virtuais (VMs) em único hardware. O Hardware roda o software (no caso o Oracle VM Server) que permite a instalação de vários Sistemas Operacionais independentes e simultaneos. Cada VM tem sua própria CPU, interface de rede, disco e SO.

Por que virtualizar?

Consolidação de servidores: Combinando vários servidores físicos em um único servidor.
Redução de complexidade: Uma vez que reduz o número de servidores, reduz também: consumo de energia e custo com administração.
Isolamento: As VMs rodam em ambiente "sandbox" ou seja, se uma VM "crashar" ela não afeta outra VM que está rodando no mesmo OVM Server.
Suporte a legados: Com a instalação do OVM Server direto no hardware (bare-metal), e a constante atualização de hardware, é possível rodar Sistema Operacionais antigos em cima do OVM sem se preocupar com a compatibilidade entre o SO x Hardware.

Foi desenvolvido do "zero"?

Não, o OVM utiliza o Xen hypervisor (maiores informações em: www.xen.org), ele foi melhorado e incluido no OVM Server.

O OVM é uma tecnologia nova da Oracle?

Não, a primeira versão do OVM foi liberada em Novembro de 2007 (versão 2.1).

VMWare é melhor que Oracle VM?

Essa é uma pergunta que deve ser avaliada com cuidado, a maioria das pessoas (acredito que todos) vão dizer que sim, ao meu ver isso não é verdade por alguns motivos, tais como:
   a) VMWare não tem PVM (Paravirtualização [Leia mais aqui])
   b) Rodar Java em VMWare não é uma boa ideia (WebLogic roda em cima de JVM...) mais detalhes aqui: Java in Virtual Machines on VMware® ESX
   c) Para liberar um disco compartilhado entre as VMs no VMWare é um parto e dá vários problemas (quem já fez isso no VMWare pode concordar :)), no OVM é muito simples.
   d) A maioria das features que VMWare tem não são utilizadas
   e) VMs com produtos Oracle rodando em VMWare não são certificadas, apenas suportadas pela Oracle. No OVM são suportadas e certificadas. 
   f) O custo do OVM é zero, VMWare é muito caro...
   g) Full stack, com OVM é possível ter a stack toda Oracle, desde o Hardware até a aplicação final (Banco de Dados ou Middleware por exemplo), a VMWare provê apenas a virtualização.
   h) Gerenciamento integrado: com o Oracle Grid 12c é possível gerenciar a stack completa inclusive o OVM.
   i) Templates: existem centenas de templates prontos no e-delivery para baixar (É possível disponibilizar um Oracle Database em alguns minutos!)
   j) Escalabilidade: Oracle VM suporta 128vCPUs e 1TB RAM por VM, a VMWare suporta apenas 32vCPUs

Existem outros N pontos para falar, mas não vou descrever aqui para não ficar mais extenso... Coloquei aqui os prós do OVM. Existem contras? Sim... como todo produto de qualquer fabricante, por isso que criei este blog para ajuda-los nas horas dos problemas! :)

O OVM é uma tecnologia de virtualização, portanto ele funciona da mesma forma que: VMWare, Hyper-V, Xen Server, etc?

Não, o OVM é baseado na tecnologia Xen e o pool ("cluster") é baseado no OCFS2 (falarei sobre este ponto em outro topico). O ponto importante aqui é: Não funciona da mesma forma que os outros Vendors de mercado...


Bom pessoal, coloquei aqui algumas dúvidas que podem surgir para quem está entrando agora no mundo do OVM ou mesmo para quem já está neste mundo há algum tempo mas não sabia de alguma coisa... Espero que tenham gostado... Aguardem para o proximo topico...

Um abraço.