VirtualBox en Ubuntu Server

A veces nos hace falta un servidor extra, y ya no hay hardware para levantarlo, una solución es usar una máquina virtual, una de las mas usadas y que además es gratuita, es VirtualBox, en realidad es muy fácil de utilizar, tiene una intuitiva interface gráfica. El problema consiste en que no tenemos instaladas las X en el servidor ni intenciones de hacerlo, seria un desperdicio.  Aquí lo vamos a hacer a puro comando limpio desde la consola de comandos.

Comencemos.

  • Tenemos un servidor con Ubuntu Server 8.04 LTS (“Hardy Heron”)
  • Y necesitamos una imagen, un archivo .vdi con el sistema operativo que queremos virtualizar. ¿De donde lo sacamos? pues eso ya queda fuera del alcance de este post.

Entramos a nuestro servidor con ssh o con putty, todo mundo sabe como.

ssh miservidor.com

1.- Lo primero es instalar la versión 3.x de VirtualBox. Por default Ubuntu 8.04 tiene una mas vieja en los repositorios, por lo que no la usaremos. Hay que descargarla de:

http://www.virtualbox.org/wiki/Linux_Downloads

Mientras se descarga podemos instalar los linux-headers que no son mas que parte del código fuente del núcleo o kernel de Linux. Los necesitamos porque Virtualbox usa un drive para compartir el Hardware que debe corresponder con la versión del Kernel. Así que la mejor forma de que corresponda es compilarlo directamente en tu máquina, no te preocupes lo hará Virtualbox el solo y si no lo hace lo obligaremos con una linea de comandos, pero eso lo veremos después, ale a instalar los linux-headers por que si no nos aparecerá el error Compilation of the kernel module FAILED!

Primero hay que saber que versión del kernel tenemos con

uname -r

En nuestro caso tenemos 2.6.24-27-server y entonces instalamos

sudo apt-get install linux-headers-2.6.24-27*
hay que esperar un rato porque son muchos archivos, notese el * al final de la linea.

ahh lo olvidaba para compilar necesitamos también instalar make y gcc

sudo apt-get install gcc
sudo apt-get install make

Listo, no olvidemos que estábamos descargando VirtualBox también, una vez que tenemos el archivo vamos a instalarlo con:

sudo dpkg -i virtualbox-3.2_3.2.6-63112~Ubuntu~hardy_amd64.deb

dpkg no verifica si existen o no las dependencias necesarias, asi que probablemente algunas este rotas. Para arreglarlo usamos el comando:

sudo apt-get install -f

este comando busca todas las dependencias rotas e intenta arreglarlas.

OK ya tenemos todo lo necesario.

2.- Ahora hay que crear un nuevo usuario en nuestro servidor, ni se te ocurra crear una máquina virtual y luego ejecutarla como root.

sudo adduser vbox

Además lo agregamos al grupo de Virtualbox.

sudo usermod -a -G vboxusers vbox

Tenemos que salir del servidor y entrar de nuevo pero esta vez con nuestros nuevo usuario.

ssh vbox@miservidor.com

Copiamos nuestro archivo .vdi en algún lugar, por ejemplo en /home/vbox puedes usar scp o ftp para hacerlo o si tienes acceso físico mejor, porque los .vdi son archivos muy muy grandes.

3.- Ahora vamos a usar los comandos VBoxManage y VBoxHeadless. Es recomendable leer un poco de documentación al respecto, porque tarde o temprano lo vamos a necesitar.

Primero creamos una nueva Máquina virtual

VBoxManage createvm -name MiVentanucos2003 -register

Luego ponemos un poco mas de memoria ram porque la que pone por default es muy poca.

VBoxManage modifyvm MiVentanucos2003 --memory 512

Tenemos que crear un disco duro, pero hay que crear un dispositivo IDE aunque también puede ser SATA.

VBoxManage storagectl MiVentanucos2003 --name "IDE Controller"
--add ide

Y luego montamos nuestro archivo .vdi para que la máquina virtual lo pueda ver.

VBoxManage storageattach w2003 --storagectl "IDE Controller"
--port 0 --device 0 --type hdd
--medium /home/vbox/Windows_2003_Server.vdi

Y listo.

4.- Solo queda arrancar la máquina. Para ello usamos el comando.

VBoxHeadless -startvm MiVentanucos2003 -p 3389

Este comando no solo arranca la máquina, sino que también abre un servicio de Escritorio remoto, con el que podemos ver que esta pasando.

para ello desde nuestra máquina, podemos entrar con la “Conexión a escritorio remoto” de Windows o con

rdesktop miservidor.com:3389

desde Linux.

Si todo salio bien tenemos un nuevo servidor corriendo 🙂 ten mucho cuidado aunque es un servidor virtual debemos cuidarlo como cualquier otro servidor, instalar parches, cerrar servicios, cambiar contraseñas etc.

Nuestro servidor aun no tiene red, para ello hay que seguir usando el comando VBoxManage para seguir agregando hardware a nuestra máquina virtual. Lo mas fácil es hacer

VBoxManage modifyvm MiVentanucos2003 -nic1 nat

Pero una red NAT no es lo mas recomendable, como este post ya se alargo demasiado, hasta aquí lo vamos a dejar.

Twitter: @ZeruGiran

Eric Ruiz Osornio (Zeru). Instituto Politécnico Nacional, México. Gamer de StarCraft2, coder y administrador de proyectos.

Facebook Twitter 

2 thoughts on “VirtualBox en Ubuntu Server

  1. Para poner un adaptador de red:

    VBoxManage modifyvm [VM Name] –nic1 bridged –nictype1 82545EM

    donde el último puede ser:

    Am79C970A|Am79C973|82540EM|82543GC|82545EM|virtio

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *