[Cobertura FISL-10]: Monitorando Ambientes com SWL 1
Buenas e me espalho! Essa também foi minha primeira experiência no FISL e também com o frio gaúcho… tchê!
E foi então que escolhi assistir a palestra do pessoal da Cobra Tecnologia do Banco do Brasil. Escolhi porque se tratava de Monitoramento de Ambientes utilizando Software Livre.
E este era o título da palestra daí! Bah!
Edmilson de Novais Silva era o nome da figura que se encontrava em nossa frente, rapaz jovem começou logo mostrando o que estavam utilizando como ferramentas livres para o monitoramento do seu parque: Zabbix, MySQL e CACTI. Parque esse que inclui até as transações de depósitos bancários feitos em caixas de auto-atendimento do Banco do Brasil.
Nisso, Edmilson demonstrou um demo de sua solução instalado em seu notebook, detalhando seus recursos e capacidades e comentando sobre a experiência da Cobra no monitoramento de seu ambiente utilizando estes softwares.
Vimos então que o Zabbix é capaz de realizar o monitoramento de servidores HTTP, recursos físicos, monitoramento em tempo real, gerar gráficos, sendo inclusive capaz de monitorar máquinas virtuais Xen.
Ele disse também que estava previsto para o Zabbix o monitoramento de disco, tornando possível em versões futuras, o recurso de alerta para falha de disco em RAID, recurso muito importante segundo ele, pois evita a descoberta deste problema somente na visita do administrador ao CPD, quando as luzes do servidor estariam, nesse caso, piscando desesperadamente.
Edmilson chegou a comentar que haviam experimentado a solução Hyperic, disse ser uma ferramenta excelente também, que atendia bem a todos os requisitos de sua equipe. Porém foi batido o martelo para o Zabbix pois, segundo ele, o Hyperic consumia um pouco mais os recursos de processamento da máquina instalada.
O CACTI foi utilizado para a gerência da banda de rede e monitorar o tráfego via SNMP, foi falado pouco sobre ele, talvez quase nada.
Minha impressão foi de uma palestra um pouco fraca, um pouco tensa, não sei. Mas o palestrante soube bem responder as dúvidas, inclusive sobre questões como SLA, mostrando, pelo menos ao meu ver, que o pessoal dos órgão públicos tem muita coisa pra falar, muita experiência com Software Livre pra compartilhar e bom conhecimento técnico, faltando talvez, somente um traquejo a mais para palestrar.
Bom, temos mais palestras ainda pra comentar mas hoje vou ficando por aqui.
Até a próxima!
Migração P2V de RHEL4 com RedHat/Xen 1
P2V significa Physical to Virtual. O que vamos fazer agora é a migração de uma máquina física com RHEL4 para uma máquina pára-virtualizada, mantendo a versão do RHEL.
Os passos que se seguem foram executados em um ambiente de produção. A máquina física com RHEL4 possuía uma instalação de sistemas e configurações específicas tão intricadas que não era viável realizar a instalação do zero.
A decisão tomada foi realizar uma cópia idêntica, com o mínimo de alterações possível no S.O ou no sistema ali instalado, para uma máquina virtual.
A princípio, migramos a máquina física para uma máquina totalmente virtualizada, para depois convertê-la em uma máquina pára-virtualizada.
Existem outros métodos para efetuar esse mesmo processo. Pode-se utilizar por exemplo, a ferramenta Mondo Rescue para gerar uma imagem instalável da máquina física e utilizá-la na VM. Este tutorial explica isso com mais detalhes.
Outra forma é experimentando uma ferramenta que a Red Hat está desenvolvendo chamada virt-p2v. Virt-p2v é um Live-CD capaz de realizar todo o processo de migração p2v incluindo a instalação da VM na máquina hospedeira. Ela se encontra em fase experimental, mas sua versão já está na 0.9.9.
A forma como vamos fazer o p2v não utiliza nenhuma ferramenta própria pra isso. Vamos realizar passo-a-passo todo o processo "na unha". De cara vai parecer um tanto complicado, mas se seguir a descrição dos passos com atenção provavelmente não terá problemas.
Vou mostrar a seguir, os passos necessários para esta tarefa de forma resumida, para que este post não fique muito extenso. Nos próximos posts vou detalhar cada um ou cada dois, três, conforme for mais conveniente.
1º Passo
Em primeiro lugar temos que criar um esquema de particionamento para a futura máquina virtual migrada. Temos que fazer isso caso a máquina física a ser migrada se encontre num sistema de arquivos bagunçado, com diretórios montados em partições provisórios com vistas a liberar espaço em disco, ou simplesmente não utilizam LVM.
Vamos aproveitar o momento então para ajeitar a bagunça e recriar um sistema de arquivos bem organizado e escalável com LVM.
Para isso, temos que realizar a instalação da máquina virtual do zero com o recurso de virtualização completa. Deve ser feita a instalação básica do RHEL4 com o melhor esquema de particionamento, separando as partições /boot, /, /home, /usr, /var, /tmp e swap utilizando é claro, LVM.
Feito isso, desligue a máquina virtual.
2º Passo
No segundo passo, vamos reiniciar a máquina virtual previamente instalada, dessa vez utilizando o modo rescue (digite linux rescue na entrada do CD de instalação) do CD de instalação do RHEL4.
Vamos fazer isso para realizar a cópia de todo o sistema de arquivos da máquina física a ser migrada para a nova máquina virtual. Vamos utilizar o rsync para isso.
3º Passo
Terminada a cópia do sistema de arquivos, ainda no CD de instalação em modo rescue, vamos realizar agora algumas alterações para que o Sistema Operacional possa se acomodar bem na nova máquina virtual.
Vamos alterar as configurações do grub para instalá-lo no seu novo disco (porque obviamente a MBR não será transferida).
Antes, faça um chroot /mnt/sysimage/para entrar no sistema de arquivos da máquina virtual.
Alteramos agora o arquivo /boot/grub/device.map, altere o /dev/sda para /dev/hda.
Vamos alterar também o arquivo /etc/mtab, para corresponder a nova tabela de montagem. Aproveite e atualize também o arquivo /etc/fstab.
Será necessário corrigir as partições no arquivo /boot/grub/menu.lst ou /boot/grub/grub.conf (um é um link para o outro).
Neste arquivo, deve-se alterar as diretivas boot= e splashimage= fazendo a entrada (hdX,X) se tornar (hd0,0) que é onde ficará o /boot na nossa nova tabela de partições.
Outra alteração nesse arquivo será feita nas diretivas root e kernel para que correspondam a nova tabela de partições com LVM. A diretiva root deve corresponder ao diretório /boot usando a sintaxe do grub (hd0,0). Já a diretiva kernel utilizará a sintaxe do Linux apontando para a partição LVM onde se encotra a raíz do sistema, no nosso caso /dev/VolGroup00/root. Nesta diretiva é importante utilizar para o kernel, o parâmetro hpet=disable, pois você poderá enfrentar problemas relativos ao hpet ao iniciar a VM. Remova os parâmetros rhgb quiet, pra que você saiba o que está ocorrendo no boot da VM.
Feito isso, já se pode instalar o grub com o comando grub-install /dev/hda.
4º Passo
Continuando as nossas alterações no Sistema, vamos passar agora para os módulos a serem carregados para a nova máquina virtual.
Isso é necessário pois o hardware utilizado na máquina física provavelmente difere do hardware utilizado pelo Xen na máquina totalmente virtualizada.
Por isso, vamos alterar o arquivo /etc/modprobe.conf. Remova todas as entradas que iniciem comalias scsi_hostadapter, depois altere a entrada que inicia com alias eth0 para alias eth0 8139.
Feito isso, execute o mkinitrd com o parâmetro -v para gerar novamente as imagens em /boot. Utilize também as opções –with=ata_piix e –with=libata, pois o kernel vai precisar deles para a máquina virtual. Antes disso você terá que remover, ou mover para outro diretório, as imagens antigas.
Agora altere no arquivo /etc/sysconfig/network-scripts/ifcg-eth0 a opção HWADDR que deve conter o mesmo endereço MAC gerado no momento da criação da VM.
É interessante também alterar o endereço IP nesse momento, para que não haja conflito na rede.
5º Passo
Agora é hora de iniciar a VM. Se estiver usando o kudzu, ele irá fazer algumas perguntas sobre remover/adicionar hardware. Sugere-se selecionar "Manter as configurações" para qualquer hardware removido e "Ignorar" para qualquer hardware adicionado. Se for perguntado sobre dispositivos de vídeo, som, USB removidos ou similares, você pode selecionar com segurança "Remover Configuração".
Verifique se todos os serviços estão rodando e se você possui conexão de rede.
Pronto, você tem agora uma máquina totalmente virtualizada e migrada. Vamos passar para o próximo passo onde vamos transformá-la numa máquina pára-virtualizada.
6º Passo
A primeira coisa a fazer nesse passo é alterar novamente o arquivo /etc/modprobe.conf. Altere as linhas alias eth0 e alias scsi_hostadapter para que utilizem respectivamente os módulos xennet e xenblk, assim:
$ cat /etc/modprobe.conf
alias eth0 xennet
alias scsi_hostadapter xenblk
Do CD de instalação do RHEL4, baixe e instale o kernel xen pára-virtualizado kernel-xenU, na máquina virtual.
Edite arquivo /etc/grub.conf e altere a opção default=1 para default=0 para garantir que o kernel xen irá iniciar. Remova desse kernel o parâmetro hpet=disable.
Desligue a máquina virtual e modifique o arquivo Guest da VM em /etc/xen/ de forma que contenha os parâmetros corretos para a pára-virtualização. Por exemplo:
# My RHEL4
Xen guest name = "RHEL4"
memory = "256"
uuid = "13db28ea-8536-53dc-3646-1f20fcc1199b"
disk = [ 'phy:/dev/VolGroup00/RHEL4,xvda,w' ]
# disk = [ 'file:/path/to/disk/image,xvda,w' ]
vif = [ 'bridge=xenbr0,mac=00:16:3e:xx:xx:xx' ]
bootloader="/usr/bin/pygrub"
# vcpus = 2 Feito isso, você já poderá startar sua nova máquina pára-virtual migrada com o comando:
# xm create -c /etc/xen/nome_da_maq Pronto, sua migração está finalizada. Sugestões e dúvidas, postem aqui.
Abraços!