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.

[ Hits: 170.291 ]

Por: Anderson L Tamborim em 26/10/2006 | Blog: http://y2h4ck.wordpress.com


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.

Página anterior     Próxima página

Páginas do artigo
   1. Prólogo
   2. Introdução ao OpenVZ
   3. Montando nossa primeira máquina virtual
   4. Gerenciando a máquina virtual
   5. Conclusão
Outros artigos deste autor

Análise Passiva: Analisando seu tráfego de maneira segura

PSAD: Port Scan Attack Detector

PortSentry: Melhorando a segurança do seu Linux

Snort avançado: Projetando um perímetro seguro

PaX: Solução eficiente para segurança em Linux

Leitura recomendada

Modem PCTEL AMR PCI no Slackware 10.1

Configurando vídeo no Linux usando frame buffer

Instalando Asterisk 1.4 no Debian 4.0

Conexões SSH sem senha fácil e descomplicado

Instalando o Gentoo 2018

  
Comentários
[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




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts