Participei hoje do evento “VMware Virtualization Forum 2008“, patrocinado pela VmWare e suas patrocinadoras como a Intel, HP, CA, EMC… Embora o evento maior da VmWare se passe “lá fora”, o evento aqui no Brasil foi bem interessante e tiveram suas inscrições esgotadas.

Nintendo Wii

O evento foi gratuíto, contando com café da manhã, Coffee Break, Almoço e Coquetel de encerramento com o sorteio de alguns prêmios, como dois Ipod Touch e dois Nintendos WII, no qual eu tive a puta sorte de ganhar!!! :-D Nunca ganha nada em sorteio algum, porém dessa vez eu realmente preciso agradecer a Deus pelo presentão de aniversário que eu não teria condições de comprar!!! :-D Alias, agradeço de algum usuário desta maravilhosa tecnologia pudesse deixar alguns dicas para mim a respeito do console ;)

Bom, voltando ao evento em si, com tanta coisa “de graça” bancada pelos patrocinadores, era de se esperar que os mesmos tentassem vender seus produtos durante as palestras. Não gostei de ver apresentações com slides “shareados” dando aquela sensação estranha Deja’vu…

Portando, com as palestras mais voltadas ao publico gerencial e não técnico, o evento deve ter agradado as pessoas que não precisam saber como o motor funciona, querem apenas ligar a chave e esperam que o carro saiam andando — e seus técnicos que se virem para aprender como a coisa funciona :)

Na parte da manhã tivemos palestras muito interessantes como:

- a Polícia Federal, mostrando sua solução de Virtualização usando Blades (edizendo que os dados ainda não estão todos centralizados, portanto, teoricamente você ainda pode cometer um delito em cada cidade do brasil ;) )

- um estudo da IDC, muito bem apresentado com conteúdo técnico e gerencial bem dosado falando sobre as próximas tendências do mercado, e ainda sugerindo métodos para você virtualizar seu ambiente com a maior segurança possível;

- Tecnologia Quad-Core da Intel, mostrando os aspectos voltados à virtualização e prometendo novidades enormes ainda este ano;

- Case da PRODAM, mostrando os desafios de migrar um Data Center de local, arruma-lo e ainda Virtualizar para abstrair o Hardware. Não posso deixar de citar a quantidade de equipamentos velhos e obsoletos que faziam parte do DC deles, e também as duas toneladas de cabos de rede desnecessários que foram removidos durante a migração, pois os comentários que se escutava era: “está vendo o que é feito com o seu dinheiro dos impostos?” 8)

Acho ainda interessante dizer que na parte da tarde, a cada palestra de 1 hora o pessoal da vmware abriu um espaço de 15 minutos para algum parceiro deles falaram um pouco sobre a empresa, e por incrível que pareça, esses 15 minutos foram extremamente técnicos (NetApp, EMC e Sun com o Rafael Tinoco, que mandou muito bem no FISL 9.0) alegrando eu e mais o restante de público Nerd não-gerente ali presente.

Claro que eu já esperava que o evento seria mais voltado à executivos de Terno e Gravata do que para Nerds de Jeans e Camiseta, portanto não posso dizer que estou decepcionado pois eu sabia que isso não era nenhum FISL. Muito pelo contrário, o lugar foi muito bem escolhido, a organização foi ótima e o evento bastante proveitoso.

Também serviu para encontrar velhos amigos (ex-professores do meu colégio, colegas de classe da faculdade, amigos de outras empresas e figuras que eu só encontro no FISL), além de perder um pouco o medo do inglês tentando fazer uns gringos entender que na maior parte das vezes, nós não usamos Linux porque é “de graça” ou é mais barato do que a solução X ou Y — muito pelo contrário, na maior parte das vezes nós pagamos pelo Linux (SuSE, Red Hat) mas usamos devido a suas características serem superiores do que as dos concorrentes, como por exemplo Desempenho, Estabilidade e Segurança.

E foi bom saber também que as empresas estão correndo atrás em adaptar seus produtos/ soluções para Linux nos próximos meses (o VConverter da VizionCore me parece muito promissor). Além do mais, as empresas que já tem solução para Red Hat ainda não expandiram a mesma para SuSE ou Ubuntu devido a problemas gerenciais, como o treinamento do pessoal de suporte e etc, e não por problemas técnicos.

