Pular para o conteúdo

OpenVZ: Virtualização para servidores Linux

Neste artigo vamos aprender como montar servidores virtuais tão funcionais quanto servidores convencionais, com os quais podemos montar várias máquinas virtuais com serviços distintos e trabalhar de forma organizada e escalonável.
Anderson L Tamborim y2h4ck
Hits: 170.929 Categoria: Linux Subcategoria: Configuração
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Parte 3: Montando nossa primeira máquina virtual

Para montar nossa primeira máquina virtual vamos utilizar um modelo que o openvz.org fornece. Este modelo é um cache do sistema operacional que vamos utilizar.

O OpenVZ fornece a seguinte lista:
  • centos-4-i386-default.tar.gz (signature) 107 Mb
  • centos-4-i386-minimal.tar.gz (signature) 33 Mb
  • centos-4-x86_64-default.tar.gz (signature) 139 Mb
  • centos-4-x86_64-minimal.tar.gz (signature) 60 Mb
  • debian-3.1-i386-minimal.tar.gz (signature) 42 Mb
  • debian-3.1-x86_64-minimal.tar.gz (signature) 41 Mb
  • fedora-core-3-i386-default.tar.gz (signature) 105 Mb
  • fedora-core-3-i386-minimal.tar.gz (signature) 33 Mb
  • fedora-core-4-i386-default.tar.gz (signature) 114 Mb
  • fedora-core-4-i386-minimal.tar.gz (signature) 45 Mb
  • fedora-core-5-i386-default.tar.gz (signature) 125 Mb
  • fedora-core-5-i386-minimal.tar.gz (signature) 44 Mb
  • gentoo-20060317-amd64-stage3.tar.gz (signature) 119 Mb
  • gentoo-20060317-i686-stage3.tar.gz (signature) 106 Mb
  • mandriva-2006-i386-minimal.tar.gz (signature) 28 Mb
  • opensuse-10-i386-default.tar.gz (signature) 90 Mb
  • opensuse-10-x86_64-default.tar.gz (signature) 96 Mb

E por parte da comunidade open source que participa e enviaram os seguintes modelos:
  • slackware-10.2-i386-minimal.tar.gz 26 Mb
  • suse-9.3-x86_64.tar.gz 155 Mb
  • ubuntu-6.06-i386-minimal.tar.gz 60 Mb

Assim, temos máquinas virtuais para todos os gostos de Linux. :D

Vamos criar nossa primeira máquina utilizando um Debian Sarge 3.1.

Entre no diretório /var/lib/vz/templates/cache e, lá dentro, baixe o arquivo contendo o template do seu sistema favorito:

# wget http://download.openvz.org/template/precreated/debian-3.1-i386-minimal.tar.gz

Após baixada a imagem, vamos dar início a configuração:

Para criar o VPS precisamos dar-lhe um número de ID. Este número de ID deve ser numérico e não pode ser duplicado. Recomendo utilizar a partir de 100.

# vzctl create 101 --ostemplate debian-3.1-i386-minimal --config vps.basic Creating VPS private area: /var/lib/vz/private/101
Performing postcreate actions
VPS private area was created

Pronto, a máquina está criada, agora vamos configurá-la:

Vamos setar nossa máquina virtual para iniciar junto ao sistema caso o mesmo reinicie:

# vzctl set 101 --onboot yes --save
Saved parameters for VPS 101

Agora vamos configurar o hostname:

# vzctl set 101 --hostname vps-new --save
Saved parameters for VPS 101

Próximo passo: configurar um endereço IP:

# vzctl set 101 --ipadd 10.1.1.245 --save
Saved parameters for VPS 101

Iremos agora definir os nameservers que o servidor vai utilizar:

# vzctl set 101 --nameserver 10.1.1.43 --save Saved parameters for VPS 101

No caso, 10.1.1.43 é meu servidor DNS da rede local.

Pronto, as configurações básicas foram colocadas, podemos inicializar pela primeira vez nosso VPS:

# vzctl start 101 Starting VPS ...
vzquota : (warning) Quota is running for id 101 already
VPS is mounted
Adding IP address(es): 10.1.1.245
Setting CPU units: 1000
Set hostname: vps-new
File resolv.conf was modified
VPS start in progress...

Pode ver que o servidor virtual já aceita ping:

# ping 10.1.1.245
PING 10.1.1.245 (10.1.1.245) 56(84) bytes of data.
64 bytes from 10.1.1.245: icmp_seq=1 ttl=64 time=0.097 ms
64 bytes from 10.1.1.245: icmp_seq=2 ttl=64 time=0.033 ms
64 bytes from 10.1.1.245: icmp_seq=3 ttl=64 time=0.032 ms

--- 10.1.1.245 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2000ms
rtt min/avg/max/mdev = 0.032/0.054/0.097/0.030 ms

Vamos entrar nele e setar a senha de root:

