Tipos de virtualização suportados pelo Xen
O Xen suporta a execução de dois tipos diferentes de convidados. Convidados Xen são frequentemente chamados de domUs (domínios não privilegiados). Ambos os tipos de convidados (PV, HVM) podem ser usados ao mesmo tempo em um único sistema Xen.
Paravirtualização do Xen (PV)
A paravirtualização é uma técnica de virtualização leve e eficiente introduzida pelo Xen, posteriormente adotada também por outras soluções de virtualização. A paravirtualização não requer extensões de virtualização da CPU host. No entanto, os convidados paravirtualizados exigem que o kernel especial seja portado para execução nativa no Xen, para que os convidados estejam cientes do hipervisor e possam executar eficientemente sem emulação ou hardware emulado virtual. Os kernels convidados Xen PV existem para os sistemas operacionais Linux, NetBSD, FreeBSD, OpenSolaris e Novell Netware.
Convidados de PV não possuem nenhum tipo de hardware emulado virtual, mas o console gráfico ainda é possível usando o convidado pvfb (framebuffer paravirtual). O console gráfico convidado PV pode ser visualizado usando o cliente VNC ou o virt-viewer da Redhat. Há um servidor VNC separado em dom0 para o PVFB de cada hóspede.
Os kernels upstream do kernel.org Linux desde o Linux 2.6.24 incluem o suporte ao convidado Xen PV (domU) com base na estrutura pvops do Linux, portanto, todo kernel Linux upstream pode ser usado automaticamente como kernel convidado Xen PV sem nenhuma correção ou modificação adicional.
Consulte a página wiki do XenParavirtOps para obter mais informações sobre o suporte ao Linux pvops Xen.
Virtualização completa do Xen (HVM)
Convidados totalmente virtualizados, também conhecidos como HVM (Hardware Virtual Machine), exigem extensões de virtualização de CPU da CPU host (Intel VT, AMD-V). O Xen usa a versão modificada do Qemu para emular o hardware completo do PC, incluindo BIOS, controlador de disco IDE, adaptador gráfico VGA, controlador USB, adaptador de rede etc para convidados HVM. As extensões de virtualização da CPU são usadas para aumentar o desempenho da emulação. Convidados totalmente virtualizados não exigem kernel especial; portanto, por exemplo, sistemas operacionais Windows podem ser usados como convidados Xen HVM. Convidados totalmente virtualizados geralmente são mais lentos que convidados paravirtualizados, devido à emulação necessária.
Para aumentar o desempenho, os convidados HVM totalmente virtualizados podem usar drivers de dispositivo paravirtuais especiais para ignorar a emulação para E / S de disco e rede. Os convidados Xen Windows HVM podem usar os drivers GPLPV de código aberto. Consulte a página wiki do XenLinuxPVonHVMdrivers para obter mais informações sobre os drivers Xen PV-on-HVM para visitantes do Linux HVM.
O KVM não é o Xen, é outra tecnologia, na qual o KVM é um módulo do kernel nativo do Linux e não um kernel adicional, como o Xen. O que torna o KVM um design melhor. A desvantagem aqui é que o KVM é mais recente que o Xen, portanto pode estar faltando alguns dos recursos.
Xen
é um hipervisor que roda em metal (o pc / servidor) e hospeda máquinas virtuais chamadas de domínios.Um
Xen PV
domínio é um domínio paravirtualizado , o que significa que o sistema operacional (geralmente estamos falando de linux aqui) foi modificado para rodar no Xen, e não há necessidade de realmente emular o hardware. Esse deve ser o caminho mais eficiente, em termos de desempenho.Um
Xen HVM
domínio é um domínio emulado por hardware , o que significa que o sistema operacional (poderia ser Linux, Windows, qualquer que seja) não foi modificado de nenhuma maneira e o hardware é emulado. Isso é um pouco lento; geralmente, você instala drivers fotovoltaicos no sistema operacional convidado para hardware crítico (geralmente disco e rede), para que o convidado como um todo funcione totalmente virtualizado, mas as peças de hardware mais críticas para o desempenho serão executadas paravirtualizadas. Os sistemas linux recentes têm drivers pv para disco e rede no kernel, e existem vários drivers PV para Windows também. Com todo o desenvolvimento do HVM nos últimos anos, geralmente há pouca diferença no desempenho entre o HVM e o PV para cargas de trabalho padrão.KVM
não é o Xen, é outra plataforma de virtualização criada dentro do kernel do Linux. Do ponto de vista do hóspede, ele se assemelha ao Xen HVM: o hóspede é executado totalmente virtualizado e há um driver específico para executar algumas partes paravirtualizadas (novamente, disco e rede).O Xen HVM e o Linux KVM precisam de suporte de virtualização assistida por hardware (Intel VT-x, AMD AMD-V), enquanto o Xen PV não pode, mas não pode executar sistemas operacionais sem suporte a PV (você não pode executar o Windows no Xen PV).
O Xen HVM e o Linux KVM usarão partes do software de virtualização qemu para emular o hardware real de dispositivos que não usam drivers fotovoltaicos no sistema convidado.
O Xen (PV e HVM) pode fazer a migração ao vivo de um convidado em execução de um servidor físico para outro, não sei se o KVM também pode.
O Xen e o KVM não podem comprometer demais a memória, de modo que você geralmente obtém "RAM verdadeira", enquanto outras plataformas como a VMware podem trocar parte da ram convidada em disco.
Existem diferenças, mas geralmente se aplicam a instalações específicas e não ao servidor privado virtual genérico para venda a outras pessoas. Por exemplo, os hipervisores Xen recentes suportam memória transcendente que poderia melhorar a utilização da memória e o desempenho do convidado se o convidado tiver suporte para ele (kernels linux> = 3.algo).
Todas essas tecnologias oferecerão uma ótima experiência se forem implementadas corretamente e não farão grande diferença do seu ponto de vista. Obviamente, existem milhares de maneiras pelas quais as coisas podem dar errado e isso não está relacionado à solução específica de virtualização (ou seja, seu convidado pode ser armazenado em discos lentos e isso prejudicaria seu desempenho).
fonte