Muito interessante também o pessoal da NetAPP elogiando o iSCSI que geralmente não é bem vindo por ser uma alternativa barata às caríssimas soluções com FC/HBA…

E para fechar, uma feature do VmWare que eu gostei muito e sinto falta no Xen é o chamado “VmWare LifeCycle Manager” que irá cuidar que as suas máquinas virtuais não se proliferem e espalhem em seu ambiente que nem coelhos, pois como é muito fácil provisionar a mesma é também muito fácil você perder o controle e não ter mais certeza se a VM está ou não sendo utilizada ainda…

Bom, vou parando por aqui e peço desculpas se o texto ficou muito grande ou com as idéias desordenadas… agora preciso descansar pois amanhã terei mais uma migração grande para fazer de madrugada, portanto, um dia desses eu arrumo melhor este texto ;)

Boa noite para vocês
Diga “WI!!!!!!!” :D
PS: O console só chega semana que vem…


* DRBD 8.x

DBRD é a acrônimo para o nome inglês Distributed Replicated Block Device. O DRBD consiste num módulo para o kernel de Linux que, juntamente com alguns scripts, oferece um dispositivo de bloco projetado para disponibilizar dispositivos de armazenamento distribuídos, geralmente utilizado em clusters de alta disponibilidade. Isto é feito espelhando conjuntos de blocos via rede (dedicada). O DRBD funciona, portanto, como um sistema RAID baseado em rede.

Referência: http://pt.wikipedia.org/wiki/DRBD

* GFS 1.x

O “Red Hat Global File System” é um Sistema de Arquivos para Cluster, que permite que vários nós leiam e escrevam dados simultaneamente em um dispositivo compartilhado.

O GFS suporta ACL’s e atributos extendidos, diferente se seu concorrente direto, o OCFS (Oracle Cluster File System)

Vale observar que a versão 2.0 do GFS ainda é considerado “Technology Preview” e não deve ser usado em produção.

Porém, o GFS congela todo o I/O se ele perde um nó (cliente), e fica congelado até o que o nó retorne ou que o mesmo seja “fenced”.

Referência: http://www.redhat.com/gfs/
http://en.wikipedia.org/wiki/Comparison_of_file_systems

* Fence Devices

Fence é algo difícil de traduzir para a nossa língua, assim como a palavra “proxy” O Babylon sugere “grade; muro; cercar; proteger” enquanto o Google Translator sugere “vedação”.

Enfim, é algo nesse sentido: Se um nó do cluster apresenta problemas, para evitar que esse cara escreva algo no FileSystem? e acabe por corromper o mesmo, é necessário que o mesmo seja “fenceado”, ou seja, tirado da jogada. As formas comuns se se fazer isso são:

- Desligando a alimentação de energia deles;
- Desligando a porta do switch;
- Reiniciando a máquina usando DRAC/RSA/ILO (Dell, IBM e HP respectivamente);
- Manualmente;

Utilizaremos a forma menos recomendada (manual) devido a falta de infra-estrutura para utilizarmos as demais. Um script do modificado do DRBD irá tornar o fencing_manual em um fencing automatizado :-D

Referência: http://www.everlinux.com/blog/2008/04/22/redhat-enterprise-linux-51-cluster-suite/

* LVM

Usaremos LVM para garantir flexibilidade da solução:

Criar volumes LV nas duas máquinas

# pvcreate /dev/sda9
# vgcreate vol0 /dev/sda9
# lvcreate -L 105.94G -n lvm vol0

- Configurando o DRBD

Configurar o /etc/hosts para conter todas as maquinas, principalmente o hostname no IP principal e um nome para os IPs da rede de sincronismo:

127.0.0.1 localhost.localdomain localhost
10.10.10.1 hotsite-1.com.br
10.10.10.2 hotsite-2.com.br
192.168.0.3 drbd_hotsite-1 drdb_hotsite-1.com.br
192.168.0.4 drdb_hotsite-2 drdb_hotsite-2.com.br

Configurar o /etc/drbd.conf no master e slave

# DRDB Configuration
global {
usage-count no;
}

