Configurar Host Virtualizacion en Centos 7
Voy a reinstalar mi HP Microserver Gen8, y lo voy a reutilizar para nuevos laboratorios. Como VMware ESXi lo puedo seguir utilizando perfectamente, aún en la versión 6.7. Pero como ya tengo dos servers con 64GB de RAM, es mejor reutilizarlo para otros menesteres.
Hoy voy a probar Centos/Redhat 7 y voy a re-instalarlo como un host de virtualización KVM.
Configuración Network Centos 7
Lo primero es comprobar cómo están las tarjetas de red. Mi server tiene 4 tarjetas Ethernet de 1 GB, y por defecto estaban en modo no arrancar automáticamente. También se genera una tarjeta virtual vibrbr0-nic por defecto. ¿Cómo comprobáis esto? Con este comando:
1 2 3 4 5 6 7 8 9 |
[root@localhost ~]# nmcli d DEVICE TYPE STATE CONNECTION eno1 ethernet conectado eno1 ens1f1 ethernet conectado ens1f1 virbr0 bridge conectado virbr0 eno2 ethernet no disponible -- ens1f0 ethernet no disponible -- lo loopback sin gestión -- virbr0-nic tun sin gestión -- |
Para la modificar el arranque de esas tarjetas y poder acceder SSH a su gestión lanzáis el siguiente comando:
1 |
[root@localhost ~]# nmtui |
Que os lanzará una ventana gráfica donde podemos hacer las configuraciones visualmente y de forma muy intuitiva:
Si necesitáis reiniciar los interfaces de red:
1 |
service network restart |
Instalación KVM en Centos 7
Yo simplemente he bajado el DVD de Centos 7, lo he pasado con Rufus a un USB, y en el proceso de instalación he hecho una instalación como Host de Virtualización. Adicionalmente he agregado las herramientas disponibles. Podéis lanzarlo con un CentOS Minimal, con el siguiente comando:
1 |
yum install qemu-kvm libvirt libvirt-python libguestfs-tools virt-install |
Así que con todo preparado comprobamos:
1 2 |
[root@localhost ~]# lscpu | grep Virtualization Virtualization: VT-x |
Tenemos que comprobar que el demonio libvirtd está arrancado y running sin errores:
1 |
[root@localhost ~]# systemctl status libvirtd |
Verificamos que la instalación está OK:
1 2 3 4 |
[root@localhost ~]# lsmod | grep -i kvm kvm_intel 183621 0 kvm 586948 1 kvm_intel irqbypass 13503 1 kvm |
Verificamos adicionalmente que la interfaz creada para las máquinas virtuales está correcta:
1 2 3 |
[root@localhost ~]# brctl show bridge name bridge id STP enabled interfaces virbr0 8000.5254003775c1 yes virbr0-nic |
Y que va a arrancar correctamente en el inicio:
1 2 3 4 |
[root@localhost ~]# virsh net-list Nombre Estado Inicio automático Persistente ---------------------------------------------------------- default activo si si |
Revisamos el direccionamiento que dispondremos para las máquinas virtuales, por defecto 192.168.122.0/24, que es un interfaz en modo NAT para todas las VMs:
1 |
[root@localhost ~]# virsh net-dumpxml default |
Si queréis cambiarlo, con el comando “nmtui” que os hemos enseñado antes, no es muy complicado.
Creo que es importante, generar un interfaz en modo Bridge. Para que podamos usar el direcccionamiento normal de nuestra red. Para ello, mi servidor dispone de dos tarjetas Ethernet con dos puertos gigabit cada una. Realmente conectadas al switch sólo tengo una de cada. Así que usaré una para gestión y otra para las máquinas virtuales en modo bridge:
Os resumo, voy a utilizar “ens1f1”. Con lo que edito la configuración de la interfaz:
1 |
[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens1f1 |
Y añado la siguiente línea “BRIDGE=br0” y guardamos con :wq:
Ahora vamos a generar un interfaz nuevo:
1 |
[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-br0 |
Añadimos las siguientes líneas y guardamos:
1 2 3 4 5 6 7 |
DEVICE="br0" BOOTPROTO="dhcp" IPV6INIT="yes" IPV6_AUTOCONF="yes" ONBOOT="yes" TYPE="Bridge" DELAY="0" |
Reiniciamos servicios de red:
1 |
[root@localhost ~]# systemctl restart NetworkManager |
Comprobamos:
Con esto ya tenemos la configuración de red de nuestro host de virtualización Centos 7 KVM.
Instalar Dashboard Kimchi gestión KVM en Centos 7
Para poder gestionar más cómodamente KVM podemos utilizar una dashboard HTML5. Os enseño una la instalación de Kimchi, que es una de las más completas:
ENLACE DEPENDENCIAS: https://github.com/kimchi-project/kimchi/blob/master/docs/fedora-deps.md
1 2 3 4 5 6 7 8 |
wget http://kimchi-project.github.io/wok/downloads/latest/wok.el7.centos.noarch.rpm wget http://kimchi-project.github.io/kimchi/downloads/latest/kimchi.el7.centos.noarch.rpm yum -y install wok.el7.centos.noarch.rpm yum -y install ginger-base.el7.centos.noarch.rpm yum -y install kimchi.el7.centos.noarch.rpm sed -i 's/^#session_timeout = .*/session_timeout = 1440/g' /etc/wok/wok.conf systemctl enable wokd systemctl start wokd |
Una vez instalada, la web del dashboard escuchará sobre el puerto 8001:
Introducimos las credenciales de root si no hemos generado otras:
Se genera con el plugin de Kimchi un apartado de virtualización donde podremos manejarlas.
Creación Máquina Virtual en Host Centos 7 KVM
Lo primero que tendremos que hacer es descargar la ISO que nos interesa. Nos movemos al directorio de descarga:
1 |
[root@localhost ~]# cd /var/lib/libvirt/boot/ |
Y ahora descargamos la ISO. Usaré la Minimal de Centos 7, pero podría ser un Ubuntu u otra distribución:
1 2 3 4 5 6 7 8 9 10 11 |
[root@localhost boot]# wget https://mirrors.edge.kernel.org/centos/7.6.1810/isos/x86_64/CentOS-7-x86_64-Minimal-1810.iso --2019-04-07 00:31:33-- https://mirrors.edge.kernel.org/centos/7.6.1810/isos/x86_64/CentOS-7-x86_64-Minimal-1810.iso Resolviendo mirrors.edge.kernel.org (mirrors.edge.kernel.org)... 147.75.101.1, 2604:1380:2001:3900::1 Conectando con mirrors.edge.kernel.org (mirrors.edge.kernel.org)[147.75.101.1]:443... conectado. Petición HTTP enviada, esperando respuesta... 200 OK Longitud: 962592768 (918M) [application/octet-stream] Grabando a: “CentOS-7-x86_64-Minimal-1810.iso” 100%[=================================================================================================>] 962.592.768 12,1MB/s en 2m 10s 2019-04-07 00:33:43 (7,06 MB/s) - “CentOS-7-x86_64-Minimal-1810.iso” guardado [962592768/962592768] |
Una vez descargada podremos lanzar la creación de una máquina virtual. Yo he tenido que instalar el comando porque me faltaba:
1 |
[root@localhost boot]# yum install virt-install |
Ahora para instalar podemos utilizar el siguiente comando (puede haber variaciones según lo que queráis hacer):
1 2 3 4 5 6 7 |
[root@localhost boot]# virt-install --virt-type=kvm --name prueba01 --ram 2048 --vcpus=1 --os-variant=centos7.0 --cdrom=/var/lib/libvirt/boot/CentOS-7-x86_64-Minimal-1810.iso --network=bridge=br0,model=virtio --graphics vnc --disk path=/var/lib/libvirt/images/centos7.qcow2,size=20,bus=virtio,format=qcow2 WARNING No se ha podido conectar a una consola gráfica: no está instalado el virt-viewer. Por favor, instale el paquete "virt-viewer". WARNING No hay consola que lanzar para el invitado (guest), volviendo al valor predeterminado --wait -1 Empezando la instalación... Asignando 'centos7.qcow2' | 20 GB 00:00:00 Instalación de dominio aún en curso. Esperando para que la instalación se complete. |
Tardará unos minutos. Ahora comprobaremos la instalación.
Manejar Máquinas Virtuales en Centos 7 KVM
Podremos revisar las máquinas vía comando con:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
[root@localhost ~]# virsh dominfo prueba01 Id: - Nombre: prueba01 UUID: 306006c4-b367-4219-a77f-93de4873e8a8 Tipo de sistema operatuvo: hvm Estado: apagado CPU(s): 1 Memoria máxima: 2097152 KiB Memoria utilizada: 2097152 KiB Persistente: si Autoinicio: desactivar Guardar administrado: no Modelo de seguridad: none DOI de seguridad: 0 |
Editarla:
1 |
[root@localhost ~]# virsh edit prueba01 |
Apagarla:
1 |
[root@localhost ~]# virsh shutdown prueba01 |
Clonarla:
1 |
virt-clone --original prueba01 --auto-clone --name prueba02 |
Que la máquina autoarranque:
1 |
virsh autostart prueba01 |
O deshabilitar autoarranque:
1 |
virsh autostart --disable prueba01 |
Apagar máquina virtual:
1 |
virsh shutdown prueba01 |
Borrarla:
1 |
virsh undefine prueba01 |
Listar todas las máquinas:
1 |
virsh list |
Espero os sea interesante…
¿Te ha gustado la entrada SÍGUENOS EN TWITTER?
Te ha gustado la entrada SGUENOS EN TWITTER O INVITANOS A UN CAFE?