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/