resource hotsite {
protocol C;

startup {
wfc-timeout 0;
degr-wfc-timeout 120;
become-primary-on both;
}
disk {
fencing resource-and-stonith;
}
handlers {
outdate-peer “/sbin/obliterate”;
}
net {
cram-hmac-alg sha1;
shared-secret “senha_secreta”;
timeout 60;
connect-int 10;
ping-int 10;
max-buffers 2048;
max-epoch-size 2048;
allow-two-primaries;
after-sb-0pri discard-zero-changes;
after-sb-1pri discard-secondary;
after-sb-2pri disconnect;
rr-conflict violently;
}
syncer {
rate 650M;
}

on hotsite-1.com.br {
device /dev/drbd0;
disk /dev/vol0/lvm;
address 192.168.0.3:7789;
flexible-meta-disk internal;
}

on hotsite-2.com.br {
device /dev/drbd0;
disk /dev/vol0/lvm;
address 192.168.0.4:7789;
flexible-meta-disk internal;
}
}

Inicializar as partições para o drbd no master e slave

# drbdadm create-md hotsite |
# drbdadm attach hotsite | drbdadm up hotsite
# drbdadm connect hotsite |

# drbdadm -- --overwrite-data-of-peer primary hotsite
# watch -n1 cat /proc/drbd
# drbdadm primary hotsite

Obs: Caso de erro de carga de modulo inicie o drbd com “service drbd start” mesmo acusando erro, isso fará com que carregue o modulo corretamente.

Inicializar o drbd no master e slave

# service drbd start

- Configurando o cluster para o GFS

* Crie o arquivo de configuração do cluster (/etc/cluster/cluster.conf) para o gfs, em todas as maquinas:

Vou colocar ele em um arquivo separado pois o wordpress não está gostando as tags do mesmo ;)

cluster.conf

Formatar a partição DRBD com GFS

# gfs_mkfs -t hotsite:gfs-00 -p lock_dlm -j 2 /dev/drbd0

Com isto ele irá iniciar o sincronismo com slave, pode ser observado executando o comando:

# watch -n 1 cat /proc/drbd

Inicie o serviços de cluster:

# service cman start

Testando

# mount -v /dev/drbd0 /data
# for i in `seq 1 10`; do a=`echo $RANDOM`; dd if=/dev/zero of=/data/$a bs=1k count=$a; sleep 1; done
# ls -ltrk /data

Forçando um reboot:
# echo 1 > /proc/sys/kernel/sysrq
# echo b > /proc/sysrq-trigger

Para forçar o sincronismo de uma máquina
(faça somente se souber o que está fazendo)
# drbdsetup /dev/drbd0 primary -o

Ordem dos scripts:

Essa deverá ser a ordem para init level 0 e 6, pois durante o reboot/ shutdown da máquina o procedimento é o seguinte:
- Desmonta a partição
- Tira a máquina do Cluster
- Para o DRBD

[root@hotsite-2 /etc/rc0.d]# ll | egrep '(partition|drbd|cman)'
lrwxrwxrwx 1 root root 12 Jun 13 11:57 K80partition -> ../init.d/partition
lrwxrwxrwx 1 root root 14 Jun 13 11:47 K81cman -> ../init.d/cman
lrwxrwxrwx 1 root root 14 Jun 13 11:57 K82drbd -> ../init.d/drbd

Para os init level 3, 4 e 5 deverá ser:
- Coloca a máquina do Cluster
- Inicia o DRBD
- Monta a partição do drbd (pois o mesmo irá falhar durante a inicialização)

[root@hotsite-2 /etc/rc3.d]# ll | egrep '(partition|drbd|cman)'
lrwxrwxrwx 1 root root 14 Jun 13 11:55 S21cman -> ../init.d/cman
lrwxrwxrwx 1 root root 14 Jun 13 11:55 S70drbd -> ../init.d/drbd
lrwxrwxrwx 1 root root 12 Jun 13 11:55 S91partition -> ../init.d/partition

O Script obliterate

O script Obliterate foi escrito pelo Lon Hohberger e está disponível aqui.

Eu alterei as últimas linhas pois o fence_manual precisa que o comando fence_ack_manual seja executado, senão o GFS não vai liberar o I/O do cluster enquanto o outro nó não retornar com sucesso…

#
fence_node $REMOTE
fence_ack_manual -O -e -n $REMOTE

