VIRTUALIZACIÓN CON «VAGRANT» Y «VIRTUALBOX»

virtualbox¿Qué es VirtualBox?

Oracle VM VirtualBox es un software de virtualización para arquitecturas x86/amd64, creado originalmente por la empresa alemana innotek GmbH. Actualmente es desarrollado por Oracle Corporation como parte de su familia de productos de virtualización. Por medio de esta aplicación es posible instalar sistemas operativos adicionales, conocidos como «sistemas invitados», dentro de otro sistema operativo «anfitrión», cada uno con su propio ambiente virtual.

 

Descargar e instalar VirtualBox

Desde repositorios:

$ apt-get install virtualbox – x86

$ yum install virtualbox – x86

$ dnf install virtualbox – x86

Una vez instalado lo ejecutamos desde terminal:

$ virtualbox

Desde la página oficial descargando el binario:

https://www.virtualbox.org/wiki/Downloads

En mi caso desde binario, porque lo instalare en mi MacBook Pro.

 

Crear una máquina virtual

Para crear un Guest (máquina virtual) el procedimiento es muy sencillo:

Crear máquina virtual Nueva y elegimos el sistema operativo a instalar

1

Especificar la cantidad de RAM. Es aconsejable dejar como mínimo la que viene por defecto y crearemos un disco virtual nuevo:

2

Por defecto el formato para VirtualBox es VDI, pero si queremos podemos utilizar este disco con diferentes sistemas de virtualización como VMware (VMDK), Microsoft Virtual PC (VHD) o KVM/QEMU (QCOW). Todos estos formatos permiten una asignación dinámica de espacio (es decir podremos ir aumentando el tamaño del disco conforme vayamos creando contenido dentro).

3

Se nos pide que elijamos si queremos dar una asignación dinámica o un espacio fijo. Ahora indicaremos una ruta donde crear y almacenar nuestro disco duro virtual y el tamaño.

4

Por último veremos la pantalla principal en la que se muestra nuestra máquina virtual, ahora podremos desde la pestaña “Configuración” ajustar algunos parámetros como la imagen iso desde la que vamos a instalar el sistema, los puertos USB, la red, directorios a compartir, etc.

Podemos configurar el portapapeles, y arrastrar y soltar, lo que nos permitirá copiar texto de nuestra máquina virtual a nuestro OS anfitrión y viceversa.

5

Una vez llegados a este punto, solo tendremos que realizar la instalación del sistema como si de una máquina física se tratara, con su correspondiente proceso, sea cual sea el sistema operativo.

 

vagrant¿Qué es VAGRANT?

Vagrant es una herramienta para la creación y configuración de entornos de desarrollo virtualizados. Originalmente se desarrolló para VirtualBox y sistemas de configuración tales como Chef, Salt y Puppet. Sin embargo desde la versión 1.1 Vagrant es capaz de trabajar con múltiples proveedores, como VMware, Amazon EC2, LXC, DigitalOcean, etc. Aunque Vagrant se ha desarrollado en Ruby se puede usar en multitud de proyectos escritos en otros lenguajes, tales como PHP, Python, Java, C# y JavaScript.

Cuando queremos tener una máquina virtual (Guest) en nuestro sistema anfitrión solemos recurrir a herramientas como VirtualBox ó VMWare como hemos explicado antes. Esto implica tener que llevar a cabo todo un proceso de instalación del sistema con la consecuente perdida de tiempo. Es aquí donde entra en juego Vagrant.

Con Vagrant todo esto se reduce a cuestión de minutos, sólo necesita para funcionar una de estas aplicaciones anteriormente citadas pero la principal ventaja radica en que una vez tengamos VirtualBox y Vagrant instalados, solo tendremos que descargarnos una imagen llamada “box” y hacerla correr.

Instalamos Vagrant desde la SHELL:

$ apt-get install vagrant

$ yum install vagrant

$ dnf install vagrant

Desde la pagina web bajando el binario, en mi caso para Mac OSX.

https://www.vagrantup.com/downloads.html

El proceso de instalación para Mac es bien simple, se descargará un fichero “.dmg” que se monta como imagen de disco y a partir de ahí, ejecutar el binario “vagrant.pkg” como cualquier otra aplicación.

Una vez instalado creamos un directorio para las máquinas vagrant, por ejemplo en el directorio home (Linux):

