Você está na página 1de 6

Vitalización con OpenVz sobre Debian Lenny

Recopilado por: Carlos Eduardo Virgen Londoño (ceduardo)


e-mail: carlos.eduardo.virgen@gmail.com

Contenido 
Vitalización con OpenVz sobre Debian Lenny ............................................................................. 1 

Instalación del OpenVZ ................................................................................................................... 2 

Añadiendo servidores a la lista de repositorios ....................................................................... 2 

Instalación del Kernel integrado con OpenVz .......................................................................... 2 

Validando que todo el sistema este bien instalado ................................................................. 2 

Administrando contenedores virtuales o VE(Entornos Virtuales) ............................................. 3 

Administración básica por consola: ........................................................................................... 3 

Administración por WebVz: ......................................................................................................... 4 

Instalando WebVz .................................................................................................................... 4 

Creando el script de inicialización en el arranque del WebVz .......................................... 4 

Compartiendo Internet del servidor contenedor de las VE ........................................................ 5 

Recursos Web que se usaron para este documento .................................................................. 6 

 
Instalación del OpenVZ
La siguiente guía de instalación del servidor OpenVz va dirigida para la
distribución de Linux Debian.

Añadiendo servidores a la lista de repositorios


Debe de validar si en el archivo de /etc/apt/source.list están las siguientes URL

• deb http://ftp.de.debian.org/debian lenny main

• deb http://security.debian.org/debian-security lenny/updates main


En caso de no existir deben de añadir al archivo dicha información, después de
añadido el archivo debe desde una consola de comando ejecutar el siguiente
comando.

• apt-get update && apt-get dist-upgrade

Instalación del Kernel integrado con OpenVz


Desde una consola de comando después de ejecutado el comando
apt-get update && apt-get dist-upgrade debe de hacer la instalación del
Kernel así:

• apt-get install linux-image-openvz-686

• apt-get install vzctl vzquota

Después de instalados los programas requerido se reinicia la maquina y en el


GRUB (Gestor de arranque) Validamos que la imagen del OpenVZ 686 este de
Primero en la lista de selección.

Validando que todo el sistema este bien instalado


Para poder determinar si la instalación ha sido exitosa se debe de mirar si ha
quedado se ha ejecutado el núcleo correcto para eso hacemos en la consola de
comandos
• uname -r
o debe de arrojar la salida: 2.6.26-1-openvz-686
• ifconfig
o debe de arrojar la salida: venet0 Link encap:UNSPEC
Administrando contenedores virtuales o VE(Entornos Virtuales)

Para la administración de los contenedores se puede hacer uso de los comandos


por consola o por la interfaz Web llamada WebVz.

Administración básica por consola:

• Creando una VE
o vzctl create ID-VE –ostemplate nombre_plantilla
o recuerden que las plantillas deben de estar en
/var/lib/vz/template/cache
• Iniciando y deteniendo VE
o vzctl start ID-VE
o vzctl stop ID-VE
• Listando VE dentro del sistema
o Vzlist –a
• Ingresar a una VE
o Vzctl enter ID-VE
• Eliminar una VE
o vzctl destroy ID-VE

Para crear una VE de forma más automática y personalizada podemos hacer uso
del script create.vm.sh
#!/bin/sh
#
# Create an server virtual machine. - This one for
# checking Centos 5.2 operation - running Elastix (asterisk plus e
#xtra)
#
VID=71
vzctl create $VID --ostemplate centos-5-x86 --config vps.basic
vzctl set $VID --onboot yes --save
vzctl set $VID --hostname elastix.bozo.com --save
vzctl set $VID --ipadd 192.168.2.$VID --save
vzctl set $VID --nameserver 200.26.137.135 --save
vzctl set $VID --userpasswd root:elastix
vzctl start $VID
echo " RUN : vzctl exec $VID passwd "
echo " Boost up the quota for disk and memory space "

vzctl set $VID --diskspace 40485760 --save


vzctl set $VID --kmemsize 15242880 --save
vzctl set $VID --othersockbuf 636896 --save
vzctl set $VID --numothersock 480 --save
vzctl set $VID --privvmpages 1000000 --save
vzctl set $VID --numproc 100 --save

#
# Restart the Virtual machine - so that it gets the IP addresses,
etc.
#
vzctl restart $VID
#
# Where do we start here - install using yum
Administración por WebVz:

WebVz es un aplicativo desarrollado en Ruby, su interfaz grafica es Web y posee


su propio servidor embebido.

Instalando WebVz

Debe de instalarse los prerrequisitos para ello hacemos

• apt-get install ruby rubygems libsqlite3-ruby sqlite3 irb1.8 libopenssl-