# vzctl enter 101
entered into VPS 101
vps-new:/# uname -a
Linux vps-new 2.6.8-022stab064-smp #1 SMP Mon Aug 21 15:33:09 BRT 2006 i686 GNU/Linux
vps-new:/# uptime
22:17:09 up 1 min, 0 users, load average: 0.00, 0.00, 0.00
vps-new:/# id
uid=0(root) gid=0(root) groups=0(root)
vps-new:/# cat /etc/issue
Debian GNU/Linux 3.1 l

vps-new:/# passwd root
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
vps-new:/# ifconfig
lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:8930 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8930 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:1254542 (1.1 MiB)  TX bytes:1254542 (1.1 MiB)

venet0 Link encap:UNSPEC HWaddr 00-00-FF-00-00-00-00-00-00-00-00-00-00-00-00-00 inet addr:127.0.0.1 P-t-P:127.0.0.1 Bcast:0.0.0.0 Mask:255.255.255.255 UP BROADCAST POINTOPOINT RUNNING NOARP MTU:1500 Metric:1 RX packets:3 errors:0 dropped:0 overruns:0 frame:0 TX packets:3 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:252 (252.0 b) TX bytes:252 (252.0 b)
venet0:0 Link encap:UNSPEC HWaddr 00-00-FF-FF-FF-FF-00-00-00-00-00-00-00-00-00-00 inet addr:10.1.1.245 P-t-P:10.1.1.245 Bcast:0.0.0.0 Mask:255.255.255.255 UP BROADCAST POINTOPOINT RUNNING NOARP MTU:1500 Metric:1
Como podemos ver, entramos no servidor virtual e ele é exatamente como um server standalone.

Agora que setamos a senha, vamos dar um exit e logar no ssh dele pela primeira vez:

vps-new:/# exit
logout
exited from VPS 101


# ssh -l root 10.1.1.245 The authenticity of host '10.1.1.245 (10.1.1.245)' can't be established.
RSA key fingerprint is 1a:42:4b:62:3e:cc:8d:84:05:ab:99:01:6a:d0:cb:ba.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '10.1.1.245' (RSA) to the list of known hosts.
Password:
vps-new:~# :D funcionou

Parabéns, agora temos uma máquina virtual Debian inteirinha e pronta para utilizar. Caso você queira rodar um Fedora ou Slackware, o procedimento acima é o mesmo.

Vamos agora verificar alguns comandos e características que podem nos ajudar a gerenciar melhor nossas VPS's.

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
   1. Prólogo
   2. Introdução ao OpenVZ
   3. Montando nossa primeira máquina virtual
   4. Gerenciando a máquina virtual
   5. Conclusão

Race condition - vulnerabilidades em suids

Jails em SSH: Montando sistema de Shell Seguro

Carnivore e Altivore: Os predadores do FBI

Security Hacks: Linux & BSD

Análise Forense - Aspectos de perícia criminal

Samba + LDAP + Squid no Debian

Otimizando o KDE com o Slackbuild

Instalando o Linux Ubuntu 8.04 Hardy Heron

50 toques antes de instalar o Slackware 14.1

Passo a passo para aceleração 3d em placas de vídeo com chipset NVIDIA + compiz-fusion no OpenSuSE 10.3

#1 Comentário enviado por fabio em 26/10/2006 - 00:58h
Anderson voltando em grande estilo. Tá virando o Cabelo dos artigos sobre segurança :)

Sensacional, taí uma coisa que eu não fazia idéia de como implementar.

Um abraço
#2 Comentário enviado por leitaum em 26/10/2006 - 07:40h
legal eh como se fosse uma vmware soh que livre...
:D
bom isso que vc pode montar varios servidores em um unico hardware.. e ainda... pode reiniciar os servidores e servicoes independentes... :D
#3 Comentário enviado por Gblecci em 26/10/2006 - 09:01h
Na última quinta-feira participei de um evento ocorrido em Curitiba-PR feito pela IBM em que eles mostraram muito sobre este mesmo assunto, um dos diretores da IBM falou mais de 2 horas sobre o assunto, e eu achei muito interessante o poder que o Linux tem, eu não sou usuário (AINDA eheheehh), mas já estou baixando versões para aprender a mexer :)...

Excelente artigo Anderson, essa técnologia é MUITO interessante mesmo! ;)
(Me desculpem se ela já for usada há muito tempo, mas eu desconhecia ehehehhe)
#4 Comentário enviado por pizzolo_br em 26/10/2006 - 09:14h
Parabéns pelo artigo,
interessante este sistema de virtualização, só achei ele bem mais limitado que o vmware(lógico que não há comparação, pois este já existe há muito tempo e custa uma boa $NOTA$) que eu já uso há algum tempo.
Alguém sabe se existe algum sistema OpenSource que possibilite fazer instalações do linux a partir do zero(a partir do cd por ex.) em máquinas virtuais?
#5 Comentário enviado por y2h4ck em 26/10/2006 - 09:28h
Qemu :)

