Cluster de Virtualização com Ganeti

Ganeti é uma solução para gerenciamento de Cluster de Virtualização muito robusta, viável, moderna e escalável, largamente utilizada pela Google e pela comunidade, com Ganeti o gerenciamento do ambiente virtual é centralizado lhe dando total controle do ambiente, facilitando, agilizando e controlando o ambiente virtual e consequentemente maximizando os recursos de hardware dos servidores.

[ Hits: 60.295 ]

Por: Diego em 01/09/2011


Overview, Terminologia, Qualidades e Limitações



Overview

O artigo surgiu após varias pesquisas na internet, muitas fontes serão citadas no final do artigo e os devidos créditos atribuídos, o artigo tem a finalidade de ajudar aqueles que estão entrando no mundo da virtualização e precisam de um ponta pé inicial.

Esse Artigo não aborda a instalação do Debian Squeeze 64 bits, partiremos do principio que você já tenha o mesmo instalado.

Nesse Artigo teremos 2 Nós no Cluster com a seguinte configuração:

Nó 1 - node1.google.com.br - Master
  • Memória 1GB;
  • Disco 0 - 10GB;
  • Disco 1 - 30GB;
  • NIC 1.
Nó 2 - node2.google.com.br - Master Candidato
  • Memória 1GB;
  • Disco 0 - 10GB;
  • Disco 1 - 30GB;
  • NIC 1.
Todo o Artigo foi testado em ambiente virtualizado com KVM 0.14 e Virt-Manager 0.8.5 no openSUSE 11.4 64 bits.

Utilizei somente o disco 0 de cada nó durante a instalação do Debian Squeeze, o disco 1 de cada nó não foi alterado durante a instalação, ele será utilizado posteriormente exclusivamente para o LVM.

Obs.: Os passos descritos no artigo devem ser aplicados em ambos os nós do Cluster "node 1 e node 2". Os passos que devem ser aplicados somente no Nó Master "node 1" eu avisarei.

Ganeti Terminologia
  • Cluster - Um conjunto de Nós, trabalhando em conjunto, ordenados por um Nó master;
  • - Uma máquina Física, um host físico ou Dom0;
  • Instância - Uma máquina Virtual, Guest ou DomU;
  • Migration - Ato de transferir uma instancia de um Nó para o outro, pode ser Live ou não;
  • Failover - Ato de efetuar a recuperação de falha de uma instância ou de um Nó inteiro;
  • Nó Primário e Secundário - Quando uma instância é criado com recursos de alta disponibilidade, deve-se definir quem será seu Nó Primário e quem será seu Nó Secundário em caso de falha do Nó Primário;
  • Master - Nó responsável pelo gerenciamento do Cluster;
  • Master Candidato - Nó que possui todo o conhecimento da situação atual do cluster, possui a habilidade de se tornar o Master do Cluster em caso de falha do master - MasterFailover;
  • Regular Nó - Um Nó comum em operação em Cluster Grande de 6 até 40 Nós;
  • Drained Nó - Um Nó que não pode receber instâncias, provavelmente está sendo evacuado para manutenção;
  • Offline Nó - Um Nó do Cluster com problema ou desligado para manutenção.

Ganeti Qualidades
  • Opensource - GPLv3;
  • Desenvolvido e utilizado pela Google e comunidade;
  • Desenvolvimento constante;
  • Não é necessário Storage compartilhado. Ex SAN, NAS;
  • Restauração fácil e rápida do ambiente;
  • Robusto e escalável;
  • Alta Disponibilidade;
  • Suporte a Failover de instâncias;
  • Suporte a Failover entre Nós do Clusters;
  • Backup online de instâncias do cluster;
  • Live Migration de instâncias;
  • Suporte a Migração de instâncias entre Clusters distintos;
  • Suporte a Múltiplos Hypervisors - Xen e KVM em breve OpenVZ;
  • Cluster hibrido com Xen PVM e Xen HVM;
  • Suporte a Deploy de diferentes instâncias em lote;
  • Utiliza Ferramentas nativas do mundo Unix - DRBD, LVM2 e Python;
  • API de fácil entendimento possibilitando integração e construção de plugins;
  • Suporta até 40 Nós por Cluster;
  • Suporta Rebalancer automático de instâncias entre Nós;
  • Suporta alocação automática de instâncias;
  • Mensuração de Escalabilidade do Cluster;
  • Interface gráfica é opcional para o gerenciamento do Cluster com Ganeti Web Manager.

