Dicas 16 dez 2009 08:57 am

Usando kernel vanilla como domU no Xen

O Xen é um dos paravirtualizadores mais famosos do mercado e seu uso está cada vez mais difundido a cada dia que se passa.

Configurar uma instalação básica do Xen nas principais distribuções não é muito difícil e no Gentoo não é diferente. Em geral o processo envolve instalar um kernel customizado no dom0 (a “máquina real”), e instalar os utilitários do Xen também no dom0. Se a CPU em questão tiver suporte a virtualização (flag  svm em arquitetura AMD, ou vmx em arquitetura Intel) é possível utilizar para os domU’s (as “máquinas virtuais”) qualquer versão de Kernel ou de Sistema Operacinal, não necessitando que o mesmo tenha sido previamente preparado (patch) para utilização sob o Xen.

Caso a CPU não tenha suporte a virtualização, é necessário utilizar um Sistema Operacinal ou Kernel devidamente adaptado, o que não costuma ser uma tarefa muito complicada visto que as principais distribuições já orefecem pacotes prontos. No Gentoo apenas é necessário compilar uma versão do mesmo kernel utilizado no dom0 porém com os devidos recursos que dão suporte a inicialização e execução do domU.

Até ai, tudo corre muito bem, sem muitos problemas, no entanto, quando é necessário utilizar uma versão específica de kernel para o domU é que o problema começa, principalmente se for necessário utillizar uma das versões mais recentes do kernel, visto que os patches de suporte ao Xen não costumam ser disponibilizados com a mesma frequência que novas versões do kernel.

Felizmente desde a versão 2.6.23 o kernel vanilla (padrão) do Linux conta com suporte nativo a virtualização, possibilitando que o mesmo seja iniciado como um domU sob o Xen. Para tanto é necessário habilitar no kernel as seguintes opções:

Continue Reading »

Sem categoria 28 out 2007 06:12 pm

Xen e LVM – Uma bat-dupla perfeita

Acho que uma das maiores dificuldades pra quem trabalha com informática (especialmente na administração de redes) é conseguir se manter atualizado em meio a tanta tecnologia que surge e/ou se atualiza a cada dia.
Frequentemente são criadas novas versões de softwares que as vezes podem não ser 100% compatíveis com as versões anteriores e nesse caso pode ser necessário uma reconfiguração ou adaptação da configuração anterior, e claro, surgem também novos softwares/soluções que aprimoraram os já existentes ou criam novos conceitos que devem ser no mínimo estudados.

Já há algum tempo resolvi experimentar o XEN como solução de virtualização já que o VMWare Server apesar de prático e com versão Free, não é um software livre.
Inicialmente tive algumas dificuldades para entender as configurações necessárias pois ao contrário do VMWare o Xen não tem interface gráfica para configura-lo/visualiza-lo, mas nada que um pouco de pesquisa, tentativas e erros não resolvessem.
Em pouco tempo eu já tinha um kernel linux sendo iniciado no meu terminal e em poucos segundos um prompt de login.
Logo surgiram mil idéias de aplicação da tecnologia e resolvi que meus novos servidores deveriam ser virtualizados para facilitar a manutenção deles, mas ainda faltava algo, e é ai que entra o LVM, tornando o particionamento de discos o que ele já deveria ser há muito tempo, dinâmico e sem limites.

O LVM veio pra acabar com aquela limitação chata de 16 partições por disco e tornar prática a manutenção das mesmas. Com o LVM o processo de particionar o disco fica absolutamente dinâmico e objetivo além de mais organizado. Dentre outras recursos é possível por exemplo criar um snapshot de um sistema de arquivos em uso e cloná-lo para uma nova partição, e com isso facilitar a duplicação de uma máquina virtual do XEN em uso para por exemplo testar a nova versão do software XYZ que precisa que sua configuração seja adaptada para um novo formato, ou até mesmo para fazer backup de arquivos abertos de softwares que não podem parar.

E dai em diante como a maioria dos softwares livres, a imaginação é o limite. No caso da empresa em que trabalho, utilizo essas 2 soluções para facilitar a instalação e manutenção de nossos clusters de apache e postgresql.
No meu próximo artigo explicarei o uso tanto do XEN quanto do LVM para criar um serviço de alto desempenho.