Apartamento En Familia

Apartamento En Familia
Apartamento de playa para vacaciones. http://www.apartamentoenfamilia.es. Número registro HUTT-005768

viernes, 8 de octubre de 2010

Script para crear máquinas virtuales en VirtualBox

Oracle VirtualBox
En artículos anteriores explicaba como instalar el VirtualBox para crear máquinas virtuales:
Hoy quiero explicaros un concepto nuevo: VBoxHeadless. Traduciéndolo literalmente estaríamos hablando de un equipo virtual sin cabeza. Al referirnos a "sin cabeza" nos vamos a referir a que la máquina arrancada no va a mostrarnos una ventana-monitor para ver lo que se ejecuta, sino que lo va a hacer como servicio y para poder acceder a "la cabeza", es decir, el monitor virtual, lo haremos mediante una conexión RDP (Cliente Terminal Server) al servidor que contiene la máquina virtual por un puerto que especificaremos. Por tanto, no necesitamos la GUI de VirtualBox. Para hacernos aún más independientes de la GUI de VirtualBox, os dejo un script que uso para crear las máquinas virtuales desde la linea de comandos:



#!/bin/bash


REPODVDS=/home/usuario/Escritorio/UbuntuISOS
REPOVDIS=/home/usuario/Escritorio
ls /home/usuario/Escritorio/UbuntuISOS
#DVDISO=ubuntu-10.04-server-amd64.iso
DVDISO=ubuntu-10.04.1-server-i386.iso




#Máquina
echo "================---------------------"
echo " Nombre de la máquina,red y memoria"
echo "================---------------------"
sleep 1
echo -n "Introduce nombre de la máquina y pulsa [ENTER]: " 
read NOMVM
echo -n "Introduce nombre del adaptador puente para la conexión de red y pulsa [ENTER]: " 
read VLANVM
echo -n "Introduce número de Megas y pulsa [ENTER]: " 
read MEMVM


VBoxManage createvm -name $NOMVM -register
VBoxManage list bridgedifs | grep Name | grep -v HostInterface
VBoxManage modifyvm $NOMVM --memory $MEMVM --acpi on --boot1 dvd --nic1 bridged --bridgeadapter1 $VLANVM


#OSType
echo "================---------------------"
echo " Tipo de sistema operativo"
echo "================---------------------"
sleep 1
VBoxManage list ostypes
echo -n "Introduce ID del sistema operativo y pulsa [ENTER]: " 
read OSVM
VBoxManage modifyvm $NOMVM --ostype $OSVM


#Disc Dur
echo "================---------------------"
echo " Creación del disco duro"
echo "================---------------------"
sleep 1


mkdir $REPOVDIS/$NOMVM
VBoxManage createvdi -filename $REPOVDIS/$NOMVM/$NOMVM -size 10000 -register
VBoxManage showhdinfo $REPOVDIS/$NOMVM/$NOMVM.vdi
VBoxManage storagectl $NOMVM --name "SATA Controller" --add sata --controller IntelAhci
VBoxManage storageattach $NOMVM --storagectl "SATA Controller" \
    --port 0 --device 0 --type hdd \
    --medium $REPOVDIS/$NOMVM/$NOMVM.vdi
VBoxManage showhdinfo $REPOVDIS/$NOMVM/$NOMVM.vdi | grep UUID: | cut -d: -f2 | sed -e 's/ *//'


#DVD
echo "================---------------------"
echo " Creación de la unidad DVD"
echo "================---------------------"
sleep 1


VBoxManage registerimage dvd $REPODVDS/$DVDISO
VBoxManage storagectl $NOMVM --name "IDE Controller" --add ide
VBoxManage storageattach $NOMVM --storagectl "IDE Controller" \
    --port 0 --device 0 --type dvddrive \
    --medium "$REPODVDS/$DVDISO"


#Resumen
echo "================---------------------"
echo " Resumen de la máquina creada"
echo "================---------------------"
sleep 1


VBoxManage showvminfo $NOMVM


echo "================---------------------"
echo " Arrancar la máquina sin cabeza"
echo "================---------------------"
sleep 1
echo -n "Introduce puerto para el servidor VRP (modo VBoxHeadless) y pulsa [ENTER]: " 
read PORTVM
VBoxHeadless -startvm $NOMVM -p $PORTVM&;





Configurar un poco el script a vuestro entorno:
  • REPODVDS: Repositorio de imágenes ISO de los dvds para instalar máquinas virtuales. Quizás en vez de usar una iso para instalar la máquina virtual useis directamente el DVD físico y lo paravirtualices. En ese caso tendriais que modificar el script.
  • REPOVDIS: Repositorio en donde crearemos una carpeta y meteremos el disco virtual de la máquina virtual dentro. En mi caso el Escritorio.
  • DVDISO: Dentro de REPODVDS pondre que ISO quiero montar.

Es bueno que mireis un poco el script para ver que comandos usa para hacer las diferentes cosas. Básicamente usa el comando VBoxManage y VBoxHeadless. Si no quisiérais arrancar la máquina en modo "sin cabeza" simplemente comentar la última parte que hace referéncia al Headless y arrancarlo normalmente.




That u don't know what you've got 'til it's gone