if [ $? -eq 0 ]; then
# Reference:
# http://osdir.com/ml/linux.kernel.drbd.devel/2006-11/msg00005.html
# 7 = node got blown away.
exit 7
fi

# Fencing failed?!
exit 1

Referência: http://sources.redhat.com/cluster/wiki/DRBD_Cookbook


Só para constar:

- Vacina contra a gripe, e 03 dias zoado com isso;
- Dias inteiros de reunião (sou técnico, não gerente para ficar longe do ssh)
- 08 horas esperando um voo para voltar de Porto Alegre (aeroporto fechado devido às péssimas condições climáticas)
- Quase que tenho que dormir no aeroporto, pois segundo a TAM não haviam mais hotéis pela cidade
- Devido ao atraso da TAM, quase perco minha cirurgia: Septoplastia. Estou digitando agora e limpando o sangue do teclado que escorre do meu nariz…

O script anterior foi atualizado contando com algumas melhorias sugeridas pelos seus usuários, como:

- Agora ele é escrito em Inglês, para maior portabilidade com outros usuários do xen ao redor do mundo;

- Você pode fazer backup de somente uma máquina específica, não é mais necessário esperar todo o laço terminar para ver o resultado do mesmo;

- Script parametrizado e funcões sub-divididas e

- Pequenos problemas corrigidos.

#!/bin/bash
# Backup of Xen VM's
# Tiago Cruz - tiagocruz@everlinux.com
# v 1.0 Mar/2008 - Initial version, just backup all VM's
# v 1.1 May/2008 - Now we have functions and parameters

export PATH=$PATH:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
BACK="_snap"
LOG=/var/log/backup.`date +%Y%m%d`
# root partition to backup ("/")
# usually the second it's swap
ROOT="1"

[ ! -d "/mnt/back" ] && mkdir -p /mnt/back
[ ! -d "/data/backup" ] && mkdir -p /data/backup

function showHelp() {
echo " "
echo "Use the following parameters: "
echo " help = Show this help"
echo " all = Backup of all VM's"
echo " list = List all VM's from this domain"
echo " = Backup one specific VM”
echo ” ”
echo “ex: back_xen.sh tomcat_shop”
echo ” ”
exit 1
}

function listVM() {
echo “List of VM’s avaliables:”
/usr/sbin/xm list | awk ‘{print $1}’ | egrep -v ‘(Name|Domain-0)’
echo ” ”
}

function backXen () {
echo “Backuping machine $i…”
echo “Please, look the progress on $LOG”
listVM | grep $i >/dev/null
if [ $? -ne 0 ]; then
echo “Machine $i does not exist, aborting!”
exit 2
fi
backup
if [ $? -eq 0 ]; then
echo “Backup of $i completed successfully!!!”
echo “Backup finalized on `date` with load `cat /proc/loadavg | cut -c 1-14`” >> $LOG
echo “==============================================” >> $LOG
echo “==============================================” >> $LOG
fi
}

function backAll () {
VMS=`xm list | awk ‘{print $1}’ | egrep -v ‘(Name|Domain-0)’`
for i in $VMS; do
backup
done
echo “Backup finalized on `date` with load `cat /proc/loadavg | cut -c 1-14`” >> $LOG
echo “==============================================” >> $LOG
echo “==============================================” >> $LOG
}

