Cómo instalar KVM/QEMU en Centos 8

Cómo instalar KVM/QEMU en Centos 8
La forma completa de KVM es la máquina virtual del kernel. Es una solución de virtualización para Linux. KVM es un módulo de kernel de Linux que permite que el núcleo de Linux actúe como un programa hipervisor como VMware ESXI o VSphere.

En este artículo, le mostraré cómo instalar KVM en Centos 8 y crear una máquina virtual KVM simple con ella. Entonces empecemos.

Habilitando la virtualización de hardware:

Debe habilitar la extensión de virtualización de hardware desde el BIOS de su computadora para que KVM funcione. Para los procesadores Intel, debe habilitar la función del procesador VT-X o VT-D del BIOS. Para los procesadores AMD, debe habilitar la función del procesador AMD-V del BIOS.

Una vez que tenga habilitado la virtualización de hardware en el BIOS, ejecute el siguiente comando para verificar si la extensión VT-X/VT-D o AMD-V está habilitado.

$ Grep-Color-Perl-Regexp 'VMX | SVM' /Proc /Cpuinfo

Deberías tener el SVM o VMX FLAG disponible en la salida si tiene una virtualización de hardware habilitada en el BIOS.

Estoy usando un procesador AMD. Entonces el SVM La bandera está disponible en mi caso. Si está utilizando un procesador Intel, entonces será VMX.

Actualización del sistema:

Antes de instalar KVM, debe actualizar todos los paquetes de software existentes de su máquina CentOS 8.

Primero, actualice el caché del repositorio del paquete DNF de su máquina CentOS 8 con el siguiente comando:

$ sudo dnf makecache

El caché del repositorio del paquete DNF debe actualizarse.

Actualice todos los paquetes de software existentes de su máquina CentOS 8 con el siguiente comando:

$ sudo dnf actualización

Para confirmar la actualización, presione Y y luego presiona .

El Administrador de paquetes DNF debe descargar todos los paquetes requeridos desde Internet.

Una vez que se completa la descarga del paquete, debe instalar todos los paquetes descargados. Puede tomar un tiempo completar.

En este punto, su sistema CentOS 8 debe estar actualizado.

Para que los cambios entren en vigencia, reinicie su máquina CentOS 8 con el siguiente comando:

$ sudo reinicio

Configuración de Selinux en modo permisivo:

Configuración de Selinux para KVM está fuera del alcance de este artículo. Si dejas Selinux en ejecución Modo (predeterminado), obtendrá errores denegados por permiso al crear máquinas virtuales KVM. Si no tiene experiencia con Selinux, debe configurarlo en permisivo modo. De lo contrario, no podrá crear máquinas virtuales KVM.

Para configurar Selinux en permisivo Modo, abra el /etc/selinux/config archivo con un editor de texto (yo.mi. nano) con el siguiente comando:

$ sudo nano/etc/selinux/config

Cambiar la línea Selinux = hacer cumplir a Selinux = Permisivo como se marca en la captura de pantalla a continuación.

Una vez que haya terminado, presione + X seguido por Y y Para guardar el archivo de configuración.

Para que los cambios entren en vigencia, reinicie su computadora con el siguiente comando:

$ sudo reinicio

Instalación de KVM:

Puede instalar fácilmente todos los paquetes requeridos para la virtualización de KVM en CentOS 8 simplemente instalando el Host de virtualización grupo de paquetes.

Puedes instalar el Host de virtualización Grupo de paquetes en su máquina CentOS 8 con el siguiente comando:

$ sudo dnf groupInstall "Host de virtualización"

Para confirmar la instalación, presione Y y luego presiona .

El Administrador de paquetes DNF debe descargar todos los paquetes requeridos desde Internet.

Una vez que se completa la descarga del paquete, debe instalar todos los paquetes descargados. Puede tomar un tiempo completar.

En este punto, se debe instalar KVM.

Ahora, verifique si el libvirtd El servicio se ejecuta con el siguiente comando:

$ sudo systemctl status libvirtd

Como puedes ver, el libvirtd el servicio es activo/correr. libvirtd El servicio es muy importante. Si no se está ejecutando, no podrá administrar KVM.

Si el libvirtd El servicio no se está ejecutando en su caso, puede iniciarlo con el siguiente comando:

$ sudo systemctl start libvirtd

Compruebe si puede ejecutar el comando de administración KVM virsh como sigue:

$ sudo virsh --versión

El comando debe imprimir la información de la versión como puede ver en la captura de pantalla a continuación.

Instalación de Virt-Install:

Virt-Install es una herramienta de línea de comandos para crear fácilmente máquinas virtuales KVM. Virt-Install está basado en libvirt. Entonces, las máquinas virtuales creadas usando Virt-Install También se puede gestionar con virsh y gerente de virtud.

Puedes instalar Virt-Install Con el siguiente comando:

$ sudo dnf install virt-install

Para confirmar la instalación, presione Y y luego presiona .

Virt-Install debe instalarse.

Configuración de directorios KVM requeridos:

Creo que es una buena idea mantener todos los datos de la máquina virtual organizados. Por lo general, mantengo todos los datos de la máquina virtual de KVM en /KVM/ directorio. En el /KVM/ directorio, creo 2 subdirectorios disco/ y Yo asi/. En el disco/ Subdirectorio, mantengo todos los archivos de disco duro de la máquina virtual (VM). En el Yo asi/ Subdirectorio, mantengo las imágenes de instalación de ISO de diferentes sistemas operativos (i.mi. Ubuntu, Debian, Centos, etc.).

Puede crear las mismas estructuras de directorio con el siguiente comando:

$ sudo mkdir -pv /kvm /disco, iso

Creación de una máquina virtual KVM:

En esta sección, te mostraré cómo crear un escritorio de Ubuntu 20.04 LTS KVM Máquina virtual.

Primero, debes descargar el escritorio de Ubuntu 20.04 imagen de instalación de ISO LTS. Para mantener organizados todos los archivos/datos de la máquina virtual, es una buena idea almacenar la imagen ISO en el /KVM/ISO/ directorio.

Entonces, navegue al /KVM/ISO/ directorio con el siguiente comando:

$ CD /KVM /ISO

Puedes descargar el escritorio de Ubuntu 20.04 Imagen ISO LTS del sitio web oficial de Ubuntu con el siguiente comando:

$ sudo wget https: // versiones.ubuntu.com/20.04/ubuntu-20.04.1-desktop-amd64.Yo asi

wget debería comenzar a descargar el escritorio de Ubuntu 20.04 Imagen ISO LTS. Tomará un tiempo completar.

En este punto, el escritorio de Ubuntu 20.04 LTS ISO La imagen se debe descargar.

El escritorio de Ubuntu 20.04 La imagen ISO LTS está disponible en el /KVM/ISO/ Directorio como puede ver en la captura de pantalla a continuación.

Una vez el escritorio de Ubuntu 20.Se descarga la imagen ISO 04 LTS, puede crear una máquina virtual KVM con el siguiente comando:

$ sudo virt-install --name UDESKTOP20_04-01 \
--OS-Type Linux \
--OS-Variante Ubuntu19.10 \
--RAM 4096 \
--disco/kvm/disco/udesktop20_04-01.img, dispositivo = disk, bus = virtio, size = 20, format = QCow2 \
--gráficos vnc, escuchar = 0.0.0.0 \
--noautoconsole \
--HVM \
--CDROM/KVM/ISO/UBUNTU-20.04.1-desktop-amd64.Yo asi \
--Boot Cdrom, HD

Aquí, el nombre de la máquina virtual será UDESKTOP20_04-01.

El sistema operativo que instalaremos es Linux.

La variante del sistema operativo es ubuntu19.10. La base de datos del sistema operativo de Centos 8 no tiene una entrada para Ubuntu 20.04 LTS al momento de escribir este escrito. Entonces, he usado la información para Ubuntu 19.10.

El tipo de sistema operativo y los valores de variante de OS no son aleatorios. Puede encontrar el tipo de sistema operativo y la variante OS para su distribución de Linux deseada con el Osinfo-Query dominio. Como puede ver, no hay entrada para Ubuntu 20.04 LTS está disponible. Pero una entrada para Ubuntu 19.10 está disponible. El tipo de sistema operativo de Ubuntu 19.10 es Linux y la variante del sistema operativo es ubuntu19.10.

$ Osinfo-Query OS-Fields = Name, Short-ID, Family | Grep -i ubuntu

La RAM (memoria de acceso aleatorio) de la VM será 4096 MB (Megabytes) o 4 GB (Gigabytes).

