Skip to main content

openvz

Introducción

El OpenVZ es un projecto de virtualización basado en containers. OpenVz crea containers (tambien llamados Ves o VPSs) que son entidades independientes y que pueden poseer su propia IP , recursos, usuarios, etc... es decir es en si mismo un sistema independiente. El proyecto es la base de la versión comercial Parallels Virtuozo. Para más info: wiki.openvz.org

Instalación CentOs

La instalación del Openvz se puede realizar mediante repositorio:

cd /etc/yum.repos.d wget http.//download.openvz.org/openvz.repo rpm –import http://download.openvz.org/RPM-GPG-Key-OpenVZ 

Una instalado el repositorio ya se puede instalar mediante yum el kernel necesario para ejecutar el openvz

yum install ovzkernel 

Configuración

Configurar parametros del sistema operativo: (editar fichero sysctl.conf)

# On Hardware Node we generally need packet 
forwarding enabled and proxy arp disabled 
net.ipv4.ip_forward = 1 
net.ipv6.conf.default.forwarding = 1 
net.ipv6.conf.all.forwarding = 1 
net.ipv4.conf.default.proxy_arp = 0 
# Enables source route verification net.ipv4.conf.all.rp_filter = 1 
# Enables the magic-sysrq key kernel.sysrq = 1 
# We do not want all our interfaces to send redirects net.ipv4.conf.default.send_redirects = 1 net.ipv4.conf.all.send_redirects = 0 

Y por último desactivar el selinux, en el fichero /etc/sysconfig/selinux realizar el siguiente cambio

SELINUX=disabled Reiniciar la máquina y cargar la opción con el ovzkernel. 

Creación máquinas

Para la gestión de los containers es necesaria la instalación del vzctl

yum install vzctl vzquota 

Arrancar el servicio

/sbin/service vz start 

Antes de la creación de cualquier container tenemos que bajarnos los templates o crear uno especifico, para comenzar nos bajaremos un template ya creado.. Podemos bajar templates ya creados desde la siguiente dirección: [1]

Una vez ya tengamos los templates crearemos el container usando nuestro template:

vzctl create 1001 –ostemplate nombre_template 

configurar los parametros del container

vzctl set --ipadd ipaddr --nameserver nameserverIP --hostname hostname --save 

En este punto ya deberíamos ser capaces de arrancar la máquina

vzctl start vpsid 

Para consultar los recursos que esta consumiendo

vzcalc -v vpsid 

Para indicar que el container se inicie en el arranque:

vzctl set vpsid --onboot yes --save 

Podemos realizar cambios del resto de parametros de la configuración de igual manera:

vzctl set vpsid --vmguarpages $((256 * 256)) --save

Toda la configuración se almacena en /etc/vz/conf/container_id.conf , así que ante grandes cambios se puede modificar directamente el fichero de configuración y el comando vzcfgvalidate para validar si el fichero de configuración es correcto.

Uso de Containers

Si en un momento dado necesitamos entrar en la máquina, lo haremos de la siguiente manera:

vzctl enter vpid 

De esta forma entraremos directamente en la máquina como usuario root y sin que nos pida el password, realizaremos el trabajo que tengamos que hacer dentro de la máquina y saldremos de esta con un simple exit. Si lo que queremos es resetear el password, igual que con los cambios de configuración usaremos el vzctl

vzctl set vpsid --userpasswd user:passwd 

Por último, si no queremos entrar,si no que simplemente queremos ejecutar un comando dentro de la maquina:

vzctl exec vpsid apt-get upgrade

Borrado de Containers

La última gestión que podemos realizar sobre el container es la eliminación del container, cuando se realiza no pide confirmación y elimina el container y todo el contenido, así que mejor pensarselo dos veces antes de dar al enter. Para eliminar un container lo que tenemos que hacer es llamaar a vzctl con el parametro destroy y el id del container.

vzctl destroy veid