function backup () {
echo “==============================================” >> $LOG
echo “Backup $i started on `date` with load `cat /proc/loadavg | cut -c 1-14`” >> $LOG
DEVICE=`grep ^disk /etc/xen/$i | awk -F “Vol_LVM” ‘{print $2}’ | cut -d / -f 2 | cut -d , -f 1`
echo “Virtual Machine $i uses $DEVICE as storage device” >> $LOG

lvcreate –snapshot -L 15G -n $i$BACK /dev/Vol_LVM/$DEVICE >> $LOG 2>&1
[ $? -ne 0 ] && echo “Error $i: creating LVM $i$BACK” >> $LOG

kpartx -a /dev/mapper/Vol_LVM-$i$BACK >> $LOG 2>&1
mount /dev/mapper/Vol_LVM-$i$BACK$ROOT /mnt/back/ >> $LOG 2>&1
[ $? -ne 0 ] && echo “Error $i: mounting $i$BACK$ROOT” >> $LOG

SIZE1=`df -hP /mnt/back/ | awk ‘{print $3}’ | grep -v Used`
SIZE2=`df -hP /mnt/back/ | awk ‘{print $2}’ | grep -v Size`
echo “Backup of /dev/mapper/Vol_LVM-$i$BACK$ROOT - $SIZE1 of $SIZE2 used” >> $LOG
tar zcf /data/backup/$i-xen.tar.gz /mnt/back >> $LOG
[ $? -ne 0 ] && echo “Error $i: creating /LVM/backup/$i.tar.gz” >> $LOG

SIZE3=`ls -lh /LVM/backup/$i-xen.tar.gz | awk ‘{print $5}’`
echo “Created /LVM/backup/$i-xen.tar.gz with $SIZE3″ >> $LOG

sleep 1
umount /mnt/back/ >> $LOG 2>&1
[ $? -ne 0 ] && echo “Error $i: umounting $i$BACK” >> $LOG
kpartx -d /dev/mapper/Vol_LVM-$i$BACK >> $LOG 2>&1
[ $? -ne 0 ] && echo “Error $i: deleting partition mappings $i$BACK” >> $LOG

echo “Removing snapshot already backuped $i$BACK” >> $LOG
lvremove /dev/Vol_LVM/$i$BACK -f >> $LOG 2>&1
}

if [ “$#” -eq 0 ]; then
showHelp

fi

case “$1″ in
list) listVM ;;
all ) backAll ;;
help) showHelp ;;
* ) i=$1; backXen ;;
esac

Caso tenha problemas com o copy-past, você pode pegar o mesmo aqui: back_xen.sh.txt.

Ubuntu 8.04

A patrocinadora oficial do Ubuntu (Canonical), definiu o dia 24 de abril (quinta-feira), lançamento da versão 8.04, para desktops e servidores, sendo a estratégia de lançamento voltada ao mercado corporativo.

Com mais recursos corporativos do que as versões anteriores, o sistema, até então uma versão do Linux focada para o usuário final, torna-se um concorrente mais forte das distribuições da Red Hat e da Novell.

A versão para servidores terá suporte de 5 anos, 2º com a garantia Long Term Support (LTS), depois da versão anterior, a 6.06. Os nomes das versões do Ubuntu seguem a lógica do ano e mês em que foram lançadas. Assim, a 6.06 apareceu em junho de 2006, e a 8.04 tem esse nome por ser apresentada em abril de 2008.

Nesta nova versão do Ubuntu, está pré-certificada para rodar em servidores x86 da Sun Microsystems, a primeira fabricante a certificar o sistema operacional para seus hardwares. Os modelos que receberam o selo são Sun Fire X2100 M2, X2200 M2, e Sun Fire X4150.

“A versão 8.04 é focada às empresas”, assim, a companhia decidiu adicionar o Ubuntu ao mesmo processo de certificação que usa para as distribuições corporativas Red Hat e Suse. E também está em negociação com a Dell, HP e IBM para que certifiquem o Ubuntu para seus servidores x86.

Acompanha nesta nova versão, o kit de desenvolvimento Java (ou o Open JDK), o que significa que pela primeira vez o sistema operacional vem com uma máquina virtual Java e pode rodar aplicações Java carregadas nele.

O kernel do Ubuntu Server foi fortalecido contra invasões e a nova versão incluirá o software AppArmour, de política de configuração e segurança de código aberto, da Novell. Inclui a aplicação de gerenciamento de conteúdo Alfresco, o sistema de backup Bacula, virtualização Parallels, virtualização de desktop Qumranet baseada em KVM, segurança Tresys, PHP da Zend Technology e aplicações de e-mail online Zimbra.

Falando um pouco de virtualização, o Ubuntu usa o kernel com KVM, suportando o hipervisor Xen como um kernel separado. A empresa também fez parceria com a VMware para rodar seu hipervisor ESX com o Ubuntu 8.04.

O Ubuntu para desktops terá 3 anos de suporte e manutenção, e continua a ter novas versões a cada 6 meses. Este é seu 8º lançamento. Para usuários domésticos, o foco está em recursos de fotos, vídeo, compartilhamento e download de músicas.

Mais informações e download:
www.ubuntu.com

