Ya cubrimos la configuración de Oracle VirtualBox en Ubuntu 18.04 servidor sin cabeza. En este tutorial, discutiremos cómo configurar un servidor de virtualización sin cabeza usando KVM y cómo administrar las máquinas invitadas desde un cliente remoto. Como ya sabrá, KVM (K basado en ernel v m virtual achine) es una virtualización completa de código abierto para Linux. Con KVM, podemos convertir fácilmente cualquier servidor Linux en un entorno de virtualización completo en minutos e implementar diferentes tipos de máquinas virtuales como GNU/Linux, *BSD, Windows, etc.
Descargar - Libro electrónico gratuito:"6 cosas que Ubuntu hace mejor que Windows"Configurar el servidor de virtualización sin cabeza usando KVM en Ubuntu
Probé esta guía en el servidor Ubuntu 18.04 LTS, sin embargo, este tutorial funcionará en otras distribuciones de Linux como Debian, CentOS, RHEL y Scientific Linux. Este método será perfectamente adecuado para aquellos que quieran configurar un entorno de virtualización simple en un servidor Linux que no tiene ningún entorno gráfico.
Para el propósito de esta guía, usaré dos sistemas.
servidor de virtualización KVM:
- SO del host - Servidor mínimo Ubuntu 18.04 LTS (sin GUI)
- Dirección IP del sistema operativo host :192.168.225.22/24
- SO invitado (Que vamos a alojar en Ubuntu 18.04):Servidor Ubuntu 16.04 LTS
Cliente de escritorio remoto:
- SO -Arco Linux
Instalar KVM
Primero, verifiquemos si nuestro sistema es compatible con la virtualización de hardware. Para hacerlo, ejecute el siguiente comando desde la Terminal:
$ egrep -c '(vmx|svm)' /proc/cpuinfo
Si el resultado es cero (0) , el sistema no admite la virtualización de hardware o la virtualización está deshabilitada en la Bios. Vaya a su BIOS y busque la opción de virtualización y habilítela.
si el resultado es 1 o más , el sistema admitirá la virtualización de hardware. Sin embargo, aún debe habilitar la opción de virtualización en Bios antes de ejecutar los comandos anteriores.
Alternativamente, puede usar el siguiente comando para verificarlo. Primero debe instalar kvm como se describe a continuación, para usar este comando.
$ kvm-ok
Salida de muestra:
INFO: /dev/kvm exists KVM acceleration can be used
Si recibe el siguiente error, aún puede ejecutar máquinas invitadas en KVM, pero el rendimiento será muy bajo.
INFO: Your CPU does not support KVM extensions INFO: For more detailed results, you should run this as root HINT: sudo /usr/sbin/kvm-ok
Además, hay otras formas de averiguar si su CPU es compatible con la virtualización o no. Consulte la siguiente guía para obtener más detalles.
- Cómo averiguar si una CPU es compatible con la tecnología de virtualización (VT)
A continuación, instale KVM y otros paquetes necesarios para configurar un entorno de virtualización en Linux.
En Ubuntu y otros sistemas basados en DEB, ejecute:
$ sudo apt-get install qemu-kvm libvirt-bin virtinst bridge-utils cpu-checker
Una vez instalado KVM, inicie el servicio libvertd (si aún no se ha iniciado):
$ sudo systemctl enable libvirtd
$ sudo systemctl start libvirtd
Crear máquinas virtuales
Todos los archivos de la máquina virtual y otros archivos relacionados se almacenarán en /var/lib/libvirt/ . La ruta predeterminada de las imágenes ISO es /var/lib/libvirt/boot/ .
Primero, veamos si hay alguna máquina virtual. Para ver la lista de máquinas virtuales disponibles, ejecute:
$ sudo virsh list --all
Salida de muestra:
Id Name State ----------------------------------------------------
Como puede ver arriba, no hay ninguna máquina virtual disponible en este momento.
Ahora, creemos uno.
Por ejemplo, creemos una máquina virtual Ubuntu 16.04 con 512 MB de RAM, 1 núcleo de CPU, 8 GB de disco duro.
$ sudo virt-install --name Ubuntu-16.04 --ram=512 --vcpus=1 --cpu host --hvm --disk path=/var/lib/libvirt/images/ubuntu-16.04-vm1,size=8 --cdrom /var/lib/libvirt/boot/ubuntu-16.04-server-amd64.iso --graphics vnc
Asegúrese de tener una imagen ISO de Ubuntu 16.04 en la ruta /var/lib/libvirt/boot/ o cualquier otra ruta que haya dado en el comando anterior.
Salida de muestra:
WARNING Graphics requested but DISPLAY is not set. Not running virt-viewer. WARNING No console to launch for the guest, defaulting to --wait -1 Starting install... Creating domain... | 0 B 00:00:01 Domain installation still in progress. Waiting for installation to complete. Domain has shutdown. Continuing. Domain creation completed. Restarting guest.
Desglosemos el comando anterior y veamos qué hace cada opción.
- --nombre :Esta opción define el nombre del nombre virtual. En nuestro caso, el nombre de la VM es Ubuntu-16.04 .
- --ram=512 :asigna 512 MB de RAM a la máquina virtual.
- -vcpus=1 :indica la cantidad de núcleos de CPU en la máquina virtual.
- --host de la CPU :optimiza las propiedades de la CPU para la VM al exponer la configuración de la CPU del host al invitado.
- --hvm :Solicite la virtualización completa del hardware.
- --ruta del disco :La ubicación para guardar el disco duro de la VM y su tamaño. En nuestro ejemplo, he asignado un tamaño de disco duro de 8 GB.
- --cdrom :La ubicación de la imagen ISO del instalador. Tenga en cuenta que debe tener la imagen ISO real en esta ubicación.
- --gráficos vnc :permite el acceso VNC a la máquina virtual desde un cliente remoto.
Acceda a las máquinas virtuales mediante el cliente VNC
Ahora, vaya al sistema de escritorio remoto. SSH al servidor Ubuntu (servidor de virtualización) como se muestra a continuación.
$ ssh [email protected]
Aquí, sk es el nombre de usuario de mi servidor Ubuntu y 192.168.225.22 es su dirección IP.
Ejecute el siguiente comando para averiguar el número de puerto VNC. Necesitamos esto para acceder a la máquina virtual desde un sistema remoto.
$ sudo virsh dumpxml Ubuntu-16.04 | grep vnc
Salida de muestra:
<graphics type='vnc' port='5900' autoport='yes' listen='127.0.0.1'>
Anote el número de puerto 5900 . Instale cualquier aplicación de cliente VNC. Para esta guía, usaré TigerVnc. TigerVNC está disponible en los repositorios predeterminados de Arch Linux. Para instalarlo en sistemas basados en Arch, ejecute:
$ sudo pacman -S tigervnc
Escriba el siguiente comando de reenvío de puerto SSH desde su sistema cliente remoto que tiene instalada la aplicación cliente VNC.
$ ssh [email protected] -L 5900:127.0.0.1:5900
Nuevamente, 192.168.225.22 es la dirección IP de mi servidor Ubuntu (servidor de virtualización).
Luego, abra el cliente VNC desde su Arch Linux (cliente).
Escriba localhost:5900 en el campo del servidor VNC y haga clic en Conectar botón.
Luego, comience a instalar la VM de Ubuntu como lo hace en el sistema físico.
Del mismo modo, puede configurar tantas como máquinas virtuales según las especificaciones del hardware del servidor.
Alternativamente, puede usar virt-viewer utilidad para instalar el sistema operativo en las máquinas invitadas. virt-viewer está disponible en la mayoría de los repositorios predeterminados de la distribución de Linux. Después de instalar virt-viewer, ejecute el siguiente comando para establecer el acceso VNC a la VM.
$ sudo virt-viewer --connect=qemu+ssh://192.168.225.22/system --name Ubuntu-16.04
Administrar máquinas virtuales
Administrar máquinas virtuales desde la línea de comandos usando la interfaz de usuario de administración de virsh es muy interesante y divertido. Los comandos son muy fáciles de recordar. Veamos algunos ejemplos.
Para ver la lista de máquinas virtuales en ejecución, ejecute:
$ sudo virsh list
O,
$ sudo virsh list --all
Salida de muestra:
Id Name State ---------------------------------------------------- 2 Ubuntu-16.04 running
Para iniciar una máquina virtual, ejecute:
$ sudo virsh start Ubuntu-16.04
Alternativamente, puede usar la identificación de VM para iniciarlo.
Como puede ver en el resultado anterior, la identificación de la máquina virtual Ubuntu 16.04 es 2. Entonces, para iniciarla, solo especifique su identificación como se muestra a continuación.
$ sudo virsh start 2
Para reiniciar una VM, ejecute:
$ sudo virsh reboot Ubuntu-16.04
Salida de muestra:
Domain Ubuntu-16.04 is being rebooted
Para pausar una VM en ejecución, ejecute:
$ sudo virsh suspend Ubuntu-16.04
Salida de muestra:
Domain Ubuntu-16.04 suspended
Para reanudar la VM suspendida, ejecute:
$ sudo virsh resume Ubuntu-16.04
Salida de muestra:
Domain Ubuntu-16.04 resumed
Para apagar una VM, ejecute:
$ sudo virsh shutdown Ubuntu-16.04
Salida de muestra:
Domain Ubuntu-16.04 is being shutdown
Para eliminar por completo una VM, ejecute:
$ sudo virsh undefine Ubuntu-16.04
$ sudo virsh destroy Ubuntu-16.04
Salida de muestra:
Domain Ubuntu-16.04 destroyed
Para obtener más opciones, te recomiendo que consultes las páginas del manual.
$ man virsh
Eso es todo por ahora amigos. Empiece a jugar con su nuevo entorno de virtualización. La virtualización de KVM se optará por fines de investigación y desarrollo y de prueba, entre otros. Si tiene suficiente hardware, puede usarlo para grandes entornos de producción.
Lectura relacionada:
- Instalar y configurar KVM en Ubuntu 20.04 servidor sin cabeza
Recurso:
- sitio web de KVM