Virtual Machines@/etc/init.d con VirtualBox

Bueno, me encontre con la siguiente cuestion: Necesitaba levantar 2 sevidores virtualizados en un Debian con virtualbox al inicio del sistema anfitrion.

La solucion fue, despues de un largo rato con problemas, la siguiente:

kepler:~# cat /etc/init.d/server.sh
#!/bin/bash

#Inicio el servidor www en background // 192.168.2.3
VBoxManage startvm www -type vrdp

#Inicio el servidor de base de datos n background // 192.168.2.4
VBoxManage startvm database -type vrdp

luego de crear ese script que hace uso del comando VBoxManage, que no solo nos permite levantar maquinas en background, sino clonar y otras tantas mas…

update-rc.d server.sh defaults 95

y pongo en negrita la prioridad de ejecucion del script, ya que perdi horas viendo por que no arrancaban las maquinas virtuales cuando se ejecutaban los comandos al inicio y si cuando lo hacia yo a mano. El tema es que se ejecutaba antes el comando de inicio de VMS antes que el que gestionaba las interfaces virtuales de red. Poniendo una prioridad mas alta que la default(20) arranco sin problemas.

Algo muy util que me sirvio para ver el error es habilitar el logueo de la tty1 durante el arranque, que en debuan lenny es asi:

kepler:~# cat /etc/default/bootlogd
# Run bootlogd at startup ?
BOOTLOGD_ENABLE=yes

Habilitando ese parametro se generara el registro en /var/log/boot

Mon Dec 20 03:43:14 2010: Oracle VM VirtualBox Command Line Management Interface Version 3.2.12
Mon Dec 20 03:43:14 2010: (C) 2005-2010 Oracle Corporation
Mon Dec 20 03:43:14 2010: All rights reserved.
Mon Dec 20 03:43:14 2010:
Mon Dec 20 03:43:15 2010: Waiting for the VM to power on...
Mon Dec 20 03:43:16 2010: ERROR: The virtual machine 'www' has terminated unexpectedly during startup with exit code 1
Mon Dec 20 03:43:16 2010: Details: code NS_ERROR_FAILURE (0x80004005), component Machine, interface IMachine, callee
Mon Dec 20 03:43:16 2010: WARNING: The vboxdrv kernel module is not loaded. Either there is no module
Mon Dec 20 03:43:16 2010: available for the current kernel (2.6.26-2-686) or it failed to
Mon Dec 20 03:43:16 2010: load. Please recompile the kernel module and install it by
Mon Dec 20 03:43:16 2010:
Mon Dec 20 03:43:16 2010: sudo /etc/init.d/vboxdrv setup
Mon Dec 20 03:43:16 2010:
Mon Dec 20 03:43:16 2010: You will not be able to start VMs until this problem is fixed.
Mon Dec 20 03:43:16 2010: Oracle VM VirtualBox Command Line Management Interface Version 3.2.12
Mon Dec 20 03:43:16 2010: (C) 2005-2010 Oracle Corporation
Mon Dec 20 03:43:16 2010: All rights reserved.
Mon Dec 20 03:43:16 2010:
Mon Dec 20 03:43:16 2010: Waiting for the VM to power on...
Mon Dec 20 03:43:16 2010: ERROR: The virtual machine 'database' has terminated unexpectedly during startup with exit code 1
Mon Dec 20 03:43:16 2010: Details: code NS_ERROR_FAILURE (0x80004005), component Machine, interface IMachine, callee
Mon Dec 20 03:43:16 2010: Starting VirtualBox kernel modules:done..
Mon Dec 20 03:43:16 2010: Starting VirtualBox host networking...done.
Mon Dec 20 03:43:16 2010: Starting FTP server: vsftpd.
Mon Dec 20 03:43:16 2010: Starting file alteration monitor: FAM.
Mon Dec 20 03:43:16 2010: Starting Hardware abstraction layer: hald.
Mon Dec 20 03:43:18 2010: Starting GNOME Display Manager: gdm.
Mon Dec 20 03:43:18 2010: Starting System Tools Backends: system-tools-backends.
Mon Dec 20 03:43:18 2010: Starting deferred execution scheduler: atd.
Mon Dec 20 03:43:18 2010: Starting periodic command scheduler: crond.
Mon Dec 20 03:43:19 2010: Oracle VM VirtualBox Command Line Management Interface Version 3.2.12
Mon Dec 20 03:43:19 2010: (C) 2005-2010 Oracle Corporation
Mon Dec 20 03:43:19 2010: All rights reserved.
Mon Dec 20 03:43:19 2010:
Mon Dec 20 03:43:19 2010: Waiting for the VM to power on...
Mon Dec 20 03:43:20 2010: VM has been successfully started.
Mon Dec 20 03:43:20 2010: Oracle VM VirtualBox Command Line Management Interface Version 3.2.12
Mon Dec 20 03:43:20 2010: (C) 2005-2010 Oracle Corporation
Mon Dec 20 03:43:20 2010: All rights reserved.
Mon Dec 20 03:43:20 2010:
Mon Dec 20 03:43:20 2010: Waiting for the VM to power on...
Mon Dec 20 03:43:20 2010: VM has been successfully started.
Mon Dec 20 03:43:20 2010:

Como podemos ver, las maquinas inician perfectamente, si por cuestiones de seguridad consideran que root no deberia levantar las maquinas, no tienen mas que ejecutar el VBoxManage con ‘sudo’ o ‘su’.

Cuando tenga tiempo y menos sueño voy a subir un poco mas de informacion con algun lab mas interesante.

ci parliamo dopo!