Instalar KVM en Centos 7 64 bits


Lo más complicado de este giro es encontrar información en nuestro idioma (español), porque todo esta en ingles. Pero mi pequeña meta es poder aportar documentación en español de cosas que uso, como este caso KVM.

KVM (Kernel-based Virtual Machine) es una solución de virtualización completa para Linux en hardware x86 que contiene extensiones de virtualización Intel VT or AMD-V

Usando KVM uno puede ejecutar multiples máquinas virtuales ejecutando imágenes de Linux o Windows. Cada máquina virtual tiene hardware virtualizado privado como tarjeta de red, disco, gráficos, etc…

Esta instalación la hice en:

  • ThinkServer TS100
  • RAM: 8GB
  • HDD: 500GB
  • SOCKET: 1
  • Cores: 4
  • Sistema Operativo: Centos 7 64 bits (Linux hypervisor 3.10.0-693.5.2.el7.x86_64)

Nota: Esto es una instalación de KVM sin interfaz gráfica y todo será vía consola y comandos. Por lo que todo lo hago con root.

También se debe modificar el nivel de SELinux a permissive, aquí el como.

Hay que instalar los siguientes paquetes:

yum install qemu-kvm \
qemu-img \
libvirt \
libvirt-python \
libvirt-client \
virt-install \
bridge-utils \
virt-top

De manera personal prefiero hacer primero el disco, con el siguiente comando:

qemu-img create -f raw -o size=10G /srv/vm/centos-7.raw

Lo que hace el comando es crear un disco con el formato raw con la capacidad de 10 gigabytes en la carpeta (path) “/srv/vm” y el archivo se llama “centos-7.raw”

Ahora debemos crear una bridge en la red para que las máquinas virtuales la usen para tener salida a internet, la configuración de la red puede ser de diferentes maneras sin embargo es preferible hacerlo así para que si tienen varias interfaces de red físicas puedan usarlas todas con este “bridge”

echo "net.ipv4.ip_forward = 1"|sudo tee /etc/sysctl.d/99-ipforward.conf

sysctl -p /etc/sysctl.d/99-ipforward.conf
net.ipv4.ip_forward = 1

Ahora debemos modificar los scripts que hay en la siguiente carpeta “/etc/sysconfig/network-scripts/”

Captura de pantalla 2017-12-04 a la(s) 2.33.34 p. m.

En mi caso es el archivo ifcfg-Conexión_Ethernet_1 porque internamente hace mención a la interfaz de red

TYPE=Ethernet
NAME=$'Conexi\703\663n Ethernet 1'
UUID=12a5eec5-372c-4d0d-905f-d0970055cec1
DEVICE=enp3s0
ONBOOT=yes
BRIDGE_UUID=4ed49abd-849d-4f6d-9991-0d6b722c1e27
BRIDGE=virbr0
ZONE=public

Y ahora hay que crear la interfaz virtual “ifcfg-virbr0”

DEVICE=virbr0
STP=yes
DELAY=2
BRIDGING_OPTS=priority=32768
TYPE=Bridge
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
IPADDR=192.168.100.30
PREFIX=24
GATEWAY=192.168.100.1
DNS1=8.8.8.8
DNS2=8.8.4.4
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV4_DNS_PRIORITY=100
IPV6INIT=no
NAME=virbr0
UUID=4ed49abd-849d-4f6d-9991-0d6b722c1e27
ONBOOT=yes
ETHTOOL_OPTS=
ZONE=public

Ahora vamos a reiniciar las interfaces

/etc/init.d/network restart

Antes de crear la máquina virtual podremos ver una lista de sistemas operativos que “soporta” KVM, en el sentido que ya tiene per-configuraciones de hardware para soportar ciertos sistemas operativos, haciendo el siguiente comando:

osinfo-query os

Captura de pantalla 2017-12-04 a la(s) 2.46.53 p. m.

Y ahora creamos la VM (Máquina virtual)

virt-install --connect qemu:///system \
--name centos-7 \
--ram 2048 \
--vcpus=2 \
--check-cpu \
--disk path=/srv/vm/centos-7.raw,size=10,bus=virtio,cache=none \
--graphics vnc,listen=0.0.0.0 \
--noautoconsole \
--os-type linux \
--os-variant centos7.0 \
--accelerate \
--network=bridge:virbr0 \
--hvm \
--cdrom /data/isos/linux/CentOS-7-x86_64-Minimal-1611.iso

Esto creara la máquina y para continuar con la instalación hay que seguir por VNC, así que usando cualquier cliente VNC. Podemos ejecutar el siguiente comando en la consola del hipervisor

netstat -tln|grep :59

Nota: KVM usa los puertos estándares de VNC para las máquinas virtuales creadas entonces será la [IP del hipervisor]:59XX

Captura de pantalla 2017-12-04 a la(s) 2.51.13 p. m.

Con estos sencillos pasos habremos creado la máquina virtual.

Un comentario en “Instalar KVM en Centos 7 64 bits

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s