OpenVZ instalación · 4 min read · Dec 08, 2025
Instalación y uso de OpenVZ en CentOS 6.0
Instalación y uso de OpenVZ en CentOS 6.0
Versión 1.0
Autor: Falko Timme
Sígueme en Twitter
En este HowTo describiré cómo preparar un servidor CentOS 6.0 para OpenVZ. Con OpenVZ puedes crear múltiples Servidores Privados Virtuales (VPS) en el mismo hardware, similar a Xen y al proyecto Linux Vserver. OpenVZ es la rama de código abierto de Virtuozzo, una solución de virtualización comercial utilizada por muchos proveedores que ofrecen servidores virtuales. El parche del núcleo de OpenVZ está licenciado bajo la licencia GPL, y las herramientas a nivel de usuario están bajo la licencia QPL.
Este howto está destinado como una guía práctica; no cubre los antecedentes teóricos. Estos se tratan en muchos otros documentos en la web.
¡Este documento se proporciona sin garantía de ningún tipo! Quiero decir que esta no es la única forma de configurar un sistema así. Hay muchas maneras de lograr este objetivo, pero este es el camino que tomo. ¡No emito ninguna garantía de que esto funcione para ti!
1 Instalando OpenVZ
Para instalar OpenVZ, necesitamos agregar el repositorio de OpenVZ a yum:
cd /etc/yum.repos.d
wget http://download.openvz.org/openvz.repo
rpm –import http://download.openvz.org/RPM-GPG-Key-OpenVZ
Ahora abre openvz.repo…
vi openvz.repo… y desactiva el repositorio [openvz-kernel-rhel5] (enabled=0) y habilita el repositorio [openvz-kernel-rhel6] en su lugar (enabled=1):
| [...] [openvz-kernel-rhel5] name=OpenVZ RHEL5-based kernel #baseurl=http://download.openvz.org/kernel/branches/rhel5-2.6.18/current/ mirrorlist=http://download.openvz.org/kernel/mirrors-rhel5-2.6.18 enabled=0 gpgcheck=1 gpgkey=http://download.openvz.org/RPM-GPG-Key-OpenVZ [...] [openvz-kernel-rhel6] name=OpenVZ RHEL6-based kernel #baseurl=http://download.openvz.org/kernel/branches/rhel6-2.6.32/current/ mirrorlist=http://download.openvz.org/kernel/mirrors-rhel6-2.6.32 enabled=1 gpgcheck=1 gpgkey=http://download.openvz.org/RPM-GPG-Key-OpenVZ [...] |
El repositorio contiene algunos núcleos de OpenVZ diferentes (puedes encontrar más detalles sobre ellos aquí: http://wiki.openvz.org/Kernel_flavors). El comando
yum search vzkernelte muestra los núcleos disponibles:
[root@server1 yum.repos.d]# yum search vzkernel
[…]
vzkernel.i686 : El núcleo de Linux
vzkernel.x86_64 : El núcleo de Linux
vzkernel-debug.i686 : El núcleo de Linux compilado con depuración adicional habilitada
vzkernel-debug.x86_64 : El núcleo de Linux compilado con depuración adicional habilitada
vzkernel-debug-devel.i686 : Paquete de desarrollo para construir módulos del núcleo que coincidan con el núcleo de depuración
vzkernel-debug-devel.x86_64 : Paquete de desarrollo para construir módulos del núcleo que coincidan con el núcleo de depuración
vzkernel-devel.i686 : Paquete de desarrollo para construir módulos del núcleo que coincidan con el núcleo
vzkernel-devel.x86_64 : Paquete de desarrollo para construir módulos del núcleo que coincidan con el núcleo
vzkernel-firmware.noarch : Archivos de firmware utilizados por el núcleo de Linux
vzkernel-headers.i686 : Archivos de encabezado para el núcleo de Linux para uso por glibc
vzkernel-headers.x86_64 : Archivos de encabezado para el núcleo de Linux para uso por glibc
[root@server1 yum.repos.d]#
Elige uno de ellos e instálalo de la siguiente manera:
yum install vzkernelEsto debería actualizar automáticamente el cargador de arranque GRUB también. De todos modos, debemos abrir /boot/grub/menu.lst; la primera estrofa del núcleo ahora debería contener el nuevo núcleo de OpenVZ. El título de ese núcleo solo dice “CentOS Linux “. Creo que es una buena idea cambiar ese título y agregar algo con “OpenVZ” para que sepas que es el núcleo de OpenVZ. También asegúrate de que el valor de default sea 0 para que el primer núcleo (el núcleo de OpenVZ) se inicie automáticamente en lugar del núcleo predeterminado de CentOS.
vi /boot/grub/menu.lst| # grub.conf generado por anaconda # # Nota que no tienes que volver a ejecutar grub después de hacer cambios en este archivo # AVISO: Tienes una partición /boot. Esto significa que # todas las rutas del núcleo e initrd son relativas a /boot/, eg. # root (hd0,0) # kernel /vmlinuz-version ro root=/dev/mapper/vg_server1-lv_root # initrd /initrd-[generic-]version.img #boot=/dev/sda default=0 timeout=5 splashimage=(hd0,0)/grub/splash.xpm.gz hiddenmenu title CentOS Linux OpenVZ (2.6.32-042stab020.1) root (hd0,0) kernel /vmlinuz-2.6.32-042stab020.1 ro root=/dev/mapper/vg_server1-lv_root rd_LVM_LV=vg_server1/lv_root rd_LVM_LV=vg_server1/lv_swap rd_NO_LUKS rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=de crashkernel=auto rhgb quiet initrd /initramfs-2.6.32-042stab020.1.img title CentOS (2.6.32-71.el6.x86_64) root (hd0,0) kernel /vmlinuz-2.6.32-71.el6.x86_64 ro root=/dev/mapper/vg_server1-lv_root rd_LVM_LV=vg_server1/lv_root rd_LVM_LV=vg_server1/lv_swap rd_NO_LUKS rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=de crashkernel=auto rhgb quiet initrd /initramfs-2.6.32-71.el6.x86_64.img |
Ahora instalamos algunas herramientas de usuario de OpenVZ:
yum install vzctl vzquotaAbre /etc/sysctl.conf y asegúrate de que tengas las siguientes configuraciones en él:
vi /etc/sysctl.conf| [...] net.ipv4.ip_forward = 1 net.ipv4.conf.default.proxy_arp = 0 net.ipv4.conf.all.rp_filter = 1 kernel.sysrq = 1 net.ipv4.conf.default.send_redirects = 1 net.ipv4.conf.all.send_redirects = 0 net.ipv4.icmp_echo_ignore_broadcasts=1 net.ipv4.conf.default.forwarding=1 [...] |
Si necesitas modificar /etc/sysctl.conf, ejecuta
sysctl -p despues.
El siguiente paso es importante si las direcciones IP de tus máquinas virtuales son de una subred diferente a la dirección IP del sistema host. ¡Si no haces esto, la red no funcionará en las máquinas virtuales!
Abre /etc/vz/vz.conf y establece NEIGHBOUR_DEVS en all:
vi /etc/vz/vz.conf| [...] NEIGHBOUR_DEVS=all [...] |
SELinux debe estar deshabilitado si deseas usar OpenVZ. Abre /etc/sysconfig/selinux y establece el valor de SELINUX en disabled:
vi /etc/sysconfig/selinux| # Este archivo controla el estado de SELinux en el sistema. # SELINUX= puede tomar uno de estos tres valores: # enforcing - La política de seguridad de SELinux se aplica. # permissive - SELinux imprime advertencias en lugar de aplicar. # disabled - No se carga ninguna política de SELinux. SELINUX=disabled # SELINUXTYPE= puede tomar uno de estos dos valores: # targeted - Los procesos objetivo están protegidos, # mls - Protección de Seguridad de Múltiples Niveles. SELINUXTYPE=targeted |
Finalmente, reinicia el sistema:
rebootSi tu sistema se reinicia sin problemas, ¡entonces todo está bien!
Ejecuta
uname -ry tu nuevo núcleo de OpenVZ debería aparecer:
[root@server1 ~]# uname -r
2.6.32-042stab020.1
[root@server1 ~]#
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.