La máquina virtual KVM, o Kernel, es la solución de virtualización para Linux. 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.
Anteriormente era imposible hacer que KVM funcionara en la Raspberry Pi usando el sistema operativo Raspberry Pi (también conocido como Raspbian). Esto se debe a que KVM solo funciona en un sistema operativo de 64 bits. Raspberry Pi OS era un sistema operativo de 32 bits. Otra razón fue que los modelos Raspberry Pi 3 y anteriores tenían solo 1 GB de memoria, y esto es insuficiente para ejecutar KVM. Docker fue una mejor solución para dispositivos con 1 GB de memoria.
Al momento de escribir este artículo, es posible ejecutar KVM en la Raspberry Pi usando el OS de Raspberry Pi. Porque Raspberry Pi OS se envía oficialmente con un núcleo de 64 bits, y el Raspberry Pi 4 tiene un modelo de 8 GB (tiene 8 GB de memoria). Lamentablemente, el kernel Os Raspberry Pi de 64 bits no está habilitado de forma predeterminada. Tienes que habilitarlo manualmente.
En este artículo, le mostraré cómo habilitar el núcleo Raspberry Pi OS de 64 bits e instalar KVM en el sistema operativo Raspberry Pi.
Entonces empecemos!
Cosas que necesitarás:
Para seguir este artículo, necesitará las siguientes cosas para configurar su Raspberry Pi 4 en modo sin cabeza:
Si no desea configurar su Raspberry Pi 4 en modo sin cabeza, también necesitará:
Si necesita ayuda para flashear la imagen de Raspberry Pi OS en la tarjeta microSD, consulte mi artículo sobre cómo instalar y usar Raspberry Pi Imager.
Si es un principiante Raspberry Pi y necesita ayuda para instalar Raspberry Pi OS en su Raspberry Pi 4, consulte mi artículo sobre cómo instalar Raspberry Pi OS en Raspberry Pi 4.
Además, si necesita ayuda en la configuración sin cabeza de Raspberry Pi 4, consulte mi artículo sobre cómo instalar y configurar Raspberry Pi OS en Raspberry Pi 4 sin monitor externo.
Actualización de Raspberry Pi OS
Antes de habilitar el núcleo de 64 bits e instalar KVM en el sistema operativo Raspberry Pi, es una buena idea actualizar todos los paquetes existentes de su sistema operativo Raspberry Pi. Esto actualizará el núcleo si hay alguna versión nueva del núcleo disponible o solucionar los errores conocidos (si los hay).
Verifiquemos la versión del núcleo antes de actualizar todos los paquetes existentes de Raspberry Pi OS.
$ uname -r
Como puede ver, estoy ejecutando el kernel versión 5.4.51 compilado para la arquitectura ARMV7L.
Ahora, actualicemos todos los paquetes existentes de Raspberry Pi OS.
Primero, actualice todo el caché del repositorio de paquetes APT con el siguiente comando:
$ sudo apt actualización
Para actualizar todos los paquetes existentes (incluido el núcleo), ejecute el siguiente comando:
$ sudo apt pleno-actual
Para confirmar la instalación, presione Y y luego presiona <Ingresar>.
El Administrador de paquetes APT descargará todos los paquetes requeridos de Internet, pero llevará un tiempo completar.
Una vez que se complete la descarga, los instalará automáticamente. Tomará un tiempo completar.
En este punto, todas las actualizaciones deben instalarse.
Para que los cambios entren en vigencia, reinicie su Raspberry Pi 4 con el siguiente comando:
$ sudo reinicio
Una vez que comience su Raspberry Pi 4, puede ver que la versión del núcleo se ha actualizado.
Habilitando el núcleo de 64 bits en Raspberry Pi OS
En la última versión de Raspberry Pi OS, el núcleo de 64 bits se distribuye junto con el núcleo de 32 bits de forma predeterminada. El núcleo de 64 bits todavía está en beta. Por lo tanto, no se establece como el núcleo predeterminado en el sistema operativo Raspberry Pi.
Para usar el núcleo de 64 bits en la Raspberry Pi OS, abra el /Boot/config.archivo txt con el nano Editor de texto de la siguiente manera:
$ nano /boot /config.TXT
Agregar arm_64bit = 1 al final de /Boot/config.archivo txt como se marca en la captura de pantalla a continuación.
Una vez que haya terminado, presione + X seguido por Y y <Ingresar> Para guardar el /Boot/config.archivo txt.
Para que los cambios entren en vigencia, reinicie su Raspberry Pi 4 con el siguiente comando:
$ sudo reinicio
Una vez que comience su Raspberry Pi 4, consulte la versión del núcleo con el siguiente comando:
$ uname -r
Debería ver V8+ Al final de la versión del núcleo, como puede ver en la sección marcada de la captura de pantalla a continuación. Significa que estamos usando el núcleo de 64 bits.
El archivo /dev/kvm También debe estar disponible, como puede ver en la captura de pantalla a continuación.
$ sudo ls -lh /dev /kvm
Instalación de KVM/QEMU:
Una vez que el kernel de 64 bits está habilitado, puede instalar KVM, QEMU y Virtual Machine Manager con el siguiente comando:
$ sudo apt install virt-manager libvirt0 qemu-system
Para confirmar la instalación, presione Y y luego presiona <Ingresar>.
El Administrador de paquetes APT descargará todos los paquetes requeridos desde Internet. Puede tomar un tiempo completar.
Una vez que se descarguen los paquetes, el Administrador de paquetes APT los instalará. Puede tomar un tiempo completar.
En este punto, se deben instalar todos los paquetes requeridos.
Ahora, agregue el Pi usuario al libvirt-qemu Grupo con el siguiente comando:
$ sudo usermod -ag libvirt -qemu $ (whoami)
Para que los cambios entren en vigencia, reinicie su Raspberry Pi 4 con el siguiente comando:
$ sudo reinicio
Una vez que sus botas Raspberry Pi 4, inicie la red KVM predeterminada con el siguiente comando:
$ sudo virsh net-start predeterminado
Para asegurarse de que la red KVM predeterminada comience automáticamente en el arranque, ejecute el siguiente comando:
$ sudo virsh net-autostart predeterminado
Descargar la imagen de instalación de Alpine Linux ISO
En este artículo, instalaré Alpine Linux en una máquina virtual KVM para probar KVM en el sistema operativo Raspberry Pi.
NOTA: Al momento de escribir este artículo, la aceleración de KVM o la aceleración de hardware no están disponibles en Raspberry Pi OS. Los sistemas operativos se ejecutarán en modo de emulación en una máquina virtual KVM. Entonces, no obtendremos mucho rendimiento. Es por eso que elegí Alpine Linux para la demostración. También es un sistema operativo muy liviano. Aunque la máquina virtual se ejecutará en modo de emulación, aún podemos probarla. Con suerte, en una actualización posterior del Raspberry Pi OS, la aceleración de KVM o la aceleración de hardware estarán disponibles. Pero, en este momento, esto es lo más lejos que podemos llegar.
Para descargar la imagen de instalación de Alpine Linux ISO, visite el sitio web oficial de Alpine Linux.
Una vez que se carga la página, haga clic en Descargas.
Una vez que se carga la página, desplácese hacia abajo un poco y haga clic en el Aarch64 virtual Descargue el enlace marcado en la captura de pantalla a continuación.
Su navegador debe comenzar a descargar la imagen de instalación Alpine Aarch ISO. Puede tardar unos segundos en completarse.
Mover la imagen ISO Alpine Linux al directorio de imagen KVM:
Una vez que se descarga la imagen ISO Alpine, debería poder encontrarla en el ~/Descargas directorio.
$ ls -lh ~/descargas
Mueva la imagen ISO alpina al /var/lib/libvirt/imágenes Directorio de la siguiente manera:
$ sudo mv -v ~/descargas/alpine-virt-3.12.1-Aarch64.ISO/var/lib/libvirt/imágenes/
Creación de una máquina virtual Alpine Linux KVM
Para crear una máquina virtual Alpine Linux KVM, inicie Administrador de máquinas virtuales de Menú Raspberry Pi> Herramientas del sistema> Virtual Machine Manager, como se marca en la captura de pantalla a continuación.
Escriba su contraseña de inicio de sesión y presione <Ingresar>.
Ahora, haga clic en el icono marcado (), como se muestra en la captura de pantalla a continuación.
Seleccionar Medios de instalación locales (imagen ISO o CDROM) de la lista y haga clic en Adelante.
Haga clic en Navegar…
Seleccione la imagen Alpine ISO de la lista y haga clic en Elija el volumen.
Desmarque el Detectar automáticamente desde el medio de instalación/fuente caja.
Buscar alpino y seleccionar Alpine Linux 3.8 (o más alto si está disponible para cuando lea este artículo) de la lista.
Haga clic en Adelante.
Establezca la cantidad de memoria y la cantidad de núcleos de CPU que desea para esta máquina virtual.
Una vez que haya terminado, haga clic en Adelante.
Establezca el tamaño del disco de esta máquina virtual y haga clic en Adelante.
Escriba un nombre para la máquina virtual y haga clic en Finalizar.
Se está creando la máquina virtual. Puede tardar unos segundos en completarse.
Una vez que se crea la máquina virtual, debe arrancar desde la imagen de instalación de ISO Alpine, como puede ver en la captura de pantalla a continuación.
Después de unos segundos, debería ver la ventana de inicio de sesión de Alpine Linux.
El nombre de usuario predeterminado es raíz. De manera predeterminada, no se establece una contraseña para el raíz usuario. Entonces, solo escriba la raíz y presione <Ingresar>.
Deberías iniciar sesión. Puedes probar Alpine Linux desde aquí.
Si le gusta Alpine Linux y desea instalarlo permanentemente en el disco duro de la máquina virtual, ejecute el siguiente comando:
$ setup-alpine
La configuración de Alpine Linux se está inicializando. Puede tomar unos segundos.
En breve, deberías ver la siguiente ventana.
Para establecer un diseño de teclado, escriba el código de diseño del teclado de 2 letras en la lista y presione <Ingresar>.
Para establecer una variante de diseño del teclado, escriba el código de variante de diseño del teclado en la lista y presione <Ingresar>.
Escriba el nombre de host y presione <Ingresar>.
Prensa <Ingresar>.
Prensa <Ingresar>.
Prensa <Ingresar>.
Escriba la contraseña de inicio de sesión raíz deseada y presione <Ingresar>.
Rehacer el raíz Iniciar sesión en contraseña y presionarse <Ingresar>.
El asistente de configuración se está inicializando. Puede tomar unos segundos.
Una vez que vea la siguiente ventana, presione <Ingresar>.
Prensa <Ingresar>.
Prensa <Ingresar>.
Puede ver el siguiente error al instalar Alpine Linux en el disco.
A veces, Alpine Linux no se puede conectar a Internet y buscar la base de datos del espejo del repositorio de paquetes Alpine. Esto es cuando ves este error. Afortunadamente, es fácil de resolver.
Prensa F y luego presiona <Ingresar> tantas veces como ves este error.
Una vez que vea la lista de espejos, seleccione uno de los espejos (escribiendo el número de espejo) y presione <Ingresar>.
También puedes presionar F y luego presiona <Ingresar> Dejar que Alpine elija automáticamente el espejo más rápido.
Una vez que se selecciona un espejo, debe ver la siguiente ventana.
Prensa <Ingresar>.
Se debe instalar el servidor OpenSSH.
Ahora, Alpine debería decirle que seleccione un disco donde desea instalar Alpine Linux.
Queremos instalarlo en el disco duro virtual SDA. Entonces, escriba SDA y presionar <Ingresar>.
Escribir sys y presionar <Ingresar>.
Prensa Y, y luego presiona <Ingresar> Para confirmar la instalación.
Alpine se está instalando en el disco duro virtual. Puede tardar unos minutos en completarse.
En este punto, se debe instalar alpino.
Reinicie la máquina virtual con el siguiente comando:
$ sudo reinicio
La próxima vez que se inicie la máquina virtual, arrancará Alpine Linux desde el disco duro virtual.
Alpine Linux se está iniciando desde el disco duro virtual.
Una vez que se inicia alpine Linux, debería ver la ventana de inicio de sesión.
Escriba root como nombre de usuario y la contraseña de inicio de sesión que ha configurado anteriormente para iniciar sesión en Alpine Linux.
Deberías iniciar sesión en Alpine Linux.
Una vez que haya iniciado sesión, debería poder ejecutar cualquier comando que desee.
El Administrador de máquinas virtuales La aplicación debe mostrar todas las máquinas virtuales KVM que ha creado en el tablero. Puede controlar sus máquinas virtuales desde aquí.
Conclusión
En este artículo, le he mostrado cómo habilitar el núcleo Raspberry Pi OS de 64 bits e instalar KVM en el sistema operativo Raspberry Pi. También le he mostrado cómo instalar Alpine Linux como una máquina virtual KVM en el sistema operativo Raspberry Pi. En Raspberry Pi OS, la aceleración de hardware para las máquinas virtuales de KVM todavía no está disponible. Puede estar disponible en una actualización futura del sistema operativo Raspberry Pi. Pero por ahora, solo puede ejecutar sistemas operativos livianos en máquinas virtuales KVM. Si desea ejecutar máquinas virtuales KVM aceleradas de hardware en su Raspberry Pi 4 en este momento, use Fedora 33 como el host KVM en su Raspberry Pi 4.