Parede do Hotel

O álbum de fotos do FISL 9.0 foi atualizado, pois as fotos do primeiro dia estavam em meu notebook e também eu ainda não tinha descarregado as fotos do meu celular.

Colocamos também mais fotos do super-hotel 2 estrelas “Lancaster”, situado no centro mais podre de PoA que eu não recomendo para pessoas que sofram do coração, pois o local é trash total! Dê uma olhada nesta linda parede, por exemplo.

Também consegui registar a puta-fila-debaixo-de-um-puta-sol que estava para fazer o credenciamento no evento. Realmente, desesperador.

Fila FISL 9.0

Também tem fotos do Voo para Porto Alegre, de uma das palestras que eu coordenei (ChironFS) que alias, gostei muito do conteúdo da mesma.

Por último, não poderia de deixar de mostrar a camisa nova do Firefox, depois de quase morrer protegendo-a de 7500 nerds enquanto leva-as para as crianças do OLPC :-D

Ah sim, não poderia deixar de registrar aqui no Blog as frases de efeito que vi em Porto Alegre, pichadas em muros e em portas de banheiro, como essas:

Camisa Firefox

- “O imperialismo é um tigre de papel”
- “Viva a heróica resistência iraquiana”
- “Amar sem ser amado, é o mesmo que limpar o ** sem ter cagado”

O FISL 9.0

Como você ja deve ter lido por aí em algum lugar, existiam filas quilométricas para pegar o crachá, de qualidade muito ruim por sinal (no terceiro dia era difícil encontrar algum sem remendo) além do que não recebemos os ANAIS e nem a grade de palestras impressa neste momento.

Fora essa desorganização, o acesso Wireless era mesmo coisa rara de funcionar. Você precisava ter muita sorte, e muita paciência para conectar — e para permanecer neste status por um tempo. Infelizmente, até mesmo o sinal de Internet falhou em algumas palestras, fazendo as mesmas terminarem em 20 minutos ao invés dos 50 propostos.

A PUC-RS é realmente um lugar incrível por seus vários aspectos, porém, acho que o lugar ficou pequeno para 7,5 mil pessoas lá circulando. Mais parecia o metrô Sé as 07:00 AM… um esbarrando no outro, uma loucura só :-p

PUC-RS

Palestras

Além da notória baixa qualidade técnica com relação ao ano anterior, não gostei muito da forma de como várias palestras foram executadas por “parceiros patrocinados”, sem muito conteúdo técnico e até mesmo conteúdo a ver com SL/CA, somente focado em marketing do produto.

Sei que isso se faz necessário para a viabilização de um projeto deste porte, mas mas isso graças a Deus não foi regra. Várias excessões existiram, como por exemplo as palestras:

- Frederico A C Neves - DNSSEC e o .br;

- Miguel Di Ciurcio Filho - “Access Policy Delegation: transformando o Postfix no melhor MTA do planeta” e

- Rafael David Tinoco - “Arquitetura OpenSPARC: UltraSPARC T1 e UltraSPARC T2″.

Foram ótimos exemplos de palestras “patrocinadas”, com um ou dois slides sobre a empresa que os empregam e 99% de conteúdo técnico de altíssimo grau e primeiríssima qualidade, executadas por pessoas que realmente sabiam porquê estavam ali e também sabiam do que estavam falando.

Ainda sobre as palestras, notei várias vezes um certo “conflito de interesses” constante, pois várias boas palestras com assuntos parecidos aconteciam no mesmo dia e horário, obrigando você a escolher uma delas. Isso poderia ser evitado, como no caso do LTSP por exemplo.

Alguns temas estavam por demais redundantes, muitas palestras parecidas abortando o mesmo tema, como por exemplo “Alta Disponibilidade”:

- Jair Silva (CEF) - “Software Livre em Ambiente de Alta Criticidade com Alta Disponibilidade ”

- Joniel Pasqualetto - “Infra-estrutura corporativa de alta disponibilidade utilizando Software Livre”

- Fernando Ike de Oliveira - “HA em PostgreSQL: O Elefante disponível para além do infinito HA em PostgreSQL”

- Luis Otávio de Colla Furquim - “ChironFS - Sistema de Arquivos Tolerante a Falhas com Replicação”

