GNU/Linux >> Tutoriales Linux >  >> Ubuntu

VBoxHeadless:ejecución de máquinas virtuales con VirtualBox 5.1 en un servidor Ubuntu 16.04 LTS sin cabeza

Esta guía explica cómo puede ejecutar máquinas virtuales con VirtualBox 5.1 en un servidor Ubuntu 16.04 sin periféricos. Normalmente, utiliza la GUI de VirtualBox para administrar sus máquinas virtuales, pero un servidor no tiene un entorno de escritorio. Afortunadamente, VirtualBox viene con una herramienta llamada VBoxHeadless que le permite conectarse a las máquinas virtuales a través de una conexión de escritorio remoto, por lo que no es necesaria la GUI de VirtualBox.

1 nota preliminar

He probado esto en un servidor Ubuntu 16.04 (sistema host) con la dirección IP 192.168.1.100 donde estoy conectado como un usuario normal (administrador de nombre de usuario en este ejemplo) en lugar de como root.

2 Instalación de VirtualBox

Para instalar VirtualBox 5.1 en nuestro servidor Ubuntu 16.04 abrimos /etc/apt/sources.list...

sudo nano /etc/apt/sources.list

... y añádele la siguiente línea:

deb http://download.virtualbox.org/virtualbox/debian xenial contrib

Luego descargamos la clave pública de VirtualBox...

wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add -

... y actualice nuestra base de datos de paquetes:

sudo apt-get update

Posteriormente, instalamos VirtualBox 5.1 de la siguiente manera:

sudo apt-get install linux-headers-$(uname -r) build-essential virtualbox-5.1 dkms

(El paquete dkms garantiza que los módulos del kernel del host VirtualBox se actualicen correctamente si cambia la versión del kernel de Linux).

A partir de la versión 4.0, VirtualBox ha introducido los llamados "paquetes de extensión" y ha externalizado algunas funciones como el soporte de conexión de escritorio remoto (VRDP) que formaba parte de los paquetes de VirtualBox antes de la versión 4.0 en estos paquetes de extensión. Debido a que necesitamos conexiones de escritorio remoto para controlar nuestras máquinas virtuales, debemos instalar el paquete de extensión adecuado ahora. Vaya a http://www.virtualbox.org/wiki/Downloads y encontrará un enlace al siguiente paquete de extensión:

VirtualBox 5.1 Oracle VM VirtualBox Extension Pack

Descargue e instale el paquete de extensión de la siguiente manera:

cd /tmp
wget http://download.virtualbox.org/virtualbox/5.1.0/Oracle_VM_VirtualBox_Extension_Pack-5.1.0-108711.vbox-extpack
sudo VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-5.1.0-108711.vbox-extpack

(Asegúrese de obtener la última versión del sitio web de VirtualBox y use sudo para instalar el archivo extpack con VBoxManage).

Ahora debemos agregar el usuario que ejecutará VirtualBox (administrador en este ejemplo) al grupo de usuarios de vbox:

sudo adduser administrator vboxusers

VirtualBox ahora está instalado y listo para usarse.

3 Usando VirtualBox en la Línea de Comandos

3.1 Creando una VM

Para crear una VM en la línea de comandos, podemos usar el comando VBoxManage. Ver

VBoxManage --help

para obtener una lista de los conmutadores disponibles y (¡muy recomendable!) eche un vistazo a http://www.virtualbox.org/manual/ch08.html.

Ahora crearé una VM de servidor Ubuntu 16.04 con 2048 MB de memoria y un disco duro de 10 GB a partir de la imagen iso del servidor Ubuntu 16.04 (que he almacenado en /home/administrator/iso/ubuntu-16.04-server-amd64.iso):

VBoxManage createvm --name "Ubuntu 16.04 Server" --register
VBoxManage modifyvm "Ubuntu 16.04 Server" --memory 2048 --acpi on --boot1 dvd --nic1 bridged --bridgeadapter1 ens33
VBoxManage createhd --filename /home/administrator/Ubuntu_16_04_Server.vdi --size 10000
VBoxManage storagectl "Ubuntu 16.04 Server" --name "IDE Controller" --add ide
VBoxManage storageattach "Ubuntu 16.04 Server" --storagectl "IDE Controller" --port 0 --device 0 --type hdd --medium /home/administrator/Ubuntu_16_04_Server.vdi
VBoxManage storageattach "Ubuntu 16.04 Server" --storagectl "IDE Controller" --port 1 --device 0 --type dvddrive --medium /home/administrator/iso/ubuntu-16.04-server-amd64.iso
VBoxManage modifyvm "Ubuntu 16.04 Server" --vrde on

Ahora continúe con el capítulo 3.3 para iniciar la máquina virtual y luego conéctese a la máquina virtual con un cliente de escritorio remoto como se describe en el capítulo 4. 

3.2 Importación de una VM existente

