terça-feira, 2 de março de 2010

XEN - Vitualização

O que é o Xen?!
O Xen é um hypervisor como o VMware, mas implementado de forma diferente. Ele utiliza um conceito chamado paravirtualização, onde o sistema operacional rodando dentro da máquina virtual tem a ilusão de estar sendo executado diretamente sobre o hardware.

Preparando o ambiente:
Distribuição utilizada: CentOS 5

#yum install xen-libs audiofile alsa-lib esound SDL kernel-xen dnsmasq bridge-utils python-virtinst libvirt xen libvirt-python bind caching-nameserver virt-manager gnome-python2-gnome-keyring

Criando as máquinas virtuais
# virt-install
What is the name of your virtual machine? nome_da_vm
How much RAM should be allocated (in megabytes )? 128
Wha t would like to use as the disk (path)? /dev/xen-disk/xen-lvm
Would you like to enable graphics support (yes or no)? no
What is the install location? /mnt/cdrom

Administrando as máquinas virtuais
# CTRL+ ] – sair da máquina virtual para a hospedeira
# xmlist - listar as máquinas virtuais criadas
# xm create - ligar a máquina virtual (background)
# xm shutdown - desligar a máquina virtual (seguro)
# xm shutdown - a - desligar todas as máquinas virtuais ligadas (seguro)
# xm create -c - ligar a máquina virtual (console)
# xm top - listar as máquinas virtuais criadas (top)
# xm destroy - desligar a máquina virtual (PowerOff)
# xm console - assumir o console da máquina virtual
# xm info - informações sobre a máquina hospedeira
# xm reboot - reinicia a máquina virtual (init 6)
# xm reboot - a - reiniciar todas as máquinas virtuais ligadas
# xm uptime - mostra o uptime de todas as máquinas virtuais ligadas
# xm uptime - mostrar o uptime da máquina virtual
# xm mem -set XXXX - alterar a quantidade d e memória da VM (hot swap)

VM iniciando no boot da hospedeira
# cd /et c/xen/auto - localização das máquinas virtuais iniciadas com a hospedeira
# ln -s ../< nome-da-máquina> - Criar link para iniciar a VM no boot da hospedeira.

Clonando uma máquina Virtual
virt-clone --original vm --name novavm --file /dev/xen-clone/clone-lvm

Virtualizando máquinas Windows (Full Virtualization)
virt-install --hvm --name win2003 --ram 1024 --file /dev/vm/win2003 --vnc --vncport 5900 --os-type windows --os-variant win2k3 --cdrom /mnt/cdrom

Virtualizando máquinas Linux (Full Virtualization)
virt-install --hvm --name debian --ram 256 --file /dev/vm/debian --vnc --vncport 5901 --os-type linux --cdrom /mnt/cdrom

Dica:
- É extremamente recomendável que as máquinas virtuais sejam alocas em partições LVM para ganhar desempenho.
- Caso a máquina virtual Linux seja instalada com uma distro diferente da hospedeira deve-se obrigatoriamente utilizar a Full Virtualization.
- Maquinas Windows não podem ter sua console acessadas no hospedeiro deve-se utilizar um acesso remoto VNC.
- Não é possível alocar mais memória do que o limite definido na criação da VM com o comando xm mem -set.
- Maquinas no padrão Full Virtualization são sempre mais lentas do que as demais, evite-as ao máximo.

quarta-feira, 24 de fevereiro de 2010

Instalando o MRTG

Distribuição utilizada: Debian Sarge

Instalando os pacotes
Execute o comando:
# aptitude install mrtg

Quando perguntar se deseja que o mrtg.conf só tenha permissão de leitura para o usuário mrtg responda NO e pressione

Configurando o MRTG:
Entre no diretório /etc e crie o seguinte arquivo:
# cd /etc
# vi mrtgstats­net.sh 

Adicione o seguinte conteúdo ao arquivo:
#!/bin/sh
awk '
/'$1':/ {
$0=substr($0,index($0,":")+1);
print $1;print $9
}
' /proc/net/dev

Dê permissão de execução ao arquivo:
chmod +x mrtgstats­net.sh

Verifique a configuração do seu mrtg.cfg, deve estar assim:
# Global configuration
WorkDir: /var/www/mrtg
WriteExpires: Yes
RunAsDaemon: yes
Interval: 5
Target[eth0]: `/etc/mrtgstats net.sh eth0`
Title[eth0]:"Tráfego da rede internet"
MaxBytes[eth0]:750000
PageTop[eth0]: <h1>Tráfego da rede internet</h1>
Options[eth0]: growright,bits,noinfo

E rode o mrtg com o comando:
# mrtg 

Nas primeiras vezes que ele rodar, de 5 em 5 minutos podem aparecer mensagens de warning, estas mensagens são normais, após a terceira ou quarta execução elas param de aparecer, os logs estarão vazios logo após a instalação, com o tempo eles irão aparecendo, para acessá­los basta digitar no browser: http://ip_da_maquina/mrtg  na lista que vai abrir escolha o arquivo eth0.html que contém seu log da eth0 para visualização, caso queira, pode adicionar as demais interfaces. 

Para colocar o MRTG na inicialização edite o arquivo /etc/init.d/bootmisc.sh e adicione ao final do arquivo as seguinte linhas:
# Inicializando o MRTG
if [ ­x /etc/init.d/mrtg ]; then
. /etc/init.d/mrtg
fi 

Agora crie um arquivo com nome mrtg dentro de /etc/init.d:
# vi /etc/init.d/mrtg 

com o seguinte conteúdo:
/usr/bin/mrtg 

Salve e saia do arquivo. Dê permissão de execução ao arquivo:
# chmod +x /etc/init.d/mrtg 

Finalizamos a instalação do MRTG!

segunda-feira, 22 de fevereiro de 2010

Virtual Box - Duplicando maquinas virtuais

O Virtual Box possuir um UUID particular para cada arquivo .VDI, o que impede a duplicação do arquivo através de uma simples cópia. Para resolver este problema é necessário modificarmos este UUID. Abra um terminal e execute o comando abaixo:
$ VBoxManage internalcommands setvdiuuid

domingo, 21 de fevereiro de 2010

Instalando Servidor LAMP

Distribuição utilizada: Debian Lenny 64

Baixando os pacotes necessários

# apt-get update
# apt-get install apache2 mysql-server php5 php5-mysql libapache2-mod-php5
phpmyadmin

Nas telas de configuração, escolha o padrão em todas.
Caso já esteja acostumado de alguma forma com as configurações, ajeite o ambiente como lhe agradar mais...

Instalando o MySQL
Crie o ambiente MySQL:
# mysql_install_db

Adicione uma senha para o root:
# mysqladmin -u root password 'sua_senha'

Entre como root:
# mysql -u root -p
...e informe sua senha.

Pronto! Você já tem seu servidor MySQL instalado.

Finalizando
Vá até a pasta onde você especificou que ficariam seus arquivos HTML e PHP (na configuração do Apache). Se deixou o padrão, esta pasta vai ser /var/www. Crie um arquivo chamado index.php dentro dela com o comando:

# vim /var/www/index.php

Dentro desse arquivo, adicione as seguintes linhas:
<?php 
phpinfo();
?>


Agora, com seu browser preferido, digite o endereço localhost:80. Se você visualizar uma página exibindo as configurações do seu PHP na tela, parabéns!!! Seu ambiente LAMP está funcionando perfeitamente!

Caso ocorra algum problema, e não esteja conseguindo acessar suas bases de dados, possivelmente bastará acertar alguns parâmetros do Apache. Tente o comando: # dpkg-reconfigure php5-mysql