- Darlan Segalin - “Sistemas de arquivos distribuídos e replicados em rede com alta disponibilidade em ambiente Open Source”

Palestras

Não que eu esteja reclamando, havia macro-temas para todos os gostos, desde para sysadmins (mais técnicas) e para a parte gerencial (mais superficial), mas eu achei que alguns temas deveriam ser mais explorados, como por exemplo, Virtualização! Ou melhor ainda, o melhor dos dois mundos, algo do tipo “Clustes de Máquinas Virtuais”. Aí sim seria ótimo!

As palestras internacionais foram ótimas, e gostaria de destacar essas:

- Mark Bilansky (IBM) - “Combining Linux High Availability Clusters with Data Replication (DRBD)”

- Tirthankar Das (SUN) - “Can you survive a downtime?”

Enquanto o Indiano Tirthankar falava dos Clusters de Alta disponibilidade da SUN, eu estava na fila tentando pegar meu crachá, mas tive o prazer de conhece-lo logo depois da palestra do Mark, naquela tradicional “roda” que é formada em torno do palestrante logo após sua palestra :)

Tive sorte, pois ele foi muito atencioso em repassar sua palestra para mim, e mostrar ao vivo o cluster deles funcionando: http://www.opensolaris.org./os/community/ha-clusters/ohac/

Caixa Econômica Federal

Mozilla/ OLPC

A Mozilla Foundation estava comemorando 10 anos, e estava ministrando várias palestras em um prédio ao lado do que estávamos, distribuindo camisas, adesivos, bottons e etc para quem assistisse. Infelizmente, isso não estava escrito em lugar algum, achei a sala enquanto procurava por um banheiro :-)

O mais legal foi ajudar o pessoal do OLPC a levar umas 40 camisas para as crianças que estavam no evento… foi realmente perigoso andar uns 500 metros, com uma porrada de nerds atrás de você querendo as camisetas!!! Mas foi super legal entrega-la às crianças ;)

Diversos

A viajem valeu a pena por reencontrar velhos conhecidos de fórum anteriores e também por fazer novos amigos, para que possamos nos encontrar em fórums futuros, se Deus assim desejar!

Glommer

Gostei muito de encontrar ex-estudantes da UFSC que em 2007 eram meros estagiários vindo em caravanas, hospedados em hoteis baratos que hoje tornaram-se pessoas importantes e patrocinadas pelas suas empresas, ficando em hotéis de luxo com tudo pago :-)

Também gostei muito de ver as estudantes de nível técnico participando do evento, estas sementes que estamos plantando com certeza renderá bons frutos no futuro!

Fotos

Ah sim, o álbum de fotos está disponível aqui: http://everlinux.com/fotos/fisl9/

Assim que eu reunir mais fotos, eu atualizo o álbum ;)

Por Fábio Silva em seu blog:

“Recentemente precisei configurar um ambiente com RHEL 5.1 Cluster Suite.

Em contato com o pessoal do canal #linux-cluster no irc.freenode.net, eles me esclareceram algumas dúvidas e então consegui montar o ambiente.

Assim, resolvi criar um howto em português para que fosse disponibilizado na página do projeto de cluster da redhat, e aqui está o link para os interessados.”

http://sources.redhat.com/cluster/wiki/QuickStart-Portuguese

Este post é somente para agregar mais uns links interessantes sobre o assunto:

FAQ Sobre Fencing Devices

Replicated Failover Domain Controller and file server using LDAP

How to use GNBD to export and import devices for GFS

Teaching your cluster and storage systems to dance: An introduction to Conga

Using Red Hat GFS with Red Hat Cluster Suite

Por último, mas não menos importante, um “txt” tosco, mas nem por isso com menas informações do que os demais: cluster2-arch.txt. Lá existe uma seção muito esclarecedora sobre “Fencing: What, When, Why”.

Em fevereiro eu já havia me conformado em não comparecer ao FISL 9.0, mesmo depois de 05 anos consecutivos batendo cartão na mesma. :-(

Porém, ao ver as passagens da GOL por R$ 46,00, e ver o saldo disponível no meu cartão de créditos de R$ 100,00 não pensei duas vezes, e comprei as passagens para ir para PoA novamente!!! Agora o problema é: “Como vou pagar o hotel”, mas isso eu vejo quando chegar lá :-)