Ganeti Limitações
  • Ainda não Suporta Failover automático de instâncias e nós;
  • Ainda não suporta hot-plug de recursos nas instâncias;
  • Não suporta CLVM.
    Próxima página

Páginas do artigo
   1. Overview, Terminologia, Qualidades e Limitações
   2. Arquitetura do Cluster e Pre Requisitos
   3. Instalação e configuração do Xen, DRBD e LVM2
   4. Configurando a Rede e Instalando o Ganeti
   5. Preparando, Configurando e Inicializando o Cluster
   6. Criando instâncias no Cluster
   7. Gerenciando as instâncias e Nós do Cluster
   8. Problemas comuns e Referencias Bibliograficas
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Criando uma imagem de instalação do Ubuntu

Instalando o Vivo Zap no openSuSE 10.2

Instalando e configurando openVPN no Debian Lenny

Webacula - Instalação e Configuração no Ubuntu 10.04

Passando o Slackware 10.2 em Inglês para o Português

  
Comentários
[1] Comentário enviado por dolivervl em 01/09/2011 - 23:17h

Cara so tenho uma palavra para descrever esa ferrramenta e seu artigo: SEMSACIONAL!!!!!
Parabens !!!!!

[2] Comentário enviado por dfsantos em 02/09/2011 - 09:19h

vlw dolivervl

Abaixo segue algumas informações adicionais para os interessados.

site do ganeti web manager para quem tem interesse em administrar um cluster de grande porte, uma interface grafica é essencial.

http://code.osuosl.org/projects/ganeti-webmgr

Pra quem tem interesse em obter o script de instalação automatizada de instancias como centos entre outras distros.

http://code.osuosl.org/projects/ganeti-image

Tambem possui informações para deploy de instancias windows.

[3] Comentário enviado por madtrek em 02/09/2011 - 09:34h

Bom dia ...

Artigo interessante ...

Porém eu encontrei uma discrepância muito esquisita no texto !

Na introdução o Sr. menciona que usará o KVM, e diz até mesmo qual versão do KVM ( 0.14 ) e no entanto, na sequência do texto o Sr. usa XEN ?!?!?

Fábio Rabelo

[4] Comentário enviado por dfsantos em 02/09/2011 - 09:39h

KVM foi onde eu instalei os dois nos amigo, para fins de teste. Usei um ambiente virtualizado para virtualizar =D

[5] Comentário enviado por dfsantos em 02/09/2011 - 09:40h

correção - Saindo do console da instância, pressione CTRL+]. colchete

[6] Comentário enviado por dfsantos em 02/09/2011 - 12:03h

Dica de configuração.

Crie um bond (nic teaming) exclusivo para o trafego das replicações de disco do DRBD.

[7] Comentário enviado por removido em 02/09/2011 - 14:18h

Muito bom o artigo. Irei testar a ferramenta.

Abraço.

[8] Comentário enviado por bigjoevt em 03/05/2012 - 21:25h

A ferramenta realmente é sensacional galera, porém estou tendo alguns problemas, se puderem ajudar.

1- Live migration gerando split-brain dos resources;
2- Live migration quando a máquina passa para o nó secundário ela inicia do boot e não de onde estava no nó primário;

Setup:
2x
AMD Dual-Core
2Gb
2NIC
1x80
LVM VolGroup0 10G
/ 9Gb
swap 1Gb
LVM xenvg 67G

Debian 6.0.4 x64 Kernel
Xen 4
DRBD 8.3
Ganeti 2.1.6

Ou seja os sources padrões dos repositórios, alguma dica please?


Contribuir com comentário