Supongamos que tiene una máquina virtual llamada examplevm que desea reutilizar en este host. En el antiguo host, debe tener un directorio Machines/examplevm en el directorio VirtualBox; Machines/examplevm debe contener el archivo examplevm.xml. Copie el directorio examplevm (incluido el archivo examplevm.xml) en su nuevo directorio de Máquinas (si su nombre de usuario es administrador, este es /home/administrador/.VirtualBox/Machines; el resultado debería ser /home/administrador/.VirtualBox/Machines /ejemplovm/ejemplovm.xml).

Además de eso, copie el archivo examplevm.vdi del antiguo directorio VDI al nuevo (por ejemplo, /home/administrator/.VirtualBox/VDI/examplevm.vdi).

Posteriormente, debe registrar la VM importada:

VBoxManage registervm Machines/examplevm/examplevm.xml

3.3 Iniciar una VM con VBoxHeadless

Independientemente de si crea una nueva VM o importa una antigua, puede iniciarla con el comando:

VBoxHeadless --startvm "Ubuntu 16.04 Server"

(Reemplace Ubuntu 16.04 Server con el nombre de su VM).

VBoxHeadless iniciará la VM y un servidor VRDP (VirtualBox Remote Desktop Protocol) que le permite ver la salida de la VM de forma remota en otra máquina.

Para detener una máquina virtual, ejecute

VBoxManage controlvm "Ubuntu 16.04 Server" poweroff

Para pausar una máquina virtual, ejecute

VBoxManage controlvm "Ubuntu 16.04 Server" pause

Para restablecer una máquina virtual, ejecute

VBoxManage controlvm "Ubuntu 16.04 Server" reset

Para obtener más información sobre VBoxHeadless, eche un vistazo a

VBoxHeadless --help

y en http://www.virtualbox.org/manual/ch07.html#vboxheadless.

4 Conectarse a una VM desde un escritorio remoto

4.1 Ventanas

Puede usar la utilidad integrada Conexión a escritorio remoto para conectarse a la máquina virtual.

Escriba el nombre de host o la dirección IP del host (¡no del invitado!):

Y listo, deberías estar conectado a la máquina virtual:

4.2 Ubuntu Escritorio

En los escritorios de Ubuntu, puede usar Remmina Remote Desktop Client o gnome-rdp para conectarse a la máquina virtual.

Instale el cliente con apt:

sudo apt-get install remmina remmina-plugin-rdp

Simplemente busque remmina y luego haga doble clic en el icono de Remmina Client para iniciar la aplicación RDP.

En Remmina Remote Desktop Client, haga clic en el ícono más para agregar una nueva conexión de escritorio remoto:

En la ventana de Preferencias de escritorio remoto, ingrese un nombre para el perfil (como Ubuntu 16.04 Server), asegúrese de que RDP esté seleccionado como protocolo (debe estar seleccionado de manera predeterminada), luego complete la dirección IP del host, no la IP. del invitado de VirtualBox! - en el campo Servidor y seleccione una profundidad de color superior a la predeterminada de 8bpp - 16bpp está bien. Luego haga clic en Conectar:

Y listo, deberías estar conectado a la máquina virtual:

4.3 Si la conexión de escritorio remoto no funciona...

Si la conexión del escritorio remoto no funciona, probablemente se haya perdido el paso donde instalo el paquete de extensión de VirtualBox en el capítulo 2. Instale el paquete de extensión ahora, detenga su máquina virtual (consulte el capítulo 3.3) y modifique su máquina virtual. para aceptar conexiones de escritorio remoto:

VBoxManage modifyvm "Ubuntu 16.04 Server" --vrde on

(Si el paquete de extensión ya está instalado cuando crea su máquina virtual, las conexiones de escritorio remoto se habilitan automáticamente).

Luego inicie su máquina virtual nuevamente.

5 Enlaces

  • VirtualBox:http://www.virtualbox.org/
  • Ubuntu:http://www.ubuntu.com/

Ubuntu
  1. Administrar una instalación de VirtualBox sin cabeza con phpvirtualbox (Ubuntu 16.04 LTS)

  2. Configuración inicial del servidor con Ubuntu 20.04 LTS (Focal Fossa)

  3. ¿Mantener Ubuntu Server ejecutándose en una computadora portátil con la tapa cerrada?

  4. ¿No se puede conectar con Vps que ejecutan Ubuntu Server 16 con X2go?

  5. Máquinas virtuales semanales, con scripts de compilación

Cómo instalar el servidor VsFTPD con TLS en Ubuntu 18.04 LTS

Cómo instalar Jellyfin Media Server en Ubuntu 20.04 LTS Server/Desktop

Cómo instalar Plex Media Server en Ubuntu 20.04 LTS Server/Desktop

Cómo instalar phpMyAdmin con Apache en Ubuntu 22.04 LTS

Cómo instalar Ubuntu 22.04 LTS ISO en VirtualBox VM para probarlo

Cómo instalar KVM y crear máquinas virtuales en Ubuntu 16.04 LTS