Bom, a grade de palestras já está disponível, embora eu tenha sentido a falta de algumas figuras dos anos anteriores… as palestras que terei a honra de coordenar serão:

- Port do Dicas-l para Drupal, com o Rubens Queiroz e
- ChironFS - Sistema de Arquivos Tolerante a Falhas com Replicação, com o Luis Otávio.

Seja um coordenador você também e assista a palestra em um ângulo único! :-D

Vejo você na PUC-RS!

Se você usa o Xen, usa Storage Devices sob LVM, e acha importante ter um backup das mesmas, você pode utilizar/ adaptar este pequeno script que tira um snapshot e em seguida faz um “tar.gz” de todo o “/” da sua VM, e a guarda em um local para que você possa restaura-lo caso necessário. :-D

#!/bin/bash
# Backup das VM's do Xen
# Tiago Cruz - tiagocruz@everlinux.com
# Mar/2008
export PATH=$PATH:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

VMS=`xm list | awk '{print $1}' | egrep -v '(Name|Domain-0)'`
BACK="_snap"
LOG=/var/log/backup
# Particao root, geralmente a segunda eh swap
ROOT="1"

[ ! -d "/mnt/back" ] && mkdir -p /mnt/back
[ ! -d "/dados/backup" ] && mkdir -p /dados/backup

for i in $VMS; do
echo "=================================================================" >> $LOG
echo "Backup $i iniciado em `date` com load de `cat /proc/loadavg`" >> $LOG
DEVICE=`grep disk /etc/xen/$i | awk -F "Vol_LVM" '{print $2}' | cut -d / -f 2 | cut -d , -f 1`
echo "Maquina Virtual $i usa $DEVICE como storage device" >> $LOG

lvcreate --snapshot -L 15G -n $i$BACK /dev/Vol_LVM/$DEVICE >> $LOG
[ $? -ne 0 ] && echo "Erro $i: criando LVM $i$BACK" >> $LOG

kpartx -a /dev/mapper/Vol_LVM-$i$BACK >> $LOG
mount /dev/mapper/Vol_LVM-$i$BACK$ROOT /mnt/back/ >> $LOG
[ $? -ne 0 ] && echo "Erro $i: montando $i$BACK$ROOT" >> $LOG

SIZE1=`df -hP /mnt/back/ | awk '{print $3}' | grep -v Used`
SIZE2=`df -hP /mnt/back/ | awk '{print $2}' | grep -v Size`
echo "Backup de /dev/mapper/Vol_LVM-$i$BACK$ROOT - $SIZE1 de $SIZE2 usados" >> $LOG
tar zcf /dados/backup/$i-xen.tar.gz /mnt/back >> $LOG
[ $? -ne 0 ] && echo "Erro $i: criando /dados/backup/$i.tar.gz" >> $LOG

SIZE3=`ls -lh /dados/backup/$i-xen.tar.gz | awk '{print $5}'`
echo "Criado /dados/backup/$i-xen.tar.gz com $SIZE3" >> $LOG

umount /mnt/back/ >> $LOG
[ $? -ne 0 ] && echo "Erro $i: desmontando $i$BACK" >> $LOG
kpartx -d /dev/mapper/Vol_LVM-$i$BACK >> $LOG
[ $? -ne 0 ] && echo "Erro $i: desmapeando $i$BACK" >> $LOG

echo "Removendo snapshot ja backupeado $i$BACK" >> $LOG
lvremove /dev/Vol_LVM/$i$BACK -f >> $LOG
done

echo "Backup finalizado em `date` com load de `cat /proc/loadavg`" >> $LOG
echo "=================================================================" >> $LOG
echo "=================================================================" >> $LOG

Trecho do log:

Backup ora_busca iniciado em Fri Mar 28 05:02:53 BRT 2008 com load de 1.31 1.33 1.21
Maquina Virtual ora_busca usa ora_busca como storage device
Logical volume “ora_busca_snap” created
Backup de /dev/mapper/Vol_LVM-ora_busca_snap1 - 16G de 95G usados
Criado /dados/backup/ora_busca-xen.tar.gz com 4.9G
Removendo snapshot ja backupeado ora_busca_snap
Logical volume “ora_busca_snap” successfully removed