ruby1.8 libreadline-ruby1.8 rdoc1.8
• gem install -v=2.1.0 rails

Descargando e instalando WebVz

• cd /usr/local
• wget http://dfn.dl.sourceforge.net/sourceforge/webvz/webvz.2.0.tar.gz
• tar xvfz webvz.2.0.tar.gz
• mv webvz.2.0 webvz
• cd webvz
• ln -s /var/lib/vz /vz
• ln -s /usr/bin/irb1.8 /usr/bin/irb
• mkdir /etc/sysconfig
• ln -s /etc/vz/conf /etc/sysconfig/vz-scripts

Creando el script de inicialización en el arranque del WebVz

• cd /etc/ini.d
• vi webvz.sh
o Añade dentro de webvz.sh
ƒ cd /usr/local/webvz/
ƒ /usr/bin/ruby script/server &> /dev/null &
• chmod +x webvz.sh
• update-rc.d webvz.sh defaults
Compartiendo Internet del servidor contenedor de las VE

Se debe de tener en cuenta la distribución de las tarjetas de red del servidor en


este ejemplo tenemos que:

• eth2 IP publica XXX.YYY.ZZZ.QQQ


• eth0 IP privada 192.168.2.15
• eth1 IP privada 192.168.150.2

Teniendo en mente lo anterior dentro del /etc/init.d crearemos un archivo con


permisos de ejecución e ingresamos la siguiente información:
#!/bin/sh
## SCRIPT de IPTABLES - ejemplo del manual de iptables
## Ejemplo de script para firewall entre red-local e internet

echo -n Aplicando Reglas de Firewall...

## FLUSH de reglas
iptables -F
iptables -X
iptables -Z
iptables -t nat -F

## Establecemos politica por defecto


iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT

#Hace el ruteo a las CT


iptables -t nat -A PREROUTING -i eth2 -p UDP --dport 5060:5080 -j DNAT --to 192.168.2.72
iptables -t nat -A PREROUTING -i eth2 -p UDP --dport 4000:6000 -j DNAT --to 192.168.2.72
iptables -t nat -A PREROUTING -i eth2 -p UDP --dport 10000:20000 -j DNAT --to 192.168.2.72

iptables -A INPUT -p udp --dport 5060:5061 -j ACCEPT


iptables -A INPUT -p udp --dport 4000:6000 -j ACCEPT
iptables -A INPUT -p udp --dport 10000:20000 -j ACCEPT

## Empezamos a filtrar
## Nota: eth2 es el interfaz conectado al router y eth0 a la LAN
# El localhost se deja (por ejemplo conexiones locales a mysql)

/sbin/iptables -A INPUT -i lo -j ACCEPT

# Al firewall tenemos acceso desde la red local


iptables -A INPUT -s 192.168.2.0/24 -i eth0 -j ACCEPT

# Ahora hacemos enmascaramiento de la red local


# y activamos el BIT DE FORWARDING (imprescindible!!!!!)

iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -o eth2 -j MASQUERADE

# Con esto permitimos hacer forward de paquetes en el firewall, o sea


# que otras máinas puedan salir a traves del firewall.

echo 1 > /proc/sys/net/ipv4/ip_forward


echo " OK . Verifique que lo que se aplica con: iptables -L -n"

Nos ubicamos en el directorio /etc/init.d y ejecutamos el siguiente comando


update-rc nombre-script defaults y con esto ya queda ejecutándose al inicio
Recursos Web que se usaron para este documento

http://linuxsan.wordpress.com/2008/02/07/openvz-mi-primera-toma-de-contacto/
http://wiki.openvz.org/Virtual_network_device
http://www.elastix.org/index.php?option=com_fireboard&Itemid=55&func=view&catid=1&id=15425
http://www.elastix.org/index.php?option=com_openwiki&Itemid=27&id=how-
to_install_elastix_from_centos5
http://wiki.openvz.org/Category:Networking
http://wiki.openvz.org/Differences_between_venet_and_veth
http://wiki.openvz.org/Installation_on_Debian
http://wiki.openvz.org/Creating_a_CentOS_5.0_Template
http://forum.openvz.org/index.php?t=tree&goto=36691&#msg_36691
http://www.elastix.org/index.php?option=com_openwiki&Itemid=27&id=how-
to_install_elastix_from_centos5
http://www.howtoforge.com/managing-openvz-with-the-webvz-control-panel-on-debian-lenny
http://www.pantz.org/software/tcpip/subnetchart.html
http://www.solusan.com/como-va-update-rcd-niveles-de-ejecucion-en-debian.html