Gerenciamento de Cluster · 4 min read · Dec 09, 2025

Gerenciamento de Cluster Xen Com Ganeti No Debian Etch

Gerenciamento de Cluster Xen Com Ganeti No Debian Etch

Versão 1.0
Autor: Falko Timme

Ganeti é um sistema de gerenciamento de virtualização de cluster baseado em Xen. Neste tutorial, explicarei como criar uma máquina virtual Xen (chamada de instância) em um cluster de dois nós físicos e como gerenciar e fazer failover dessa instância entre os dois nós físicos.

Este documento vem sem garantia de qualquer tipo! Não dou nenhuma garantia de que isso funcionará para você!

[Atualização 21/01/2010] Recebi uma mensagem da equipe de desenvolvimento do Ganeti:

[…] Nos últimos meses, notamos o infeliz fato de que as pessoas tentam seguir suas instruções à risca e acabam instalando versões antigas ou muito antigas do Ganeti. Você poderia, por favor, atualizar ambos os tutoriais com notas dizendo que eles não estão atualizados para versões mais recentes do Ganeti e pedir às pessoas que olhem a documentação atualizada em http://docs.ganeti.org/ganeti/?

Este tutorial é baseado em uma versão antiga do Ganeti. Por favor, consulte a documentação atualizada em http://docs.ganeti.org/ganeti/.

1 Nota Preliminar

Ganeti ainda está em um estágio inicial. Neste momento, pode ser instalado em nós Debian Etch, e você pode criar máquinas virtuais com ele que usam Debian Etch também. Outras distribuições Linux devem teoricamente funcionar, mas ainda não há documentação.

Neste tutorial, usarei os nós físicos node1.example.com e node2.example.com:

  • node1.example.com: endereço IP 192.168.0.100; será o mestre do cluster.
  • node2.example.com: endereço IP 192.168.0.101; será o nó primário da máquina virtual (também conhecida como instância).

Ambos têm um disco rígido de 50GB, dos quais uso 10GB para a partição /, 1GB para swap e deixo o restante não particionado para que possa ser usado pelo Ganeti (o mínimo é 20GB!). Claro, você pode alterar a partição de acordo com sua preferência, mas lembre-se do espaço mínimo não utilizado.

O cluster que vou criar será chamado cluster1.example.com e também terá o endereço IP 192.168.0.100.

A máquina virtual Xen (chamada de instância na linguagem do Ganeti) será nomeada inst1.example.com com o endereço IP 192.168.0.105. inst1.example.com será espelhada entre os dois nós físicos usando DRBD - você pode ver isso como uma espécie de RAID1 de rede.

Como você vê, node1.example.com será o mestre do cluster, ou seja, a máquina a partir da qual você pode controlar e gerenciar o cluster, e node2.example.com será o nó primário de inst1.example.com, ou seja, inst1.example.com será executada em node2.example.com (com todas as alterações em inst1.example.com espelhadas de volta para node1.example.com com DRBD) até que você faça o failover para node1.example.com (se você quiser desligar node2.example.com para manutenção, por exemplo). Esta é uma configuração ativa-passiva.

Acho que é uma boa prática dividir os papéis entre os dois nós, para que você não perca o mestre do cluster e o nó primário ao mesmo tempo, caso um nó falhe.

Nos meus testes, usei dois sistemas com 204MB de RAM cada para node1 e node2. Isso é bastante baixo, e você deve usar consideravelmente mais RAM, especialmente em sistemas de produção. Para meus testes, estava ok. Devido à baixa RAM, restrinjo meus dom0s Xen (node1 e node2) para usar 64MB de RAM. O guia de instalação do Ganeti diz que 512MB são razoáveis - eu acho que 256MB também deve funcionar. De qualquer forma, seu sistema deve ter mais RAM do que o que você especifica para dom0, para que haja RAM suficiente sobrando para a(s) máquina(s) virtual(is).

Uma última coisa a notar é que todos os nomes de host mencionados aqui devem ser resolvíveis para todos os hosts, o que significa que eles devem existir no DNS, ou você deve colocar todos os nomes de host em todos os arquivos /etc/hosts em todos os hosts (que é o que farei aqui).

Ok, vamos começar…

2 Instalando Um Sistema Base Debian Nos Nós Físicos

Configure um sistema Debian Etch mínimo em ambos node1 e node2:

node1/node2:

Insira seu CD de instalação Netinstall do Debian Etch em seu sistema e inicialize a partir dele. Pressione ENTER para inicializar:

A instalação começa, e primeiro você deve escolher seu idioma:

Em seguida, selecione sua localização:

Escolha um layout de teclado:

O instalador verifica o CD de instalação, seu hardware e configura a rede com DHCP se houver um servidor DHCP na rede:

Digite o nome do host. Para node1.example.com, digite node1, para node2.example.com, digite node2:

Digite seu nome de domínio. Neste exemplo, é example.com:

Agora precisamos particionar o disco rígido. Como declarado no capítulo 1, quero uma partição / de 10GB, uma partição swap de 1GB e deixar o restante não particionado. Selecione Manual como o método de particionamento:

Selecione o disco rígido:

Selecione Sim quando perguntado Criar nova tabela de partição vazia neste dispositivo?:

Selecione o espaço livre no disco rígido:

Escolha Criar uma nova partição:

Digite 10 GB como o tamanho da partição (ou qualquer tamanho que você queira que a partição / tenha):

Escolha Primária como o tipo de partição:

Selecione Início:

Certifique-se de que você definiu a flag Bootable como ativada, em seguida, selecione Concluído ao configurar a partição:

A partição / agora está configurada. Agora vamos criar a partição swap. Selecione o espaço livre novamente:

Escolha Criar uma nova partição novamente:

Digite 1 GB como o tamanho da partição (ou qualquer tamanho que você queira que a partição swap tenha):

Escolha Primária:

Selecione Início:

Em seguida, vá para a linha Usar como: e pressione ENTER:

Selecione área de swap:

Depois, escolha Concluído ao configurar a partição:

Em seguida, selecione Finalizar particionamento e gravar mudanças no disco (certifique-se de que você tenha pelo menos 20 GB de espaço em disco não particionado):

Selecione Sim quando perguntado Gravar mudanças nos discos?:

Depois, suas novas partições estão sendo criadas e formatadas:

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.