
O que é mais rápido no mesmo hardware, Xen ou KVM?
Estou tentando escolher uma tecnologia de virtualização para funcionar, que ofereça o melhor desempenho.
Existem alguns benchmarks aqui que encontrei sobre o assunto: http://virt.kernelnewbies.org/XenVsKVM
Eles mostram o KVM como vencedor, com diferença significativa de desempenho - o que vai contra a ideia de que o KVM é um hipervisor tipo 2, e por definição deveria ser mais lento que os hipervisores tipo 1 (como o Xen) - ou pelo menos o que o dizem artigos na web.
Alguma ideia sobre o assunto?
Responder1
Esse benchmark compara apenas a velocidade do sistema operacional nativo com a de um único sistema operacional convidado. Dificilmente é um teste do mundo real. Acho que não daria muito peso a isso. A maior parte do campo KVM argumenta que o Xen requer muitas interrupções e saltos entre o kernel e o espaço do usuário, mas na maioria dos benchmarks do mundo real que eu vi isso não foi realmente realizado e o Xen parece ser um pouco mais rápido do que KVM.
Desculpe, não tenho um link para fazer backup disso à mão. Mas direi que o KVM está melhorando rapidamente e parece estar alcançando rapidamente o conjunto de recursos e a estabilidade.
Quanto a qual abordagem é melhor. O grupo Xen argumentará que um hipervisor verdadeiramente leve requer virtualização para ser seguro e rápido. O Xen também está começando a ser suportado em firmware por alguns fornecedores, o que também é bom. O grupo KVM argumentará que o KVM é mais simples e que o Linux é capaz de ser um bom hipervisor.
No final, ainda não está claro qual direção acabará por vencer. Xen certamente está na frente e já possui uma boa participação de mercado. Mas ainda não está no kernel principal. Esperamos que isso mude em breve e certamente tem havido muita conversa sobre isso na lista de kernels nos últimos meses. A Red Hat está no campo KVM agora e irá promovê-lo como a plataforma de virtualização preferida. O Red Hat Linux 5.4, que será lançado em breve, será o primeiro a incluí-lo. Portanto, isso provavelmente atrairá lojas que ainda não lançaram ou não se comprometeram com uma plataforma de virtualização.
No que diz respeito às ferramentas, tanto o Xen quanto o KVM usam libvirt e QEMU e as ferramentas associadas a eles. Portanto, eles compartilham muitas das mesmas ferramentas, como o virt-manager.
Usamos o Xen no trabalho e funciona bem para nós. Mas estou pesquisando o KVM devido a alguns problemas de encaminhamento de USB e passagem de PCI que não consegui resolver com o Xen. Não tenho certeza se o KVM é melhor nisso, mas acho que descobrirei assim que tentar. Uma coisa que notei ao pesquisar meus problemas de USB é que a documentação do KVM é mais avaliável e organizada em comparação com a do Xen. Mas não existe uma plataforma de virtualização perfeita, então você precisará descobrir o que faz sentido para você.
Responder2
Pessoalmente, eu escolheria a virtualização com base na usabilidade, suporte, confiabilidade e adequação às máquinas virtuais que você está usando.
As taxas de transferência de dados da rede Xen parecem tão boas quanto as do hardware real, mas também tive algumas batalhas com Xen e vLans e várias placas Ethernet. Não tenho experiência com KVM, mas também sugiro que você considere o VMware ESX(i).
Responder3
Você encontrará informações muito interessantes sobre o assunto na seguinte apresentação:Comparação quantitativa de Xen e KVM
A pessoa que fez isso é um especialista em Xen, mas a comparação parece bastante justa.
Responder4
FWIW: A resposta depende inteiramente das suas necessidades, agora e no futuro.
Sim, eu sei que é uma resposta inútil. Infelizmente, é verdade. Sua escolha de virtualização afetará praticamente tudo o que você fizer depois, então você precisa se fazer algumas perguntas.
(1) A diferença entre 97% de desempenho nativo e 96% de desempenho nativo (números retirados do ar) é realmente tão importante para você?
(1a) Se um se sai melhor com o acesso ao HD (o que realmente implica que você está usando um banco de dados incrível ou não pode pagar pela RAM extra), e o outro se sai melhor com a rede, o que é mais importante para você ?
(2) Você está confiante ao usar as ferramentas fornecidas com qualquer uma das soluções?
(3) O fato de um ser (mais ou menos) nativo dos kernels Linux recentes, e o outro não, faz diferença?
(3a) Você agora, ou já esteve... er... algum dia precisará executar um sistema operacional diferente sob virtualização? Não precisa ser Windows. Pode ser o FreeBSD, ou mesmo o Haiku, ou qualquer outra coisa. (Xen provavelmente vence aqui, mas sugiro que você verifique.)
Olhando o quadro geral, vejo o KVM como a resposta do Linux às zonas Solaris. (Prefiro ter zonas Solaris, mas vejo o paralelo.) Vejo o Xen como uma tecnologia de hipervisor madura com suporte para vários sistemas operacionais, mas se você não precisa de vários sistemas operacionais, isso não importa muito.
Para ser absolutamente honesto, você não pode errar de qualquer maneira (dadas as advertências acima). Prefiro Xen, porque estudei em Cambridge; mas então, se eu trabalhasse para RH, provavelmente preferiria KVM.