KVM (Máquina virtual basada en kernel) es una solución de virtualización completa de código abierto para sistemas similares a Linux, KVM proporciona funcionalidad de virtualización utilizando las extensiones de virtualización como Intel VT o AMD-V. Cada vez que instalamos KVM en cualquier caja de Linux, lo convierte en el hyervisor al cargar los módulos del kernel como kvm-intel.ko(para máquinas basadas en Intel) y kvm-amd.ko (para máquinas basadas en amd).
KVM nos permite instalar y ejecutar varias máquinas virtuales (Windows y Linux). Podemos crear y administrar máquinas virtuales basadas en KVM a través de virt-manager interfaz gráfica de usuario o virt-instalar & virsh comandos CLI.
En este artículo discutiremos cómo instalar y configurar Hipervisor KVM en el servidor Ubuntu 18.04 LTS. Supongo que ya ha instalado el servidor Ubuntu 18.04 LTS en su sistema. Inicie sesión en su servidor y realice los siguientes pasos.
Paso: 1 Verifique si su sistema es compatible con la virtualización de hardware
Ejecute el siguiente comando egrep para verificar si su sistema es compatible con la virtualización de hardware o no,
[email protected]:~$ egrep -c '(vmx|svm)' /proc/cpuinfo 1 [email protected]:~$
Si la salida es mayor que 0, significa que su sistema es compatible con la virtualización; de lo contrario, reinicie su sistema, luego vaya a la configuración del BIOS y habilite la tecnología VT.
Ahora instalar «kvm-ok” usando el siguiente comando, se usa para determinar si su servidor es capaz de ejecutar máquinas virtuales KVM aceleradas por hardware
[email protected]:~$ sudo apt install cpu-checker
Ejecute el comando kvm-ok y verifique la salida,
[email protected]:~$ sudo kvm-ok INFO: /dev/kvm exists KVM acceleration can be used [email protected]:~$
Paso:2 Instale KVM y sus paquetes necesarios
Ejecute los siguientes comandos aptos para instalar KVM y sus dependencias
[email protected]:~$ sudo apt update [email protected]:~$ sudo apt install qemu qemu-kvm libvirt-bin bridge-utils virt-manager
Una vez que los paquetes anteriores se hayan instalado correctamente, su usuario local (en mi caso, linuxtechi) se agregará al grupo libvirtd automáticamente.
Paso:3 Inicie y habilite el servicio libvirtd
Siempre que instalemos los paquetes qemu y libvirtd en el servidor Ubuntu 18.04, se iniciará y habilitará automáticamente el servicio libvirtd. En caso de que el servicio libvirtd no se inicie y active, ejecute los comandos.
[email protected]:~$ sudo service libvirtd start [email protected]:~$ sudo update-rc.d libvirtd enable
Ahora verifique el estado del servicio libvirtd usando el siguiente comando,
[email protected]:~$ service libvirtd status
La salida sería algo como a continuación:
Paso:4 Configure Network Bridge para máquinas virtuales KVM
Se requiere un puente de red para acceder a las máquinas virtuales basadas en KVM fuera del hipervisor o host KVM. En Ubuntu 18.04, la red es administrada por la utilidad netplan, cada vez que instalamos el servidor Ubuntu 18.04 recientemente, el archivo netplan se crea bajo /etc/netplan/. En la mayoría de los entornos de hardware y virtualizados, el nombre del archivo netplan sería «50-cloud-init.yaml» o «01-netcfg.yaml”, para configurar IP estática y puente, la utilidad netplan remitirá este archivo.
A partir de ahora, ya configuré la IP estática a través de este archivo y el contenido de este archivo se encuentra a continuación:
network: ethernets: ens33: addresses: [192.168.0.51/24] gateway4: 192.168.0.1 nameservers: addresses: [192.168.0.1] dhcp4: no optional: true version: 2
Agreguemos la definición del puente de red en este archivo,
[email protected]:~$ sudo vi /etc/netplan/50-cloud-init.yaml
network: version: 2 ethernets: ens33: dhcp4: no dhcp6: no bridges: br0: interfaces: [ens33] dhcp4: no addresses: [192.168.0.51/24] gateway4: 192.168.0.1 nameservers: addresses: [192.168.0.1]
Como puede ver, eliminamos la dirección IP de la interfaz (ens33) y agregamos la misma IP al puente ‘br0‘ y también agregó la interfaz (ens33) al puente br0. Aplique estos cambios usando el siguiente comando netplan,
[email protected]:~$ sudo netplan apply [email protected]:~$
Si desea ver los registros de depuración, use el siguiente comando,
[email protected]:~$ sudo netplan --debug apply
Ahora verifique el estado del puente usando los siguientes métodos:
[email protected]:~$ sudo networkctl status -a
[email protected]:~$ ifconfig
Inicio:5 Creación de una máquina virtual (comando virt-manager o virt-install)
Hay dos formas de crear una máquina virtual:
- virt-manager (utilidad GUI)
- comando virt-install (utilidad cli)
Creando una máquina virtual usando virt-manager:
Inicie el virt-manager ejecutando el siguiente comando,
[email protected]:~$ sudo virt-manager
Crear una nueva máquina virtual
Haga clic en adelante y seleccione el archivo ISO, en mi caso estoy usando el archivo iso RHEL 7.3.
Haga clic en Reenviar
En las próximas dos ventanas, se le pedirá que especifique la RAM, la CPU y el disco para la máquina virtual.
Ahora especifique el nombre de la máquina virtual y la red,
Haga clic en Finalizar
Ahora siga las instrucciones de la pantalla y complete la instalación,
Leer más en: “Cómo crear, revertir y eliminar una instantánea de máquina virtual KVM (dominio) con el comando virsh”
Creando una máquina virtual desde CLI usando el comando virt-install,
Use el siguiente comando virt-install para crear una VM desde la terminal, comenzará la instalación en CLI, reemplazará el nombre de la VM, la descripción, la ubicación del archivo ISO y el puente de red según su configuración.
[email protected]:~$ sudo virt-install -n DB-Server --description "Test VM for Database" --os-type=Linux --os-variant=rhel7 --ram=1096 --vcpus=1 --disk path=/var/lib/libvirt/images/dbserver.img,bus=virtio,size=10 --network bridge:br0 --graphics none --location /home/linuxtechi/rhel-server-7.3-x86_64-dvd.iso --extra-args console=ttyS0
Con eso concluye el artículo, espero que este artículo lo ayude a instalar KVM en su servidor Ubuntu 18.04. Aparte de esto, KVM es el hipervisor predeterminado para Openstack.
Lea más en: Cómo instalar y configurar KVM en OpenSUSE Leap 15