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: 168.165 ]

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


Gerenciando a máquina virtual



Vamos verificar, primeiramente, o arquivo de configuração que o OpenVZ gerou contendo as informações do VPS:

[root@master /etc/vz]# ls
conf  dists  names  vz.conf
[root@master /etc/vz]# cd conf/
[root@master /etc/vz/conf]# ls
0.conf  101.conf  ve-light.conf-sample  ve-vps.basic.conf-sample

O arquivo 101.conf contém as configurações de nossa VPS:

# Copyright (C) 2000-2006 SWsoft. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#

ONBOOT="yes"

# UBC parameters (in form of barrier:limit)
# Primary parameters
AVNUMPROC="40:40"
NUMPROC="65:65"
NUMTCPSOCK="80:80"
NUMOTHERSOCK="80:80"
VMGUARPAGES="6144:2147483647"
# Secondary parameters
KMEMSIZE="2752512:2936012"
TCPSNDBUF="319488:524288"
TCPRCVBUF="319488:524288"
OTHERSOCKBUF="132096:336896"
DGRAMRCVBUF="132096:132096"
OOMGUARPAGES="6144:2147483647"
# Auxiliary parameters
LOCKEDPAGES="32:32"
SHMPAGES="8192:8192"
PRIVVMPAGES="49152:53575"
NUMFILE="2048:2048"
NUMFLOCK="100:110"
NUMPTY="16:16"
NUMSIGINFO="256:256"
DCACHESIZE="1048576:1097728"

PHYSPAGES="0:2147483647"
NUMIPTENT="128:128"

# Disk quota parameters (in form of softlimit:hardlimit)
DISKSPACE="1048576:1153434"
DISKINODES="200000:220000"
QUOTATIME="0"

# CPU fair sheduler parameter
CPUUNITS="1000"
VE_ROOT="/var/lib/vz/root/$VEID"
VE_PRIVATE="/var/lib/vz/private/$VEID"
OSTEMPLATE="debian-3.1-i386-minimal"
ORIGIN_SAMPLE="vps.basic"
HOSTNAME="vps-new"
IP_ADDRESS="10.1.1.245"
NAMESERVER="10.1.1.43"

Como podemos ver, modificando o arquivo de configuração você configura o espaço em disco que o servidor virtual vai ter, número de arquivos, etc.

Vamos ver alguns binários interessantes que fazem parte do vzctl:

vzcalc


Gera um cálculo de uso de recursos por id de VPS:

# vzcalc -v 101
Resource     Current(%)  Promised(%)  Max(%)
Low Mem          0.76       1.33       1.33
Total RAM        1.25        n/a        n/a
Mem + Swap       0.83       0.57        n/a
Alloc. Mem       3.03       0.57       4.33
Num. Proc        0.06        n/a       0.07
--------------------------------------------
Memory           3.03       1.33       4.33

vzmemcheck


Gera um cálculo de utilização de recursos de todas as VPS.

Gerei este resultado em um servidor meu com 5 VPS simultâneos:

# vzmemcheck -v
Output values in %
veid        LowMem  LowMem     RAM MemSwap MemSwap   Alloc   Alloc   Alloc
              util  commit    util    util  commit    util  commit   limit
101           0.76    1.33    1.25    0.83    0.57    3.03    0.57    4.33
102           0.05    1.33    0.08    0.05    0.57    0.06    0.57    4.33
103           0.05    1.33    0.08    0.05    0.57    0.06    0.57    4.33
104           0.06    1.33    0.09    0.05    0.57    0.07    0.57    4.33
105           0.06    1.33    0.07    0.04    0.57    0.06    0.57    4.33
-------------------------------------------------------------------------
Summary:      0.99    6.65    1.57    1.03    2.86    3.27    2.86   21.64

vzlist


Mostra todas as VPS em execução:

# vzlist
     VPSID      NPROC STATUS  IP_ADDR         HOSTNAME
       101         63 running 10.1.1.249      vps1.ascenty.com
       102          3 running 10.1.1.248      vps2
       103          3 running 10.1.1.247      -
       104          4 running 10.1.1.246      vps4
       105         10 running 10.1.1.245      vps-new
Para reiniciar um VPS, basta pará-lo e iniciá-lo:

# vzctl stop 101
Stopping VPS ...
VPS was stopped
VPS is unmounted

Pronto, nosso VPS foi restartado.

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

Segurança extrema com LIDS: novos recursos

Libsafe: Protegendo Linux contra Smashing Overflow

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

Carnivore e Altivore: Os predadores do FBI

PSAD: Port Scan Attack Detector

Leitura recomendada

Monitoramento de utilização do DNS

Rodando seu script como "service" no Conectiva

LoadBalance e Failover com OpenBSD e PF

KDM no Slackware 11.0

VPN no Conectiva 8 com o PPTPD

  
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