Virtualización OpenVZ

El OpenVZ es un proyecto de virtualización basado en containers. OpenVz crea containers (también 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 pensárselo dos veces antes de dar al enter. Para eliminar un container lo que tenemos que hacer es llamar a vzctl con el parámetro destroy y el id del container.
vzctl destroy veid