Virtualización · 5 min read · Feb 01, 2026

Virtualización con KVM en un servidor Fedora 11

Virtualización con KVM en un servidor Fedora 11

Versión 1.0
Autor: Falko Timme

Este guía explica cómo puedes instalar y usar KVM para crear y ejecutar máquinas virtuales en un servidor Fedora 11. 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 el Núcleo y hace uso de la virtualización de hardware, es decir, necesitas un CPU que soporte la virtualización de 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 Fedora 11 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 Fedora 11 aquí.

2 Instalando KVM

Host KVM de Fedora 11:

Primero verifica si tu CPU soporta la virtualización de hardware - si este es el caso, el comando

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

debería mostrar algo, por ejemplo, algo como esto:

[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 rep_good nopl pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy 3dnowprefetch  
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 rep_good nopl pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy 3dnowprefetch  
[root@server1 ~]#

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

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

yum install kvm qemu libvirt python-virtinst

Luego inicia el demonio libvirt:

/etc/init.d/libvirtd start

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.

Desactivo el NetworkManager de Fedora y habilito la red “normal”. NetworkManager es bueno para escritorios donde las conexiones de red pueden cambiar (por ejemplo, LAN vs. WLAN), pero en un servidor generalmente no cambias las conexiones de red:

chkconfig NetworkManager off  
chkconfig --levels 35 network on  
/etc/init.d/network restart

Verifica tu /etc/resolv.conf si enumera todos los servidores de nombres que has configurado previamente:

cat /etc/resolv.conf

Si faltan servidores de nombres, ejecuta

system-config-network

y agrega nuevamente los servidores de nombres que faltan.

Para configurar el puente, crea el archivo /etc/sysconfig/network-scripts/ifcfg-br0 (por favor usa los valores BOOTPROTO, DNS1 (más cualquier otra configuración de DNS, si la hay), GATEWAY, IPADDR, NETMASK y SEARCH del archivo /etc/sysconfig/network-scripts/ifcfg-eth0):

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

| DEVICE=br0 TYPE=Bridge BOOTPROTO=static DNS1=145.253.2.75 GATEWAY=192.168.0.1 IPADDR=192.168.0.100 NETMASK=255.255.255.0 ONBOOT=yes SEARCH="example.com" |

Modifica /etc/sysconfig/network-scripts/ifcfg-eth0 de la siguiente manera (comenta BOOTPROTO, DNS1 (y todos los demás servidores DNS, si los hay), GATEWAY, IPADDR, NETMASK y SEARCH y agrega BRIDGE=br0):

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

| # Interfaz de Red DEVICE=eth0 #BOOTPROTO=none #DNS1=145.253.2.75 #GATEWAY=192.168.0.1 HWADDR=00:1e:90:f3:f0:02 #IPADDR=192.168.0.100 #NETMASK=255.255.255.0 ONBOOT=yes TYPE=Ethernet IPV6INIT=no USERCTL=no BRIDGE=br0 |

Luego reinicia el sistema:

reboot

Después del reinicio, ejecuta

ifconfig

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

[root@server1 ~]# ifconfig  
br0       Link encap:Ethernet  HWaddr 00:1E:90:F3:F0:02  
          inet addr:192.168.0.100  Bcast:192.168.0.255  Mask:255.255.255.0  
          inet6 addr: fe80::21e:90ff:fef3:f002/64 Scope:Link  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1  
          RX packets:113 errors:0 dropped:0 overruns:0 frame:0  
          TX packets:91 errors:0 dropped:0 overruns:0 carrier:0  
          collisions:0 txqueuelen:0  
          RX bytes:16520 (16.1 KiB)  TX bytes:11889 (11.6 KiB)  
  
eth0      Link encap:Ethernet  HWaddr 00:1E:90:F3:F0:02  
          inet6 addr: fe80::21e:90ff:fef3:f002/64 Scope:Link  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1  
          RX packets:136 errors:0 dropped:0 overruns:0 frame:0  
          TX packets:98 errors:0 dropped:0 overruns:0 carrier:0  
          collisions:0 txqueuelen:1000  
          RX bytes:22152 (21.6 KiB)  TX bytes:14147 (13.8 KiB)  
          Interrupt:28 Base address:0x2000  
  
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:10 errors:0 dropped:0 overruns:0 frame:0  
          TX packets:10 errors:0 dropped:0 overruns:0 carrier:0  
          collisions:0 txqueuelen:0  
          RX bytes:746 (746.0 b)  TX bytes:746 (746.0 b)  
  
virbr0    Link encap:Ethernet  HWaddr E2:54:14:EA:7A:01  
          inet addr:192.168.122.1  Bcast:192.168.122.255  Mask:255.255.255.0  
          inet6 addr: fe80::e054:14ff:feea:7a01/64 Scope:Link  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1  
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0  
          TX packets:29 errors:0 dropped:0 overruns:0 carrier:0  
          collisions:0 txqueuelen:0  
          RX bytes:0 (0.0 b)  TX bytes:5156 (5.0 KiB)  
  
[root@server1 ~]#

3 Instalando virt-manager en tu escritorio Fedora 11

Escritorio Fedora 11:

Necesitamos un medio para conectarnos a la consola gráfica de nuestros invitados - podemos usar virt-manager para esto. Asumo que estás usando un escritorio Fedora 11.

Conviértete en root…

su

… y ejecuta…

yum install virt-manager

… para instalar virt-manager.

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

sudo aptitude install virt-manager

)

4 Creando un invitado Debian Lenny (basado en imagen)

Host KVM de Fedora 11:

Ahora volvamos a nuestro host KVM de Fedora 11.

Echa un vistazo a

man virt-install

para aprender cómo usarlo.

Para crear un invitado Debian Lenny (en modo puente) con el nombre vm10, 512MB de RAM, dos CPUs virtuales y la imagen de disco ~/vm10.qcow2 (con un tamaño de 12GB), inserta el CD de instalación de Debian Lenny en la unidad de CD y ejecuta

virt-install --connect qemu:///system -n vm10 -r 512 --vcpus=2 -f ~/vm10.qcow2 -s 12 -c /dev/cdrom --vnc --noautoconsole --os-type linux --os-variant debianlenny --accelerate --network=bridge:br0 --hvm

Por supuesto, también puedes crear una imagen ISO del CD de instalación de Debian Lenny…

dd if=/dev/cdrom of=~/debian-500-amd64-netinst.iso

… y usar la imagen ISO en el comando virt-install:

virt-install --connect qemu:///system -n vm10 -r 512 --vcpus=2 -f ~/vm10.qcow2 -s 12 -c ~/debian-500-amd64-netinst.iso --vnc --noautoconsole --os-type linux --os-variant debianlenny --accelerate --network=bridge:br0 --hvm

La salida es la siguiente:

[root@server1 ~]# virt-install --connect qemu:///system -n vm10 -r 512 --vcpus=2 -f ~/vm10.qcow2 -s 12 -c ~/debian-500-amd64-netinst.iso --vnc --noautoconsole --os-type linux --os-variant debianlenny --accelerate --network=bridge:br0 --hvm  


Iniciando la instalación...  
Creando archivo de almacenamiento...                              |  12 GB     00:00  
Creando dominio...                                        
                                              |    0 B     00:00  
La instalación del dominio aún está en progreso. Puedes reconectarte a  
la consola para completar el proceso de instalación.  
[root@server1 ~]#
Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

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