Cómo crear y administrar máquinas virtuales KVM desde CLI
- 892
- 76
- Adriana Tórrez
Objetivo
Aprenda a crear y administrar máquinas virtuales KVM desde la línea de comandos
Sistema operativo y versiones de software
- Sistema operativo: - Todas las distribuciones de Linux
Requisitos
- Acceso raíz
- Paquetes:
- QEMU -KVM - El paquete principal
- libvirt: incluye el servidor libvirtd que exporta el soporte de virtualización
- libvirt -client: este paquete contiene
virsh
y otras utilidades del lado del cliente - Virt -Install - Utilidad para instalar máquinas virtuales
- Virt -Viewer - Utilidad para mostrar consola gráfica para una máquina virtual
Dificultad
MEDIO
Convenciones
- # - requiere que los comandos de Linux dados se ejecuten con privilegios raíz
directamente como usuario raíz o mediante el uso desudo
dominio - ps - Requiere que los comandos de Linux dados se ejecuten como un usuario regular no privilegiado
Introducción
Saber cómo crear y administrar máquinas virtuales KVM desde la línea de comandos puede ser realmente útil en ciertos escenarios: cuando trabaja en servidores sin cabeza, por ejemplo. No obstante, poder guiar las interacciones con máquinas virtuales puede mejorar en gran medida nuestra productividad. En este tutorial aprenderá a crear, eliminar, clonar y administrar máquinas KVM con la ayuda de pocos servicios públicos.
Alguna terminología
Antes de comenzar a trabajar, sería útil definir qué KVM
y QEMU
son y cómo interactúan. KVM
representa Máquina virtual de kernel, y es un módulo del kernel de Linux que permite que un programa acceda y utilice las capacidades de virtualización de los procesadores modernos, al exponer la interfaz /dev /kvm. QEMU
es, en cambio, el software que realmente realiza la emulación del sistema operativo. Es y un emulador de máquina de código abierto y virtualizador que puede usar la función de aceleración proporcionada por KVM
Al ejecutar una máquina emulada con la misma arquitectura del host.
Configuración preliminar
Lo primero que tenemos que hacer es verificar que la CPU que estamos utilizando tiene soporte para la virtualización. A menos que se ejecute en una máquina muy antigua, este seguramente será el caso, pero para verificarlo simplemente ejecutamos:
$ cat /proc /cpuinfo
Desplácese hacia abajo en la salida del comando anterior hasta que vea la lista de 'banderas' de CPU: entre ellos debería ver SVM
Si está utilizando un procesador AMD, o VMX
Si el proveedor de CPU es Intel.
Lo segundo que tenemos que hacer es asegurarnos de que los módulos de núcleo necesarios se hayan cargado, para verificar esto, ejecutamos:
# lsmod | GREP KVM KVM_INTEL 200704 0 KVM 598016 1 KVM_INTEL IRQBYPASS 16384 1 KVM
Estoy ejecutando una CPU Intel, por lo tanto, además de la KVM
módulo, también el kvm_intel
uno ha sido cargado. Si está utilizando un procesador AMD, el KVM_AMD
El módulo se cargará en su lugar. Si los módulos no se cargan automáticamente, puede intentar cargarlos manualmente usando el modpoba
dominio:
# modprobe kvm_intel
Finalmente, tenemos que comenzar el libvirtd
Daemon: el siguiente comando lo habilita en el momento del arranque y lo inicia inmediatamente:
# SystemCTL Enable - -ahora libvirtd
Crea la nueva máquina virtual
Ahora que instalamos y comenzamos el libvirtd
servicio, podemos usar el Virt-Install
Comandar para configurar nuestra máquina virtual. La sintaxis del programa es realmente sencilla. El siguiente comando de Linux debe ejecutarse como root o, si desea iniciarlo como un usuario normal, como miembro del KVM
grupo. La sintaxis del programa es la siguiente:
# virt-install --name = linuxconfig-vm \ --vcpus = 1 \ --memory = 1024 \--cdrom =/tmp/Debian-9.0.0-amd64 netinst.ISO \ --disk size = 5 \ --os-Variant = Debian8
Analicemos el comando anterior:
En primer lugar, usamos el --nombre
Opción: Esto es obligatorio y se utiliza para asignar un nombre a la nueva máquina virtual.
La siguiente opción es el --VCPUS
uno. Lo usamos para especificar el número de CPU virtual
para configurar para el invitado.
El --memoria
La opción se utiliza para seleccionar la cantidad de memoria reservada para la máquina invitada en Mib
y --CD ROM
nos permite especificar la ruta a un archivo o un dispositivo que se utilizará como un CD-ROM virtual: puede ser una imagen ISO, un dispositivo CDROM o una URL para acceder a una imagen ISO de arranque.
El --disco
La bandera se usa para configurar el almacenamiento de medios para el invitado. Se pueden especificar varias opciones separadas por comas, por ejemplo: tamaño
que se utiliza para especificar el tamaño del disco virtual en GB y camino
que se usa para especificar una ruta para usar para el disco (se creará si no existe). Si se especifica estas opciones, debe asegurarse de que la ruta de destino sea accesible y tenga el contexto Selinux correcto (para saber más sobre Selinux, puede leer este artículo).
Si el camino
no se especifica la opción, el disco se creará en $ Inicio/.Local/share/libvirt/imágenes
Si el comando se ejecuta como usuario normal (miembro del grupo KVM) o en/var/lib/libvirt/imágenes si lo ejecuta como root.
Luego pasamos el --variante
opción. Si bien esto no es obligatorio, se recomienda al tanto para usarlo, ya que puede mejorar el rendimiento de la máquina virtual. La opción intentará ajustar el invitado a la versión específica del sistema operativo. Si no se pasa la opción, el programa intentará detectar automáticamente el valor correcto de los medios de instalación. Para obtener una lista de todos los sistemas compatibles, puede ejecutar:
$ Osinfo-Query OS
Si todo salió bien y el virtud
Se instala el paquete, aparecerá una ventana que muestra el instalador del sistema operativo invitado.
La utilidad Virsh
La utilidad Virsh se puede usar para interactuar con máquinas virtuales. Por ejemplo, digamos que desea enumerar todos los invitados configurados, usando Virsh, simplemente puede ejecutar:
# Lista de Virsh -todo
La salida mostrará el identificación
, nombre
y estado
de todos los invitados configurados, ya sean ejecutados o no.
Pero, ¿qué pasa si quieres cambiar algunos parámetros de la máquina invitada?? Puedes usar virsh
Para lograr esta tarea, por ejemplo:
# Virsh Edit LinuxConfig-VM
Aquí hay una captura de pantalla de la salida del comando:
Como puede ver, la salida es una representación XML de las propiedades de la máquina virtual o, utilizando la terminología Virsh, un dominio
. Si desea cambiar, por ejemplo, el número de VCPU, solo tiene que encontrar la etiqueta relevante y cambiar el valor. En este caso, tenemos:
1
Queremos agregar 1 VCPU, por lo que la cambiaremos a:
2
Todo lo que tenemos que hacer ahora, es solo reiniciar la máquina virtual para que se apliquen la configuración:
# Virsh reiniciar linuxconfig-vm
Si ahora corremos LSCPU
En la consola de invitados, deberíamos ver el mayor número de CPU:
El virsh
El comando también se puede usar para hacer otras operaciones comunes: por ejemplo, apagado de Virsh
se puede usar para cerrar el invitado, Virsh destruir
es el equivalente de un apagado de la fuerza bruta (por lo tanto, puede ser peligroso) y Virsh Undefine
se puede usar para eliminar una máquina invitada (para inventar un dominio).
AutoStart una máquina virtual en el arranque
Puedes aprovechar el virsh
Comando también si desea que ciertos invitados se inicien automáticamente cuando el sistema de host Boots: la sintaxis es, nuevamente, muy intuitiva:
# Virsh AutoStart LinuxConfig-VM
Para deshabilitar esta opción, ejecutamos:
# Virsh AutoStartt-Des-DisuxConfig-VM
Clonando un invitado
Otra utilidad, clon
se puede utilizar para crear una nueva máquina virtual clonando una existente. Para continuar, primero debemos asegurarnos de que el invitado sea clonado, que corramos:
virt-clone \ --original = linuxconfig-vm \--name = linuxconfig-vm-clone \--file =/var/lib/libvirt/images/linuxconfig-vm.QCOW2
Lo que tenemos aquí es muy simple de entender: especificamos que el invitado se clonó usando el --original
opción y el nombre del nuevo invitado usando --nombre
Como si lo estuviéramos instalando desde cero. Con el --archivo
Opción, en cambio, hacemos referencia a todos los discos duros virtuales asociados con el invitado original que queremos clonar. El programa hará su trabajo y, si tiene éxito, creará un nuevo dominio llamado LinuxConfig-VM-Clone
. Ya sabemos cómo verificarlo:
# Lista de Virsh-Todo el nombre del nombre de ID ----------------------------------------- ------------Linuxconfig-vm apagado-Linuxconfig-vm-clone apagado
Pensamientos finales
En este tutorial configuramos una nueva máquina virtual, y vimos cómo interactuar con ella. Las opciones que especificamos en el momento de la creación son solo las mínimas necesarias para una configuración de trabajo. Se pueden usar muchas otras opciones para ajustar varios aspectos de la máquina invitada y están realmente bien descritos en el Virt-Install
manera. Como siempre, el mejor consejo posible es: leer el manual.
Tutoriales de Linux relacionados:
- Cosas para instalar en Ubuntu 20.04
- Lista de visores de PDF en Ubuntu 22.04 Jammy Jellyfish Linux
- Una introducción a la automatización, herramientas y técnicas de Linux
- Cosas que hacer después de instalar Ubuntu 20.04 fossa focal Linux
- Cómo crear instantáneas de invitados QEMU/KVM
- Mejor lector de PDF para Linux
- Cómo ejecutar el sistema operativo Raspberry Pi en una máquina virtual con ..
- Cosas para instalar en Ubuntu 22.04
- Mint 20: Mejor que Ubuntu y Microsoft Windows?
- Archivos de configuración de Linux: los 30 principales más importantes
- « Cómo instalar WordPress en Debian 9 Stretch Linux
- Cómo iniciar un contenedor Docker como proceso de demonio »