Virtualización · 4 min read · Jan 31, 2026

Virtualización Con KVM En Un Servidor CentOS 5.2

Virtualización Con KVM En Un Servidor CentOS 5.2

Versión 1.0
Autor: Falko Timme

Esta guía explica cómo puedes instalar y usar KVM para crear y ejecutar máquinas virtuales en un servidor CentOS 5.2. Te mostraré cómo crear máquinas virtuales basadas en imágenes y también máquinas virtuales que utilizan un volumen lógico (LVM). KVM es la abreviatura de Máquina Virtual Basada en Núcleo y hace uso de la virtualización por hardware, es decir, necesitas una CPU que soporte virtualización por hardware, por ejemplo, Intel VT o AMD-V.

¡No ofrezco ninguna garantía de que esto funcione para ti!

1 Nota Preliminar

Estoy usando un servidor CentOS 5.2 con el nombre de host server1.example.com y la dirección IP 192.168.0.100 aquí como mi host KVM.

También necesitamos un sistema de escritorio donde instalemos virt-manager para que podamos conectarnos a la consola gráfica de las máquinas virtuales que instalamos. Estoy usando un escritorio Ubuntu 8.10 aquí.

2 Instalando KVM

Host KVM de CentOS 5.2:

Ejecuta

system-config-securitylevel

y establece SELinux en Permisivo (virt-install no funcionará si estableces SELinux en Deshabilitado).

Luego verifica si tu CPU soporta virtualización por hardware; si este es el caso, el comando

egrep '(vmx|svm)' --color=always /proc/cpuinfo

debe mostrar algo, por ejemplo, así:

[root@server1 ~]# egrep '(vmx|svm)' --color=always /proc/cpuinfo  
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall  
 nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy misalignsse  
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall  
 nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy misalignsse  
[root@server1 ~]#

Si no se muestra nada, entonces tu procesador no soporta virtualización por hardware, y debes detenerte aquí.

Ahora importamos las claves GPG para los paquetes de software:

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*

Para instalar KVM y virtinst (una herramienta para crear máquinas virtuales), ejecutamos

yum install kvm kmod-kvm qemu libvirt python-virtinst

Luego reinicia el sistema:

reboot

Después del reinicio, el módulo del núcleo KVM debería estar cargado:

lsmod | grep kvm
[root@server1 ~]# lsmod | grep kvm  
kvm_amd                50452  0  
kvm                    109264  1 kvm_amd  
[root@server1 ~]#

(Esta salida es de un sistema con un procesador AMD-V. Si tu sistema usa una CPU Intel VT, debería mostrar algo como kvm_intel.)

Para verificar si KVM se ha instalado correctamente, ejecuta

virsh -c qemu:///system list

Debería mostrar algo como esto:

[root@server1 ~]# virsh -c qemu:///system list  
 Id Name                 State  
----------------------------------  
  
[root@server1 ~]#

Si muestra un error en su lugar, entonces algo salió mal.

A continuación, necesitamos configurar un puente de red en nuestro servidor para que nuestras máquinas virtuales puedan ser accedidas desde otros hosts como si fueran sistemas físicos en la red.

Para hacer esto, instalamos el paquete bridge-utils…

yum install bridge-utils

… y configuramos un puente. Crea el archivo /etc/sysconfig/network-scripts/ifcfg-br0 (por favor usa los valores de BOOTPROTO, BROADCAST, IPADDR, NETMASK y NETWORK del archivo /etc/sysconfig/network-scripts/ifcfg-eth0):

vi /etc/sysconfig/network-scripts/ifcfg-br0

| DEVICE=br0 TYPE=Bridge BOOTPROTO=static BROADCAST=192.168.0.255 IPADDR=192.168.0.100 NETMASK=255.255.255.0 NETWORK=192.168.0.0 ONBOOT=yes |

Modifica /etc/sysconfig/network-scripts/ifcfg-eth0 de la siguiente manera (comenta BOOTPROTO, BROADCAST, IPADDR, NETMASK y NETWORK y añade BRIDGE=br0):

vi /etc/sysconfig/network-scripts/ifcfg-eth0

| # Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ DEVICE=eth0 #BOOTPROTO=static #BROADCAST=192.168.0.255 HWADDR=00:10:A7:05:AF:EB #IPADDR=192.168.0.100 #NETMASK=255.255.255.0 #NETWORK=192.168.0.0 ONBOOT=yes BRIDGE=br0 |

Reinicia la red…

/etc/init.d/network restart

… y ejecuta

ifconfig

Ahora debería mostrar el puente de red (br0):

[root@server1 ~]# ifconfig  
br0       Link encap:Ethernet  HWaddr 00:10:A7:05:AF:EB  
          inet addr:192.168.0.100  Bcast:192.168.0.255  Mask:255.255.255.0  
          inet6 addr: fe80::210:a7ff:fe05:afeb/64 Scope:Link  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1  
          RX packets:17 errors:0 dropped:0 overruns:0 frame:0  
          TX packets:53 errors:0 dropped:0 overruns:0 carrier:0  
          collisions:0 txqueuelen:0  
          RX bytes:1160 (1.1 KiB)  TX bytes:14875 (14.5 KiB)  
  
eth0      Link encap:Ethernet  HWaddr 00:10:A7:05:AF:EB  
          inet6 addr: fe80::210:a7ff:fe05:afeb/64 Scope:Link  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1  
          RX packets:13662 errors:7 dropped:160 overruns:4 frame:0  
          TX packets:11646 errors:0 dropped:0 overruns:0 carrier:0  
          collisions:0 txqueuelen:1000  
          RX bytes:15144608 (14.4 MiB)  TX bytes:1379942 (1.3 MiB)  
          Interrupt:74 Base address:0xcc00  
  
lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0  
          inet6 addr: ::1/128 Scope:Host  
          UP LOOPBACK RUNNING  MTU:16436  Metric:1  
          RX packets:38 errors:0 dropped:0 overruns:0 frame:0  
          TX packets:38 errors:0 dropped:0 overruns:0 carrier:0  
          collisions:0 txqueuelen:0  
          RX bytes:4308 (4.2 KiB)  TX bytes:4308 (4.2 KiB)  
  
virbr0    Link encap:Ethernet  HWaddr 00:00:00:00:00:00  
          inet addr:192.168.122.1  Bcast:192.168.122.255  Mask:255.255.255.0  
          inet6 addr: fe80::200:ff:fe00:0/64 Scope:Link  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1  
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0  
          TX packets:35 errors:0 dropped:0 overruns:0 carrier:0  
          collisions:0 txqueuelen:0  
          RX bytes:0 (0.0 b)  TX bytes:9987 (9.7 KiB)  
  
[root@server1 ~]#

3 Instalando virt-viewer O virt-manager En Tu Escritorio Ubuntu 8.10

Escritorio Ubuntu 8.10:

Necesitamos un medio para conectarnos a la consola gráfica de nuestros invitados; podemos usar virt-manager (ver Gestión de Invitados KVM Con Virt-Manager En Ubuntu 8.10) para esto. Asumo que estás usando un escritorio Ubuntu 8.10.

Ejecuta

sudo aptitude install virt-manager

para instalar virt-manager.

(Si estás usando un escritorio Fedora 10, puedes instalar virt-manager de la siguiente manera:

Conviértete en root…

su

… y ejecuta

yum install virt-manager

)

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.