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;
- Nó - 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.