$ mkdir /home/usuario/vagrant

En mi caso en Mac OSX, la crearé dentro del directorio de VirtualBox:

$ mkdir /Users/usuario/vagrant/VirtualBox/vagrant

Y dentro creamos otro para la máquina de pruebas que vamos a instalar:

$ mkdir /home/usuario/vagrant/”Nombre_máquina” (Linux)

$ mkdir /Users/usuario/vagrant/VirtualBox/vagrant/”Nombre_máquina” (Mac)

Vamos al interior del directorio:

$ cd /home/usuario/vagrant/”Nombre_máquina” (Linux)

$ cd /Users/usuario/vagrant/VirtualBox/vagrant/”Nombre_máquina” (Mac)

A partir de aquí solo tendréis que seguir los pasos indicados en la documentación del programa mostrada en su web (apartado Getting started):

https://docs.vagrantup.com/v2/getting-started/index.html

Son 2 simples comandos a ejecutar desde la SHELL:

$ vagrant init hashicorp/precise32

$ vagrant up

6

Tal como dice la documentación (After running the above two commands, you’ll have a fully running virtual machine in VirtualBox running Ubuntu 12.04 LTS 32-bit), después de ejecutar estos 2 comandos tendremos una máquina virtual completa ejecutándose en VirtualBox, Ubuntu 12.04 LTS 32-bit.

Hasta aquí seria la puesta en marcha más simple, según la documentación. Si quisiéramos otra máquina con diferente sistema operativo, haríamos los pasos anteriores creando carpetas para la nueva máquina virtual y posteriormente podríamos escoger cualquiera de los “boxes” que tenemos disponibles en la siguiente web:

http://www.vagrantbox.es

mirar la que nos guste y ejecutar:

$ vagrant box add {nombre_máquina} {url_descarga}

$ vagrant box add Srv1 https://atlas.hashicorp.com/ARTACK/boxes/debian-jessie

Así agregaríamos una “Debian Jessie” de nombre “Srv1”.

Vagrant dispone de comandos internos con los que podremos interactuar desde la SHELL. Después de agregar la máquina utilizaremos “init” con el que prepararemos un archivo de configuración para la nueva máquina:

$ vagrant init

Esto nos creará un archivo llamado “Vagrantfile” que será el archivo de configuración de la máquina virtual descargada. En este fichero podremos configurar IP, nombre, redirecciones de puertos, etc.

Iniciamos la máquina virtual con:

$ vagrant up

Listo, veremos como aparece una ventana de VirtualBox ejecutando Ubuntu. El siguiente paso es conectarnos a la máquina mediante “ssh” desde una SHELL en nuestra máquina física (Host):

$ vagrant ssh

NOTA: Es importante tener en cuenta que para ejecutar los comandos “vagrant” deberéis estar situados bajo el directorio donde se encuentra el fichero de configuración “Vagrantfile”.

Veremos que se abre una sesión “ssh” en la máquina virtual sin pedir contraseña con el usuario “vagrant”. Si quisiéramos logearnos directamente en la máquina, usaríamos “usuario:vagrant” y “passwd:vagrant”.

7

Otros comandos a tener en cuenta son:

$ vagrant halt (para apagarla).

$ vagrant suspend (suspenderla)

$ vagrant resume (si hemos usado suspend, volveremos a tener la máquina activa con resume)

$ vagrant reload (para reiniciarla, si ya esta corriendo)

$ vagrant ssh (conectar ssh con la nueva máquina)

$ vagrant destroy (eliminar todo lo relacionado con la box. Cuando ya no queramos volver a utilizarla o “desinstalarla”)

Si ya estamos conectados a la máquina mediante “ssh”, podremos administrarla como de costumbre usando “sudo” y el comando que queramos ejecutar.

Espero os sirva de ayuda como breve guía, para más información visitar la pagina de documentación en la web de vagrant:

https://docs.vagrantup.com/v2/

 

Saludos cordiales.

 

 

Una respuesta a “VIRTUALIZACIÓN CON «VAGRANT» Y «VIRTUALBOX»

  1. Pingback: INTRODUCCIÓN A VAGRANT, CÓMO INSTALAR “LAMP” EN CENTOS 7 | A Linux a Day

Deja un comentario