La virtualización es cada vez más común hoy en día. La capacidad de tomar su máquina existente y aprovisionar múltiples máquinas virtuales ayuda enormemente con aspectos como la educación, las pruebas y la experimentación, y la productividad. Siendo Linux tan popular y poderoso como es, es un excelente lugar para comenzar a construir un servidor de virtualización o una estación de trabajo para su uso personal. Aquí se explica cómo crear una estación de trabajo de virtualización de Linux desde cero.
Compatibilidad de hardware de virtualización
Antes de comenzar a instalar cualquier paquete, querrá asegurarse de que su CPU admita la virtualización de hardware. Muchas CPU modernas de computadoras portátiles y de escritorio lo hacen, pero es bueno comprobarlo. Los siguientes comandos verificarán su archivo “/proc/cpuinfo” para la tecnología necesaria. Si no está seguro de lo que tiene en su sistema, pruebe ambos, no le hará daño.
grep vmx /proc/cpuinfo # for Intel CPUs grep svm /proc/cpuinfo # for AMD CPUs
Mi sistema tiene una CPU Intel, por lo que mi salida se parece a la siguiente imagen.
La salida de «grep vmx /proc/cpuinfo» en mi sistema
Si no obtiene ningún resultado en ninguno de esos comandos, también puede mirar el resultado de lscpu
y busque la sección «Virtualización». El mío se parece a la siguiente imagen.
La salida de lscpu en mi sistema con la línea de virtualización resaltada
Sabemos que mi sistema está configurado para manejar la virtualización. También recomendaría al menos 8 GB de RAM en su sistema. Para la mejor experiencia, recomendaría 16, 32 o incluso 64 GB de RAM. Eso le dará mucho espacio para configurar y ejecutar múltiples máquinas virtuales sin preocuparse por quedarse sin RAM, y podría crear redes completas de cliente/servidor o flotas de estaciones de trabajo, todo en un solo sistema.
Instalación de KVM
KVM significa Máquina virtual basada en kernel, y es el mejor hipervisor nativo de Linux que existe. El rendimiento es excelente y hay varias formas de administrar sus máquinas virtuales KVM. QEMU a menudo va junto con KVM como una forma de emular hardware.
Para instalar todo lo que necesitará para su servidor, ejecute los siguientes comandos:
Para Fedora:
sudo dnf -y groupinstall "Virtualization Host"; sudo dnf -y install virt-install
Para distribución basada en Ubuntu/Ubuntu:
sudo apt -y install qemu-kvm libvirt-daemon-system libvirt-daemon virtinst bridge-utils libosinfo-bin libguestfs-tools virt-top
Instalación del «host de virtualización» del grupo DNF
Una vez que haya instalado KVM, asegúrese de verificar que el módulo del kernel esté cargado con este comando:
Y que inicie y habilite el daemon para KVM con el siguiente comando:
sudo systemctl start libvirtd sudo systemctl enable libvirtd sudo systemctl status libvirtd
Su salida debe parecerse a la siguiente imagen.
Verificación de que el módulo kernel KVM y el servicio libvirt estén cargados y en ejecución
Muchas otras guías ahora le pedirán que configure un puente para que todas sus máquinas virtuales accedan a la red externa. No cubriré eso aquí, pero aquí está un enlace a Arch Wiki que te enseña un montón de formas diferentes de hacerlo. Esto será útil si desea que sus máquinas virtuales brinden servicios a su red más amplia, pero si solo lo está usando para pruebas y sandboxing, las opciones de red predeterminadas están bien.
Instalación y administración de máquinas virtuales KVM con una GUI
Hay varias formas de administrar sus máquinas virtuales KVM. Si está usando un escritorio gráfico para su estación de trabajo o servidor Linux, puede usar Virtual Machine Manager o GNOME Boxes*, o si está ejecutando un servidor solo CLI y está buscando una interfaz GUI para él, puede usar Controle y administre su VMS instalando la aplicación «Máquinas» en el menú «Aplicaciones» en la interfaz. Todas estas herramientas GUI también le permitirán instalar máquinas virtuales KVM.
*GNOME Boxes es fácilmente la forma más sencilla de manejar máquinas virtuales KVM, pero no obtiene el mismo control que obtiene con las otras ofertas en términos de configuración de red, almacenamiento y hardware.
Instalación de máquinas virtuales KVM desde la terminal
También puede usar las herramientas CLI que vienen con los paquetes instalados por los comandos anteriores. virt-install
es una gran herramienta para instalar máquinas virtuales KVM sin tener que jugar con definiciones XML. Hay muchas opciones diferentes disponibles para usar con virt-install
. Sin embargo, he tenido más éxito con la siguiente plantilla:
sudo virt-install \ --connect qemu:///system \ --name <NAME> \ --memory <MEMORY_IN_MB> \ --vcpus <CPUs> \ --disk size=<SIZE> \ --cdrom /PATH/TO/ISO/FILE
Instalar una VM de Fedora usando la plantilla anterior
Esto debería definir todos los aspectos que necesitará para el sistema. También puede instalar a través de la red, importar imágenes y especificar la ubicación del disco especificando «ruta=/RUTA/AL/DIR/NOMBREDEDISCO.qcow2» después del size
opción separada por una coma. aquí está un enlace a la documentación de Red Hat sobre virt-install
.
Esto abrirá Remote Viewer (también llamado virt-viewer
) y le permitirá realizar el proceso de instalación del sistema operativo con normalidad. Necesitará acceso a una GUI, por lo que si su servidor no tiene interfaz, le recomiendo usar Cockpit como se mencionó anteriormente. También puede usar archivos kickstart para instalar distribuciones basadas en RHEL con virt-install
.
Administrar máquinas virtuales KVM desde la terminal
El comando principal que usará para administrar máquinas virtuales KVM es virsh
. Está disponible como comando o como shell interactivo, por lo que ingresar es tan simple como escribir sudo virsh
y presionando Entrar.
Para ver un par de ejemplos, ahora puede listar todos sus dominios con list --all
iniciar dominios con start
y cerrar dominios con shutdown
.
virsh
ejemplos en una sesión interactiva
Hay una gran cantidad de virsh
opciones, así que te animo a que consultes las man
páginas y profundice en todas las grandes cosas que puede administrar desde la terminal sobre sus máquinas.
También puede usar SSH en sus máquinas virtuales usando su dirección IP. Obtienen IPs de la virbr0
y las interfaces de las máquinas virtuales están abiertas al acceso SSH de forma predeterminada.
Ahora que tiene una estación de trabajo de virtualización en su sistema Linux, asegúrese de aprender cómo acelerar fácilmente sus máquinas virtuales y acceder a sus máquinas virtuales Linux mediante VNC.