Was this page helpful?

Ganeti Instance Image

    1) Introdução

     

    Este tutorial é um guia de configuração do Ganeti Instance Image (GII) e de criação de imagens de máquinas virtuais.

    Com o GII, é possível criar uma instância a partir de um clone de uma VM, dispensando a instalação do SO a partir de uma imagem iso. Além de prática, a ferramenta poupa tempo pois em apenas alguns instantes cria-se uma instância por meio do GII.

     

    2) Criar imagem

     

    Nesta sessão será abordada a criação de imagens de máquinas virtuais do tipo plain, ou seja, cujos discos rígidos são volumes lógicos LVM armazenados no respectivo nó. Criar VMs no modo plain é recomendável quando o recurso de alta disponibilidade não é usado (DRBD). Abaixo seguem os passos para criar uma imagem:

    a) Primeiramente, é preciso desligar a VM que será a base da imagem. Nunca desligue com o comando shutdown! Sempre desligue uma VM por meio do Ganeti, seja por linha de comando ou por meio do GWM.

    b) A partir do nó master do cluster, ative os discos da VM a partir do comando gnt-instance activate-disks nome_da_vm.

    c) Ainda no nó master, é preciso saber qual é o volume lógico da VM. Digite o comando gnt-instance info nome_da_vm. Na sessão Disks, terá uma informação semelhante à seguinte linha:

    on primary:  /dev/cluster/03939150-d5e4-4468-b678-11a03e48822d.disk0 (254:9)
    


    onde a string cluster é o nome do Volume Group da LVM do nó e a string subsequente é o link simbólico do disco da VM.

    d) No nó onde se encontra a VM, entre no diretório /dev/mapper e encontre o link simbólico da VM equivalente ao que se encontra no diretório /dev/nome_do_volume_group. A nomenclatura dos links é um pouco diferente. Veja uma comparação:

     

    /dev/cluster/03939150-d5e4-4468-b678-11a03e48822d.disk0
    /dev/mapper/cluster-03939150--d5e4--4468--b678--11a03e48822d.disk0
    

     

    Observe que a sequência de números e letras do link simbólico é a mesma, o que muda é apenas a nomenclatura.

    Após a identificação da VM, entre no diretório /dev/mapper e digite o comando kpartx -l -p- link_simbólico_da_vm.

    Exemplo:

    kpartx -l -p- cluster-03939150--d5e4--4468--b678--11a03e48822d.disk0
    


    O kpartx é um aplicativo que separa as partições de um volume lógico. Como as partições de uma VM permanecem inclusas dentro de um único volume lógico (volume lógico da VM), é preciso separá-las para criar uma imagem de cada partição. O kpartx atua criando outros volumes lógicos para cada uma. O resultado do comando acima é apenas a simulação do desmembramento das partições. Veja um exemplo da saída deste comando.

     

    cluster-03939150--d5e4--4468--b678--11a03e48822d.disk0-1 : 0 208782 /dev/cluster/03939150-d5e4-4468-b678-11a03e48822d.disk0 63
    cluster-03939150--d5e4--4468--b678--11a03e48822d.disk0-2 : 0 14458500 /dev/cluster/03939150-d5e4-4468-b678-11a03e48822d.disk0 208845
    

     

    Como se pode notar, o disco possui duas partições. Tenha como referência o número de blocos de cada partição (2º número após o nome do link simbólico de cada partição). Neste caso, podemos supor, ao analisar o tamanho, que a primeira partição é uma partição swap ou /boot. Se a partição for /boot, será necessário fazer um clone (dump) desta. Não é preciso clonar partições swap. Para saber o esquema de particionamento da VM, faça o login nela e consulte o arquivo /etc/fstab.

    Para desmembrar as partições, digite o seguinte comando:

     

    kpartx -a -p- cluster-03939150--d5e4--4468--b678--11a03e48822d.disk0
    

     

    Este comando cria os link simbólicos discutidos acima.

    e) Crie um diretório de armazenamento de imagens. Por exemplo, /srv/ganeti/instance-image.

    f) Faça o dump das partições da VM por meio dos comandos:

     

    dump -0 -q -z9 -f /srv/ganeti/instance-image/debian-6.0.5-x86_64-boot.dump /dev/mapper/cluster-03939150--d5e4--4468--b678--11a03e48822d.disk0-1
    dump -0 -q -z9 -f /srv/ganeti/instance-image/debian-6.0.5--x86_64-root.dump /dev/mapper/cluster-03939150--d5e4--4468--b678--11a03e48822d.disk0-2
    


    Neste caso, estamos considerando que a primeira partição é /boot. Como pode ser observado, a nomencaltura da imagem deve obedecer o seguinte padrão: nome_do_SO-arquitetura-partição.dump. Isto vai ficar mais claro na próxima sessão, a de configuração do GII.

    g) Após criar a imagem, desfaça o desmembramento das partições com o comando:

     

    kpartx -d cluster-03939150--d5e4--4468--b678--11a03e48822d.disk0
    

     

    h) A partir do nó master, desative o volume lógico da VM com o comando:

    gnt-instance deactivate-disks nome_da_vm
    

     

    3) Configuração do Ganeti Instance Image

     

    O arquivo de configuração do GII é o /etc/default/ganeti-instance-image, o qual possui as seguintes opções:

     SWAP=no                   #yes or no
     FILESYSTEM="ext4"         #ext3 or ext4
     IMAGE_NAME="debian-6.0.5"
     IMAGE_TYPE="dump"         #qemu, tarball or dump
     IMAGE_DIR="/srv/ganeti/instance-image"
     ARCH="x86_64"             #x86 or x86_64
     CUSTOMIZE_DIR="/etc/ganeti/instance-image/hooks"
     IMAGE_DEBUG=0
    

     

    As principais opções para configurar são: SWAP (indica se a imagem da VM tem ou não partição swap), FILESYSTEM (apenas os sistemas de arquivo ext3 e ext4 são suportados), IMAGE_NAME, IMAGE_TYPE (que neste caso é dump) e ARCH (neste caso, x86_64, ou seja, 64bits).

    É interessante configurar este arquivo a partir do nó master e copia-lo para todos nós restantes a partir do comando gnt-cluster copyfile /etc/default/ganeti-instance-image, em vez de fazer a mesma configuração em cada nó.

    O GII possui alguns scripts de configuração que são executados no período pós-criação de uma instância a partir de uma imagem. No caso de uma imagem do tipo dump, é preciso configurar o grub da VM após sua criação. O GII faz a configuração automaticamente, basta dar permissão de execução ao arquivo /etc/ganeti/instance-image/hooks/grub.

    Was this page helpful?
    Marcadores (Editar marcadores)
    • No tags
    Estatísticas da página
    2493 view(s), 6 edit(s) and 7924 character(s)

    Comentários

    Faça o login para escrever um comentário.

    Anexar arquivo

    Anexos