El disco virtual de la VM se guardará en el /kvm/disco/udesktop20.04-01.img archivo. El disco virtual se trata 20 GB de tamaño y el formato es QCOW2 (QEMU Copy-on-write v2)

Se puede acceder a la máquina virtual a través del protocolo de escritorio remoto VNC (Virtual Network Computing) y el servidor VNC escuchará en todas las interfaces de red disponibles configuradas en su host CentOS 8 KVM.

El host CentOS 8 KVM no intentará conectarse automáticamente a la máquina virtual una vez que se crea la máquina virtual. La máquina virtual seguirá funcionando en segundo plano.

Use la virtualización completa para la máquina virtual. Esto hará que las máquinas virtuales funcionen mejor.

Use el escritorio de Ubuntu 20.04 Imagen ISO LTS Acabamos de descargar como la ROM Virtual CD/DVD de la máquina virtual. Se utiliza para instalar Ubuntu Desktop 20.04 LTS en la máquina virtual.

Establecer el orden de arranque de la máquina virtual. La primera entrada de arranque es la ROM virtual de CD/DVD y luego el disco duro virtual. Entonces, la máquina virtual podrá arrancar desde el escritorio de Ubuntu 20.04 LTS ISO Imagen e instale Ubuntu Desktop 20.04 LTS en el disco duro.

Esas son todas las opciones que necesita para crear una máquina virtual KVM.

Una vez que corres el Virt-Install Comando, KVM debe comenzar a crear la máquina virtual. Puede llevar un tiempo dependiendo de la configuración de su máquina virtual.

En este punto, se debe crear la máquina virtual KVM.

Listado de máquinas virtuales KVM:

Una vez que se crea la máquina virtual KVM, puede enumerarla con el siguiente comando:

Lista de $ Virsh -todo

El comando debe mostrarle todas las máquinas virtuales KVM que tiene. En este momento, solo tengo 1 máquina virtual UDESKTOP20_04-01. Este es el que acabo de crear. Como puede ver, la máquina virtual UDESKTOP20_04-01 es correr. Debería poder conectarse a él utilizando cualquier cliente VNC.

Configuración del firewall para el acceso remoto a las máquinas virtuales KVM:

Para acceder a la máquina virtual KVM de forma remota, debe permitir el acceso de firewall al puerto VNC de la máquina virtual.

Para encontrar el puerto VNC de la máquina virtual KVM UDESKTOP20_04-01, Ejecute el siguiente comando:

$ Virsh vncdisplay udesktop20_04-01

Como puede ver, el número de puerto VNC del UDESKTOP20_04-01 la máquina virtual es 0.

Aquí, puerto 0 Puerto de medios 5900. De la misma manera, puerto 1 Puerto de medios 5901 etcétera.

Como puede ver, la máquina virtual KVM UDESKTOP20_04-01 se ejecuta en el puerto 5900 (: 0).

$ sudo netstat -tln

Para permitir el acceso al puerto 5900, Ejecute el siguiente comando:

$ sudo firewall-cmd --add-puer = 5900/tcp --permanent

Para que los cambios en el firewall entren en vigencia, ejecute el siguiente comando:

$ sudo firewall-cmd--Reload

Conectando de forma remota a las máquinas virtuales KVM con el cliente VNC:

Para conectarse a la máquina virtual a través de VNC, debe conocer la dirección IP de su host CentOS 8 KVM.

Puede encontrar la dirección IP de su host CentOS 8 KVM con el siguiente comando:

$ ip a

En mi caso, la dirección IP es 192.168.0.103. Será diferente para ti. Entonces, asegúrese de reemplazarlo con el tuyo de ahora en adelante.

Abra cualquier cliente VNC y conecte a la dirección 192.168.0.103: 0.

Haga clic en Continuar.

Haga clic en Continuar.

Debe estar conectado a la visualización del UDESKTOP20_04-01 Máquina virtual KVM como puede ver en la captura de pantalla a continuación.

Ahora, puede instalar su sistema operativo deseado en la máquina virtual.

En mi caso, instalaré el escritorio de Ubuntu 20.04 Sistema operativo LTS en la máquina virtual.

Ubuntu Desktop 20.04 LTS se está instalando en la máquina virtual KVM. Puede tomar un tiempo completar.

Una vez que se complete la instalación, haga clic en Reiniciar ahora.

Prensa .

La conexión VNC debe cerrarse.

