En este artículo veremos cómo instalar y configurar el Hipervisor KVM en un servidor que ejecuta Linux RHEL o CentOS. Mostraremos cómo crear una máquina virtual en KVM, cambiar su configuración e instalar un sistema operativo invitado. También describiremos algunos comandos típicos para administrar una VM.
KVM (máquina virtual basada en kernel) es un hipervisor de Linux que utiliza tecnologías de virtualización de hardware Intel VT o AMD SVM. Con KVM, puede crear máquinas virtuales aisladas con su propio hardware virtual: adaptadores de red, discos, tarjetas gráficas u otros dispositivos. Puede instalar cualquier SO invitado en una máquina virtual (no solo Linux).
¿Cómo instalar KVM en CentOS / RHEL?
Cuando configure KVM en su servidor, debe comenzar con una verificación de la CPU. Debe asegurarse de que la CPU instalada en su host sea compatible con la virtualización de hardware. Ejecute el siguiente comando en la consola de su servidor:
# cat /proc/cpuinfo | egrep "(vmx|svm)"
Si su procesador admite VT-x, verá una salida como esta:
Si el comando no ha devuelto nada, pero sabe que su CPU admite la virtualización, asegúrese de que esta opción no esté deshabilitada en el servidor. BIOS. Buscar Tecnología de virtualización de Intel o MODO SVM opciones.
Mi servidor es compatible con VT-x y está habilitado, por lo que podemos instalar los paquetes necesarios en CentOS / RHEL usando yum / dnf:
# yum install libvirt libvirt-python libguestfs-tools qemu-kvm virt-install –y
- qemu-kvm – el hipervisor KVM
- libvirt – bibliotecas de gestión de virtualización
- virt-install – Herramientas CLI para administrar máquinas virtuales KVM
Se instalarán muchos paquetes en su servidor Linux. Asegúrese de que no se produzcan errores durante la instalación.
Luego agregue el libvirtd servicio para iniciar y ejecutarlo:
# systemctl enable libvirtd
# systemctl start libvirtd
Asegúrate de eso kvm_intel y kernel kvm se han cargado los módulos:
# lsmod | grep kvm
kvm_intel 188688 0 kvm 636931 1 kvm_intel irqbypass 13503 1 kvm
Si el comando no devuelve nada, reinicie su host y vuelva a verificar.
Crear y configurar redes de puente para KVM
Luego, cree directorios para almacenar discos de máquinas virtuales e imágenes ISO en:
# mkdir -p /vz/{disk,iso}
Para que sus máquinas virtuales tengan acceso a Internet, debe configurar la red utilizando puente. Para hacerlo, necesitará el puente-utils. Asegúrese de que esté instalado en su host Linux usando este comando:
# rpm -qa | grep bridge-utils
Instálelo si es necesario:
# yum install bridge-utils -y
Después de instalar el paquete, el virbr0 La interfaz de red apareció en el sistema operativo:
# ip a
Para crear un puente, debe configurar el archivo de configuración de la interfaz de red de su servidor:
# cp /etc/sysconfig/network-scripts/ifcfg-enp1s0f0 /etc/sysconfig/network-scripts/ifcfg-enp1s0f0_bak – hacer una copia de seguridad del archivo# nano /etc/sysconfig/network-scripts/ifcfg-enp1s0f0 – ábrelo para editar
Elimine el contenido del archivo y reemplácelo con lo siguiente:
DEVICE="enp1s0f0" ONBOOT="yes" BRIDGE=br0
En su caso, el nombre de la interfaz puede ser diferente (consígalo usando el ip a mando).
Luego crea un archivo:
# nano /etc/sysconfig/network-scripts/ifcfg-br0
que contiene la siguiente configuración:
DEVICE="br0" TYPE=BRIDGE ONBOOT=yes BOOTPROTO=static IPADDR="IP_address_of_the_server" NETMASK="255.255.255.0" GATEWAY="Default_gateway" DNS1="8.8.8.8" DNS2="8.8.4.4"
Debe especificar la dirección IP de su servidor y la puerta de enlace predeterminada. Una vez que haya editado el archivo de configuración de la interfaz de red, reinicie la red:
# service network restart
Si después de reiniciar la red no puede acceder a su servidor, intente reiniciar también el host. A veces es necesario configurar el puente correctamente.
Para ver el estado del puente, use este comando:
# brctl show
bridge name bridge id STP enabled interfaces br0 8000.ac1f6b654321 no enp1s0f0 virbr0 8000.525400abcdef1 yes virbr0-nic
En el último paso, configure el reenvío del tráfico de la red:
# echo -e "net.ipv4.ip_forward=1" >> /etc/sysctl.conf && sysctl -p
Entonces reinicia libvirtd:
# service libvirtd restart
La configuración básica de la red KVM ha terminado y puede crear una máquina virtual.
Creación de máquinas virtuales en KVM
Antes de crear una máquina virtual, descargué una imagen de CentOS 8 desde un espejo oficial para / vz / iso:
# cd /vz/iso && wget http://mirror.imt-systems.com/centos/8.3.2011/isos/x86_64/CentOS-8.3.2011-x86_64-dvd1.iso
Para crear una nueva máquina virtual KVM, ejecute lo siguiente:
virt-install -n test-centosvm
--noautoconsole
--network=bridge:br0
--ram 2048 --arch=x86_64
--vcpus=4 --cpu host --check-cpu
--disk path=/vz/disk/test-centosvm.img,size=32
--cdrom /vz/iso/CentOS-8.3.2011-x86_64-dvd1.iso
--graphics vnc,listen=IP,password=p@sswdr0w1
--os-type linux --os-variant=rhel7 --boot cdrom,hd,menu=on
test-centosvm– un nombre de VMnoautoconsole– después de crear una máquina virtual, no se conectará a la consola de la máquina virtual automáticamentenetwork– un tipo de red (puente, en mi caso);ram– la cantidad de RAM en la VM;vcpus– la cantidad de núcleos de CPU (configuración de vCPU para una máquina virtual)disk– un disco virtual, ruta – una ruta al disco, tamaño – el tamaño del disco (puede extenderlo / reducirlo más tarde)cdrom– un CDROM virtual, se monta una imagen ISO para instalar un sistema operativo gust;graphics– parámetros para conectarse a una máquina virtual usando la consola gráfica. Usaremos VNC para conectarnos a él, por lo que para escuchar especifique la dirección IP del servidor KVM, en el que ha creado la VM, y la contraseña para conectarse a la consola de la máquina virtual.
Para que la máquina virtual se inicie automáticamente, ejecute:
# virsh autostart test-centosvm
¿Cómo conectarse a una máquina virtual KVM mediante VNC e instalar un sistema operativo?
Para conectarse a una máquina virtual KVM mediante VNC, debe averiguar el puerto en el que se está ejecutando:# virsh vncdisplay test-centovms
IP:0
0 significa que el número de puerto para conectarse usando VNC es 5900. Si obtiene un valor diferente, simplemente agregue el número que el comando ha devuelto a 5900.
Para conectarme a servidores usando VNC, estoy usando TightVNC. Ejecútelo y especifique la dirección IP de su servidor y el puerto VNC que obtuvimos anteriormente (con dos puntos como separador).

Hacer clic Conectar e ingrese la contraseña que estableció al crear su máquina virtual KVM. Si lo ha hecho correctamente, aparece la consola del servidor, en la que se está ejecutando la instalación de CentOS (u otro SO invitado, cuya imagen ha montado).

Si un firewall está habilitado en su servidor, abra los puertos 5900-5910 para VNC en firewalld / iptables (diez puertos serán suficientes). Después de la instalación de un sistema operativo invitado en una máquina virtual, inicie la máquina virtual desde la consola del servidor:

Para apagar una máquina virtual KVM, use este comando:
# virsh shutdown test-centosvm
Para mostrar una lista de todas las máquinas virtuales KVM registradas:
# virsh list --all
La configuración básica del host KVM finalizó y se creó una máquina virtual. Puede crear cualquier cantidad de máquinas virtuales en KVM, depende solo de los recursos de su servidor y de sus necesidades.





