OpenVZ instalación · 5 min read · Jan 19, 2026
Instalación y uso de OpenVZ en CentOS 5.7
Instalación y uso de OpenVZ en CentOS 5.7
Versión 1.0
Autor: Falko Timme
Sígueme en Twitter
En este HowTo describiré cómo preparar un servidor CentOS 5.7 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 de 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 elijo. 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-OpenVZAhora abre openvz.repo…
vi openvz.repo… y desactiva el repositorio [openvz-kernel-rhel6] (enabled=0) y habilita el repositorio [openvz-kernel-rhel5] en su lugar (enabled=1):
| [...] # Ramas estables [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=0 gpgcheck=1 gpgkey=http://download.openvz.org/RPM-GPG-Key-OpenVZ [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=1 gpgcheck=1 gpgkey=http://download.openvz.org/RPM-GPG-Key-OpenVZ [openvz-kernel-rhel4] name=OpenVZ RHEL4-based kernel #baseurl=http://download.openvz.org/kernel/branches/rhel4-2.6.9/current/ mirrorlist=http://download.openvz.org/kernel/mirrors-rhel4-2.6.9 enabled=0 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 ovzkernelte muestra los núcleos disponibles:
[root@server1 yum.repos.d]# yum search vzkernel
...
ovzkernel.i686 : Núcleo de Virtuozzo Linux (el núcleo del sistema operativo Linux)
ovzkernel.x86_64 : Núcleo de Virtuozzo Linux (el núcleo del sistema operativo Linux)
ovzkernel-PAE.i686 : El núcleo de Linux compilado para máquinas capaces de PAE.
ovzkernel-PAE-devel.i686 : Paquete de desarrollo para construir módulos del núcleo que coincidan con el núcleo PAE.
ovzkernel-devel.i686 : Paquete de desarrollo para construir módulos del núcleo que coincidan con el núcleo.
ovzkernel-devel.x86_64 : Paquete de desarrollo para construir módulos del núcleo que coincidan con el núcleo.
ovzkernel-ent.i686 : El núcleo de Linux compilado para máquinas con gran memoria.
ovzkernel-ent-devel.i686 : Paquete de desarrollo para construir módulos del núcleo que coincidan con el núcleo ent.
ovzkernel-xen.i686 : El núcleo de Linux compilado para operaciones de VM de Xen
ovzkernel-xen.x86_64 : El núcleo de Linux compilado para operaciones de VM de Xen
ovzkernel-xen-devel.i686 : Paquete de desarrollo para construir módulos del núcleo que coincidan con el núcleo.
ovzkernel-xen-devel.x86_64 : Paquete de desarrollo para construir módulos del núcleo que coincidan con el núcleo.
[root@server1 yum.repos.d]#Elige uno de ellos e instálalo de la siguiente manera:
yum install ovzkernelSi el último comando te da errores como…
WARNING: /lib/modules/2.6.18-274.el5.028stab093.2/kernel/drivers/acpi/acpi_memhotplug.ko needs unknown symbol strcpy
WARNING: /lib/modules/2.6.18-274.el5.028stab093.2/kernel/drivers/acpi/acpi_memhotplug.ko needs unknown symbol add_memory
WARNING: /lib/modules/2.6.18-274.el5.028stab093.2/kernel/drivers/acpi/acpi_memhotplug.ko needs unknown symbol swiotlb
WARNING: /lib/modules/2.6.18-274.el5.028stab093.2/kernel/drivers/acpi/acpi_memhotplug.ko needs unknown symbol memory_add_physaddr_to_nid
WARNING: /lib/modules/2.6.18-274.el5.028stab093.2/kernel/drivers/acpi/acpi_memhotplug.ko needs unknown symbol remove_memory
WARNING: /lib/modules/2.6.18-274.el5.028stab093.2/kernel/drivers/acpi/acpi_memhotplug.ko needs unknown symbol strcmp
WARNING: /lib/modules/2.6.18-274.el5.028stab093.2/kernel/drivers/acpi/acpi_memhotplug.ko needs unknown symbol acpi_get_node
WARNING: /lib/modules/2.6.18-274.el5.028stab093.2/kernel/drivers/edac/amd64_edac_mod.ko needs unknown symbol amd_unregister_ecc_decoder
WARNING: /lib/modules/2.6.18-274.el5.028stab093.2/kernel/drivers/edac/amd64_edac_mod.ko needs unknown symbol amd_register_ecc_decoder
WARNING: /lib/modules/2.6.18-274.el5.028stab093.2/kernel/drivers/edac/amd64_edac_mod.ko needs unknown symbol amd_report_gart_errors
WARNING: /lib/modules/2.6.18-274.el5.028stab093.2/kernel/drivers/edac/amd64_edac_mod.ko needs unknown symbol amd_decode_nb_mce
WARNING: /lib/modules/2.6.18-274.el5.028stab093.2/kernel/drivers/cpufreq/freq_table.ko needs unknown symbol strcpy
WARNING: /lib/modules/2.6.18-274.el5.028stab093.2/kernel/drivers/cpufreq/freq_table.ko needs unknown symbol _cpu_pda
WARNING: /lib/modules/2.6.18-274.el5.028stab093.2/kernel/drivers/edac/i7core_edac.ko needs unknown symbol edac_mce_register
WARNING: /lib/modules/2.6.18-274.el5.028stab093.2/kernel/drivers/edac/i7core_edac.ko needs unknown symbol edac_mce_unregister
WARNING: /lib/modules/2.6.18-274.el5.028stab093.2/kernel/drivers/edac/i7core_edac.ko needs unknown symbol __memcpy
WARNING: /lib/modules/2.6.18-274.el5.028stab093.2/kernel/drivers/infiniband/hw/ipath/ib_ipath.ko needs unknown symbol dma_ops
WARNING: /lib/modules/2.6.18-274.el5.028stab093.2/kernel/drivers/infiniband/hw/ipath/ib_ipath.ko needs unknown symbol copy_from_user
WARNING: /lib/modules/2.6.18-274.el5.028stab093.2/kernel/drivers/infiniband/hw/ipath/ib_ipath.ko needs unknown symbol bad_dma_address
WARNING: /lib/modules/2.6.18-274.el5.028stab093.2/kernel/drivers/infiniband/hw/ipath/ib_ipath.ko needs unknown symbol find_first_bit
WARNING: /lib/modules/2.6.18-274.el5.028stab093.2/kernel/drivers/infiniband/hw/ipath/ib_ipath.ko needs unknown symbol strcat
WARNING: /lib/modules/2.6.18-274.el5.028stab093.2/kernel/drivers/infiniband/hw/ipath/ib_ipath.ko needs unknown symbol mem_section
WARNING: /lib/modules/2.6.18-274.el5.028stab093.2/kernel/drivers/infiniband/hw/ipath/ib_ipath.ko needs unknown symbol copy_to_user
WARNING: /lib/modules/2.6.18-274.el5.028stab093.2/kernel/drivers/infiniband/hw/ipath/ib_ipath.ko needs unknown symbol strncpy
WARNING: /lib/modules/2.6.18-274.el5.028stab093.2/kernel/drivers/infiniband/hw/ipath/ib_ipath.ko needs unknown symbol __memcpy
WARNING: /lib/modules/2.6.18-274.el5.028stab093.2/kernel/drivers/infiniband/hw/ipath/ib_ipath.ko needs unknown symbol strcmp
WARNING: /lib/modules/2.6.18-274.el5.028stab093.2/kernel/drivers/infiniband/hw/ipath/ib_ipath.ko needs unknown symbol alloc_pages_current
WARNING: /lib/modules/2.6.18-274.el5.028stab093.2/kernel/arch/x86_64/kernel/microcode.ko needs unknown symbol copy_from_user
WARNING: /lib/modules/2.6.18-274.el5.028stab093.2/kernel/arch/x86_64/oprofile/oprofile.ko needs unknown symbol cpu_to_node
WARNING: /lib/modules/2.6.18-274.el5.028stab093.2/kernel/arch/x86_64/oprofile/oprofile.ko needs unknown symbol copy_from_user
WARNING: /lib/modules/2.6.18-274.el5.028stab093.2/kernel/arch/x86_64/oprofile/oprofile.ko needs unknown symbol copy_user_generic
WARNING: /lib/modules/2.6.18-274.el5.028stab093.2/kernel/arch/x86_64/oprofile/oprofile.ko needs unknown symbol profile_pc
WARNING: /lib/modules/2.6.18-274.el5.028stab093.2/kernel/arch/x86_64/oprofile/oprofile.ko needs unknown symbol copy_to_user
WARNING: /lib/modules/2.6.18-274.el5.028stab093.2/kernel/arch/x86_64/oprofile/oprofile.ko needs unknown symbol strcmp
WARNING: /lib/modules/2.6.18-274.el5.028stab093.2/kernel/arch/x86_64/kernel/cpufreq/powernow-k8.ko needs unknown symbol strncmp
WARNING: /lib/modules/2.6.18-274.el5.028stab093.2/kernel/arch/x86_64/kernel/cpufreq/powernow-k8.ko needs unknown symbol _cpu_pda
WARNING: /lib/modules/2.6.18-274.el5.028stab093.2/kernel/drivers/pci/hotplug/shpchp.ko needs unknown symbol strcpy… por favor elimina ovzkernel…
yum remove ovzkernel… e instala el paquete ovzkernel para tu arquitectura:
En sistemas x86_64:
yum install ovzkernel.x86_64En sistemas i686:
yum install ovzkernel.i686Esto debería actualizar automáticamente el cargador de arranque GRUB también. De todos modos, deberíamos abrir /boot/grub/menu.lst; la primera entrada del núcleo debería ahora contener el nuevo núcleo de OpenVZ. 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 # # Ten en cuenta 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 y initrd son relativas a /boot/, por ejemplo. # root (hd0,0) # kernel /vmlinuz-version ro root=/dev/VolGroup00/LogVol00 # initrd /initrd-version.img #boot=/dev/sda default=0 timeout=5 splashimage=(hd0,0)/grub/splash.xpm.gz hiddenmenu title OpenVZ (2.6.18-274.el5.028stab093.2) root (hd0,0) kernel /vmlinuz-2.6.18-274.el5.028stab093.2 ro root=/dev/VolGroup00/LogVol00 selinux=0 initrd /initrd-2.6.18-274.el5.028stab093.2.img title CentOS (2.6.18-274.el5) root (hd0,0) kernel /vmlinuz-2.6.18-274.el5 ro root=/dev/VolGroup00/LogVol00 initrd /initrd-2.6.18-274.el5.img |
Ahora instalamos algunas herramientas de usuario de OpenVZ:
yum install vzctl vzquotaAbre /etc/sysctl.conf y asegúrate de que tienes 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 -pdespues.
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 necesita ser 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 - SELinux está completamente deshabilitado. SELINUX=disabled # SELINUXTYPE= tipo de política en uso. Los valores posibles son: # targeted - Solo se protegen los demonios de red dirigidos. # strict - Protección completa de SELinux. 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.18-274.el5.028stab093.2
[root@server1 ~]#Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.