O estado do XEN vs KVM para o farm de servidores virtuais internos, como o live farm

3

então temos um LifeServer Farm, material convencional não virtualizado. Isso é para ficar assim durante o tempo. Os servidores sobre os quais estamos falando são: Loadbalancer, DB master, DB Slaves (2x), Webservers (2x), servidor CMS. Tudo em todos os 7 servidores por farm.

Queremos ter uma ou mais "cópias" exatas da estrutura de vida para fins internos.

  • Testes / preparo: para encontrar erros antes da transmissão ao vivo, caso não usemos a mesma configuração de software
  • Depuração / teste de desempenho: o mesmo que testar, mas com ferramentas adicionais. depurar flags e isolado do Tetsing / Staging para não interferir com o QA. Pretende obter uma visão mais profunda de como as coisas estão em nossos sistemas ao vivo
  • Desenvolvimento / Experimental: Alteração de componentes do sistema, versões de software, bibliotecas e configuração para melhorar o desempenho, a eficiência do desenvolvedor, a proteção do futuro de nossos sistemas, etc.

Em todos os três "farms" virtuais, cada um tem 7 servidores virtuais, perfeitamente isolados.

Agora sei que isso pode ser conseguido com muitos tipos diferentes de virtualização. As perguntas são, qual é o melhor? VMware não sendo open source não é nada que gostaríamos de usar em um ponto de vista estratégico. Olhando para XEN e KVM, os dois maiores players da virtualização de código aberto, eu adoraria ouvir alguns conselhos sobre o que / como selecionar. A Web parece indecisa.

Informações adicionais:

  • "tempo de vida" do hardware do servidor que compramos será de 2 a 3 anos
  • Existe a possibilidade de migrar sistemas para ambientes de nuvem posteriormente, se isso for um fator a ser considerado na seleção da tecnologia de virtualização
  • O isolamento de farms de servidores / servidores em cenários de carga alta é importante. QA não deve sofrer quando alguém destrói a fazenda experimental
  • O uso eficiente de recursos é naturalmente apreciado (overcommitment de memória / páginas compartilhadas? Automaticamente objetos compartilhados no disco rígido como o hashify linux-vserver?)
  • Exigências de manutenção regulares e facilidade de gerenciamento

Eu sei que as coisas estão fluindo, mas eu apreciaria se você me dissesse sua opinião sobre o que escolher agora, vendo que queremos viver com a técnica por pelo menos 3 anos, construir e reutilizar o know-how. Também talvez no final todos possamos perceber que nem um, XEN ou KVM estão decidindo a batalha, mas outros fatores. A iluminação a esse respeito é ainda mais valiosa para nós agora.

p.s .: e não deixa chama: D

    
por Christoph Strasen 26.08.2010 / 13:54

4 respostas

7

Nós usamos o Xen atualmente, mas acho que em 2011 estaremos migrando para o KVM. Existem algumas razões:

  • O desenvolvimento do KVM está mais integrado ao kernel do Linux do que o desenvolvimento do Xen.
  • O KVM vms é executado como um processo no kernel do Linux. Isso tem muitas implicações, como agendamento, gerenciamento de memória e etc. Isso também permite que o KVM faça overcommit de memória (é simplesmente trocar a memória de processo / VM) e tudo o que está usando código testado e comprovado do núcleo. O Xen usa seu próprio código para fazer tudo isso e, embora não seja ruim, ele não é testado e comprovado como o kernel do Linux.
  • O virt completo parece funcionar melhor no KVM.

O ponto principal contra o KVM é o desempenho, mas os últimos relatórios usando o driver VirtIO no Linux e Windows VMs parecem tornar esse ponto cada vez menos proeminente.

Quanto ao gerenciamento das máquinas, eu uso ganeti . O Ganeti é um sistema de gerenciamento de servidor virtual de cluster no qual você adiciona seus nós e pode realizar todas as operações com as VMs nesses nós, como criação, inicialização, reinicialização, migração etc. Também suporta a criação de instâncias DRBD que espelham imagens de disco dois nós fornecendo failover / migração automática se um dos nós falhar. Suporta KVM ou Xen, mas não clusters mistos. O Ganeti é baseado em texto, mas há um projeto de interface da web que está indo muito bem. Usando o ganeti + debootstrap, podemos implantar / clonar vários tipos de vms muito rapidamente, fazer instantâneos do LVM a partir de discos para testes e assim por diante, então eu acho que isso vai te dar cobertura.

Lembre-se de que, não importa o que você escolha, você nunca deve virtualizar máquinas de E / S altas, como servidores de arquivos ou bancos de dados, e espera que elas funcionem da mesma forma. Em alguns casos, as VMs de E / S altas podem até degradar todas as outras VMs em um host. Nem tudo pode ser virtualmente virtualizado.

EDIT: Desde que você mencionou testes e desenvolvimento, leia este artigo . Estou pensando em montar algo muito próximo disso.

    
por 01.04.2011 / 05:28
0

Colocar um amor pelo código aberto antes que a necessidade da empresa por uma solução confiável e altamente disponível seja perigosa. Há uma razão pela qual o free ESXi e o Hyper-V Server são tão populares. Além do suporte pago ser relativamente mais barato, há muito mais especialistas andando por aí.

Dito isso, XenServer é suportado por Cirtix; e KVM / QEMU é apoiado por Red Hat (e possivelmente outros, eu não sou tão em cima isto); mas apenas em certas configurações, então é algo para se assistir. O Xen suporta o formato VHD nativamente, e o arquivo VHD pode ser transferido entre o Hyper-V, o Virtual Server, o Virtual PC e o Xen sem modificação (as limitações de tamanho se aplicam ao VPC). O KVM usa o formato qcow2; que ninguém mais usa, embora possa ser convertido em outros formatos com utilitários de terceiros. Também há menos ferramentas de gerenciamento disponíveis para esses servidores.

    
por 26.08.2010 / 15:17
0

Se você estiver usando apenas o Linux e tiver certeza de que será assim por muito tempo (ou seja, enquanto estiver trabalhando lá ou enquanto outra decisão estratégica migrar seus servidores para a nuvem ou em qualquer lugar), você pode tentar o KVM ou o Xen Open Source. Além disso, se você usar uma distribuição que contenha um kernel pronto para xen (ou seja, paravirtualizado) (Debian / Ubuntu, pelo menos), o Xen é uma ótima escolha. Provavelmente o KVM também, mas eu recomendo o Xen porque é com isso que eu estou mais familiarizado. YMMV. Combinar o Xen e o Pacemaker para clusters de VMs é algo que fizemos algumas vezes com bons resultados.

Agora, se você tiver vários / muitos sistemas Windows, eu gastaria alguns dólares e iria para o XenServer. A versão paga oferece a você (IIRC; por favor, verifique para confirmar) a alta disponibilidade e o XenCenter, o console baseado no Windows que torna tudo mais fácil. Você pode executar o Windows no Xen Open Source também, mas é um pouco mais complicado. Além disso, há a versão gratuita do XenServer, mas acho sua linha de comando obscura e difícil. Você poderia dominá-lo, mas levará algum tempo.

Lembre-se de que, ao usar o XenServer, você precisará dos "utilitários convidados" ou "drivers PV". Sem eles, o desempenho vai sofrer.

    
por 26.08.2010 / 16:19
0

XEN-hy tente fazer isso estamos usando os últimos 2 anos como tal sem problemas até agora! estamos usando a versão antiga

    
por 26.08.2010 / 16:25