Faz exatamente isto.
#6 Comentário enviado por leitaum em 26/10/2006 - 11:19h
isso eh que ele eh mais ultilizado para servicos e aplicacoes especificas bom mesmo montar um servidor e colocar varios servicoes diferentes em varias maquinas virtuais ajudando na manutencao e administracao dos servidores!! :D
#7 Comentário enviado por shin_ragnarok em 26/10/2006 - 12:07h
Primeiro adorei o artigo!

excelente!

mas esqueceram de um...

E o xen?? esqueçeram dele?
#8 Comentário enviado por y2h4ck em 26/10/2006 - 12:14h
Não claro que não..

Porém minha proposta é o openvz que me pareceu mais simples :)
#9 Comentário enviado por Gblecci em 26/10/2006 - 14:20h
pizzolo_br pelo que eu vi na palestra que mencionei acima, é possível fazer rodar em uma mesma máquina, diversas distribuições do linux, não necessariamente a mesma, mas a distribuição que eles usavam para dar esse suporte era a RedHat, ou seja, teria que ter instalado o RedHat na "base" para poder utilizar a virtualização ( eu não me lembro o programa que era usado para fazer a virtualização, o sono não me ajuda a lembrar muita coisa nessas horas :P).

Agora eu presumo que se é possível rodar mais de uma distribuição na mesma máquina através da virtualização, seja possível instalar do CD para fazer as coisas funcionarem :)

ps: Não sei se eu podia responder aqui neste mesmo lugar qqr coisa me desculpem :) (novo na comunidade :[ )
#10 Comentário enviado por y2h4ck em 26/10/2006 - 14:31h
OpenVZ vc pode rodar qualquer uma que quiser:

- debian
- fedora
- slackware
- suse
- ubuntu
etc etc etc ...
#11 Comentário enviado por Gblecci em 26/10/2006 - 15:36h
y2h4ck, o OpenVZ pode ser utilizado para criar multiestações tb?
Por exemplo, tenho um pc e 4 usuários conectados nele de forma independente sem que um acesse a área de disco do outro? ou mesmo a área de trabalho do outro?
#12 Comentário enviado por y2h4ck em 26/10/2006 - 16:05h
Acredito que não. Seria mais para servidor mesmo.
#13 Comentário enviado por marcelogpl em 26/10/2006 - 16:06h
Nota 10,

este tema é importante pois a virtualização abre possibilidades incríveis!
N amesma máquina rodando junto N distribuições, e podendo haver comprtilhamentos ou não.

Muito bom!
#14 Comentário enviado por balani em 26/10/2006 - 16:46h
Muito legal, a possibilidade de aplicações é muito interessante.
#15 Comentário enviado por kernelzinhu em 27/10/2006 - 08:53h
Em relação ao User Mode Linux, tem muita diferença quanto ao desempenho?
#16 Comentário enviado por unkn0wn em 28/10/2006 - 17:13h
Sempre arrasando em seus artigos heim brother?
Nota 11 :)

Parabens... Até...
Skull.
#17 Comentário enviado por oandarilho01 em 01/11/2006 - 16:07h
Mas, po, só para kernel 2.6.8? Soa muito ruim isso......... Não que o Kernel seja uim, mas.. por acaso este projeto está abandonado, descontinuado ou coisa parecida?
#18 Comentário enviado por fujiwara em 06/11/2006 - 17:21h
O grande problema do openvz que foi herdado do virtuozzo é de nao aceita r paravirtualizacao, ou seja, VM com sistemas operacionais diferentes.
#19 Comentário enviado por y2h4ck em 07/11/2006 - 00:50h
Cara nao ta descontinuado nao, alem disso acabou de sair o kernel 2.6.9
#20 Comentário enviado por andreeti em 29/09/2007 - 10:22h
Utilizei o seu artigo, não senti nenhuma dificuldade em implementar a solução. Excelente artigo.

Parabéns.
#21 Comentário enviado por joaofilho16 em 04/06/2008 - 23:17h
Funcionou aki, mas estou com dificuldades pra configurar o IP nele, alguem poderia me ajudar?
#22 Comentário enviado por lipecys em 01/04/2010 - 11:31h
Olá pessoal.

Configurei o openvz aqui em dois servidores para assim fazer o "live-migration".
Mas na hora de executar o "vzmigrate server_destino VEID" ele retorna o seguinte erro:

OPT:server_destino
StartingError: Error:


Alguém aí já teve esse problema, sabe como resolver?


Desde já grato pela atenção.
#23 Comentário enviado por lipecys em 12/04/2010 - 11:01h
Consegui resolver o problema,

era falha na autenticação.

Contribuir com comentário

Entre na sua conta para comentar.