Ganeti

From Wiki do Departamento de Informática

Jump to: navigation, search

Documentação ainda não está finalizada!

Contents

[edit] Configuração de cada nó

  • Ter nome e reverso corretos
  • Comentar o include de *.res em /etc/drbd.conf
  • Configurar a bridge br0
  • Criar um VG chamado pool
  • Liberar ssh entre os nós
  • Cadastrar uma senha de root
  • Ajustar sshd_config p/ porta 694
  • Instalar os pacotes ganeti2 ganeti-htools ganeti-instance-debootstrap
  • Instalar o script ganeti-kvm-poweroff em /etc/init.d

Comandos manuais:

mkdir /root/.ssh
echo "Port 694" > /root/.ssh/config
echo drbd minor_count=128 usermode_helper=/bin/true >> /etc/modules
echo "sshd: @admsis @colussus" >> /etc/hosts.allow
wget -O /boot/installers/centos5-vmlinuz-x64 http://mirrors.ic.unicamp.br/centos/5/os/x86_64/images/pxeboot/vmlinuz
wget -O /boot/installers/centos5-initrd-x64 http://mirrors.ic.unicamp.br/centos/5/os/x86_64/images/pxeboot/initrd.img

Ajustes nos scripts de inicialização

vim /etc/init.d/ganeti
# Required-Start:    $syslog $remote_fs drbd
# Required-Stop:     $syslog $remote_fs drbd ganeti-kvm-poweroff
<salve>

Instalar o script ganeti-kvm-poweroff e depois:

insserv -v

[edit] Criando o cluster

O nome do cluster deve existir no DNS e ter um IP alocado para exclusivamente para ele. No caso criei o nome colossus.ic.unicamp.br.

No nó que comecará como primário:

# gnt-cluster init --enabled-hypervisors=kvm --no-etc-hosts --vg-name=pool --nic-parameters="mode=bridged,link=br0" --master-netdev br0 -s 10.0.0.1 colossus.ic.unicamp.br 
# gnt-cluster modify -H kvm:kernel_path=,kernel_args=,acpi=true,disk_cache=writeback,security_model=user,security_domain=kvm <ajustando alguns parâmetros padrões>

Os daemons são iniciados, a configuração de dados é iniciada em /var/lib/ganeti e automaticamente o nó já entra no cluster.

[edit] Colocando um nó no cluster

Comandos devem ser sempre executados no nó master:

# gnt-node add -s 10.0.0.2 node02.ic.unicamp.br <vai pedir senha de root do nó, usar IP secundário para replicação>

Os daemons já são levantados automaticamente e o ssh configurado.

copiar o instalador do CentOS, para criação de máquinas virtuais:

# gnt-cluster copyfile -n node02 /boot/installers/centos5-vmlinuz-x64
# gnt-cluster copyfile -n node02 /boot/installers/centos5-initrd-x64 

Ajustar instância p/ centos

# gnt-cluster command -n node02 "mkdir /usr/share/ganeti/os/centos"
# for i in $(ls /usr/share/ganeti/os/centos/); do
     gnt-cluster copyfile -n node2 /usr/share/ganeti/os/centos/$i;
 done 

[edit] Criando instâncias (maquinas virtuais)

O FQDN da VM tem que já estar cadastrado no DNS.

  • Com alocação automática:
# gnt-instance add -t drbd -B memory=512 --disk 0:size=10g --iallocator hail -o centos+default --no-start prcolor.ic.unicamp.br
  • Com alocação manual (node03 primário, node01 segundário):
# gnt-instance add -t drbd -B memory=512 --disk 0:size=10g -n node03:node01 -o centos+default --no-start prcolor.ic.unicamp.br 
  • Bootar a VM no instalador do CentOS e usar o kickstart (instalação totalmente automatizada):
# gnt-instance startup -H "kernel_path=/boot/installers/centos5-vmlinuz-x64,initrd_path=/boot/installers/centos5-initrd-x64,kernel_args=linux cmdline ks=http://mirrors.ic.unicamp.br/centos/ks/prcolor.cfg ip=143.106.7.10 netmask=255.255.255.192 dns=143.106.7.31 console=ttyS0" prcolor
  • Cchamando o console serial para acompanhar a instalação:
# gnt-instance console prcolor

[edit] Referências sobre o Ganeti

Personal tools