OpenVZ

O OpenVZ é uma solução de virtualização muito interessante e com provas dadas em performance.

Aqui fica um pequeno guia de instalação, mais detalhes, documentação e o que fazer após a instalação está disponível nos endereços referidos na bibliografia.

Alguns passos poderiam ser omitidos (p.e. o link e a criação de template de SO) mas ficam aqui referidos pois facilitam a utilização após a instalação.

Ora vamos lá instalar o OpenVZ e criar uma máquina virtual (VE) Debian 'Lenny'...

Índice

1 - Instalar o software OpenVZ
2 - Configurar o sistema
2 - Criar um template de sistema operativo
3 - Utilizar uma máquina virtual (VE)
4 - Bibliografia

1.1 - Instalar kernel Debian com suporte para OpenVZ:
linux-image-2.6-openvz-amd64
Com a instalação do kernel o gestor de arranque (p.e. o grub) fica automaticamente com uma entrada para arrancar com este kernel.

1.2 - Instalar utilitários OpenVZ para gestão:
~# apt-get install vzctl vzquota

1.3 - Reiniciar para o kernel que suporta OpenVZ:
~# reboot

2.1 - Sysctl

Configurar as seguintes opções em /etc/sysctl.conf:

# On Hardware Node we generally need
# packet forwarding enabled and proxy arp disabled

net.ipv4.conf.default.forwarding=1
net.ipv4.conf.default.proxy_arp = 0
net.ipv4.ip_forward=1

# Enables source route verification
net.ipv4.conf.all.rp_filter = 1

# Enables the magic-sysrq key
kernel.sysrq = 1

# TCP Explict Congestion Notification
#net.ipv4.tcp_ecn = 0

# we do not want all our interfaces to send redirects
net.ipv4.conf.default.send_redirects = 1
net.ipv4.conf.all.send_redirects = 0

- Utilizar esta nova configuração:
~# sysctl -p

2.2 - Link em /vz

Não é necessário mas 'facilita':
ln -s /var/lib/vz /vz

3.1 - Criar template de VE:

O objectivo de criar o template do sistema operativo é poder criar VEs automagicamente quantas vezes se quiser. Muito útil.

Neste caso o nosso 'template' VE tem a identificação 100.

debootstrap --arch amd64 lenny /vz/private/100 http://mirrors.nfsi.pt/debian

3.2 - Configurar o VE:
sudo vzctl set 100 --applyconfig vps.basic --save

3.3 - Definir o Template VE:
sudo sh -c 'echo "OSTEMPLATE=debian-5.0" >> /etc/vz/conf/100.conf'

- Agora vamos criar uma cache de template do sistema operativo no directório...
cd /vz/private/100
sudo tar -zcf /vz/template/cache/debian-5.0-amd64-minimal.tar.gz .

Já temos o ficheiro que vai servir de cache do template do sistema operativo.
Já não necessitamos mais do template 100 que serviu apenas para criar a cache do template com o SO.

sudo vzctl destroy 100

3.1 - Criar um VE

Visto termos criado um template de sistema operativo podemos lançar quantas máquinas virtuais quisermos a partir desse template.
Neste caso vamos iniciar um VE com a identificação 123456:

sudo vzctl create 123456 --ostemplate debian-5.0-amd64-minimal

3.2 - Arrancar o VE 123456

sudo vzctl start 123456

3.3 - Mudar para o VE 123456

...et voilá ;-)
sudo vzctl enter 123456

4 - Bibliografia

http://en.wikipedia.org/wiki/OpenVZ
http://wiki.openvz.org/
http://wiki.openvz.org/Installation_on_Debian
http://wiki.openvz.org/Debian_template_creation

Comentários

Opções de visualização dos comentários

Seleccione a sua forma preferida de visualização de comentários e clique "Gravar configuração" para activar as suas alterações.

Há um site com algumas

Há um site com algumas informações para comparar diferentes tecnologias de virtualização bastante interessante.

http://virt.kernelnewbies.org/TechComparison

Pelo que parece o OpenVZ não é uma ferramenta de virtualização no verdadeiro sentido da palavra mas mais algo no género do chroot, é um contentor :) A nível de performance aproxima-se da nativa precisamente por isso.

Definir o endereço IP de um VE

Definir o endereço IP de um VE:
 
~$ sudo vzctl set 777 --ipadd x.x.x.x --save
 
onde x.x.x.x será substituido pelo endereço IP pretendido.