La máquina virtual debe encenderse automáticamente una vez que la instalación del sistema operativo esté completa como puede ver en la captura de pantalla a continuación.

$ sudo Virsh List -Todo

Iniciar el UDESKTOP20_04-01 Máquina virtual KVM con el siguiente comando:

$ Virsh Start UDESKTOP20_04-01

La máquina virtual UDESKTOP20_04-01 Debe comenzar.

Ahora puede conectarse al UDESKTOP20_04-01 máquina virtual desde un cliente VNC como antes. Como puede ver, el escritorio de Ubuntu 20.04 LTS se está ejecutando bien en la máquina virtual KVM.

Eliminación de máquinas virtuales KVM:

También puede eliminar una máquina virtual KVM muy fácilmente con el virsh herramienta de línea de comandos.

Como puede ver, tengo 2 kvm máquinas virtuales (UDESKTOP20_04-01 y UDESKTOP20_04-02) Corriendo en mi host Centos 8 KVM. Retiremos UDESKTOP20_04-02 Máquina virtual KVM.

Lista de $ Virsh -todo

Como puedes ver, el UDESKTOP20_04-02 La máquina virtual KVM es correr. Debes detenerlo antes de quitarlo.

Lista de $ Virsh -todo

Para forzar detener el UDESKTOP20_04-02 Máquina virtual KVM, ejecute el siguiente comando:

$ virsh destruye udesktop20_04-02

Como puedes ver, el UDESKTOP20_04-02 La máquina virtual está encendida.

Lista de $ Virsh -todo

Puedes eliminar permanentemente el UDESKTOP20_04-02 máquina virtual y todos sus discos duros virtuales adjuntos con el siguiente comando:

$ Virsh Undefine-Remove-All-Storage UDesktop20_04-02

Como puedes ver, el UDESKTOP20_04-02 La máquina virtual ya no está disponible.

Lista de $ Virsh -todo

Problema#1: Solución de CPU-> KVM_MSR_BUF-> Error de afirmación de NMSRS

Mientras crea una máquina virtual KVM en el host CentOS 8 KVM, puede ver el siguiente mensaje de error. Es un error de núcleo. Por lo general, esto sucede cuando ejecuta KVM dentro de otra máquina virtual. Estoy ejecutando KVM dentro de una máquina virtual VMware. Por eso recibí este error, creo. Es fácil de arreglar.

Abra el archivo de configuración /etc/modprobe.D/KVM.confusión Con el siguiente comando:

$ sudo nano /etc /modprobe.D/KVM.confusión

El /etc/modprobe.D/KVM.confusión el archivo debe abrirse. Debe habilitar la opción específica del procesador para la virtualización anidada de KVM desde aquí.

Si está utilizando un procesador Intel, desenchufe la línea como se marca en la captura de pantalla a continuación.

Si está utilizando un procesador AMD, desenchufe la línea como se marca en la captura de pantalla a continuación.

Entonces, agregue la línea opción kvm ignore_msrs = 1 Al final del archivo, como se muestra en la captura de pantalla a continuación.

Una vez que haya terminado, presione + X seguido por Y y Para salvar el /etc/modprobe.D/KVM.confusión archivo.

Luego, reinicie su host CentOS 8 KVM con el siguiente comando para que los cambios entren en vigencia.

$ sudo reinicio

Tu problema debe resolverse.

Problema#2: Error de protocolo RFB RFB del cliente VNC:

Cuando se conecta a la máquina virtual KVM usando un cliente VNC, puede ver el siguiente mensaje de error. Este mensaje de error se muestra cuando la calidad de imagen del cliente VNC está configurada en Automático. Es fácil de arreglar.

Clickea en el Propiedades icono de su cliente VNC.

Como puedes ver, el Calidad de imagen se establece en Automático.

Para resolver este problema, seleccione Bajo, Medio, o Alto desde el Calidad de imagen Menú desplegable.

Una vez que haya terminado, haga clic en DE ACUERDO.

Tu problema debe resolverse.

Conclusión:

En este artículo, le he mostrado cómo instalar KVM en CentOS 8 y crear máquinas virtuales KVM desde la línea de comandos. También le he mostrado cómo eliminar las máquinas y soluciones virtuales KVM a algunos problemas comunes de KVM. Esto debería ayudarlo a comenzar con la virtualización de Linux KVM.