lunes, diciembre 20, 2010

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!

viernes, junio 11, 2010

Tu vida es privada?

Hoy, leyendo un foro que frecuento, encontré este excelente vídeo en el cual se analiza el flujo de información de los usuarios de las redes sociales (Facebook, Twitter, etc) y se muestra como se puede obtener información muy valiosa de ellos con pocos conocimientos técnicos. Entre otras cosas muy interesantes, me gusto como se utiliza la teoria de grafos para establecer vinculos entre la gente.

jueves, junio 03, 2010

Tesmpestad II

«¡Oh qué maravilla!
¡Cuántas criaturas bellas hay aquí!
¡Cuán bella es la humanidad!
¡Oh mundo feliz,
en el que vive gente así!»

Y a veces no tan maravilloso, con criaturas no tan bellas...
asi es, gente asi...

martes, junio 01, 2010

Y aunque no quise el regreso, siempre se vuelve al primer amor.

Y así fue. Este finde largo tuve el placer de volver a Capilla del Monte, como si de un pacto se tratara. Acompañado de hermosas personas recorrí el norte pasando por Villa del Dique, reencontrando a un compañero de secundaria, por Carlos Paz en un almuerzo bastante bacan, y por ultimo hospedandonos dos días en la hermosa Capilla.
No paso un día sin pensar en lo lindo que seria vivir viajando, no les pasa?










lunes, febrero 15, 2010

Aleatoriedad?

sábado, febrero 06, 2010

Switching de Conexiones (BASH)

Pequeño script que modifica el /etc/network/interfaces configurando la interfaz de manera dinámica y/o estática, mas que nada es una idea de como se puede aplicar a varias interfaces en caso de ser necesario, por ejemplo en caso de estar virtualizando maquinas con muchas interfaces o topologias con varias VM, etc...
En este caso particular, es para un cliente que posee 2 rangos de red en un mismo dominio broadcast, uno con DHCP y otro estatico, la topologia se muestra en la imagen.





  1. #!/bin/bash

  2. LAN="eth0";
  3. GW="192.168.50.1";
  4. NETMASK="255.255.255.0";
  5. ADDRESS="192.168.50.2";

  6. valor=0;

  7. echo "#################################";
  8. echo "######## Switching ISP ##########";
  9. echo "#################################";
  10. echo "";


  11. echo "Seleccione a travez de que ISP desea conectarse a internet:"
  12. echo "1- Fibertel";
  13. echo "2- VPN";
  14. echo "3- Salir";
  15. read valor;

  16. # Valido valor ingresado
  17. while [ $valor -gt 3 -o $valor -lt 1 ];
  18. do
  19. echo "Valor Incorrecto, por favor elija una de las 3 opciones:";
  20. read valor;
  21. done
  22. case $valor in
  23. 1)cd /etc/network
  24. echo "#Configuracion Automatica echa con Script SWITCH-ISP" > interfaces;
  25. echo "" >> interfaces;
  26. echo "auto "$LAN >> interfaces;
  27. echo "iface "$LAN" inet static" >> interfaces;
  28. echo "address "$ADDRESS >> interfaces;
  29. echo "netmask "$NETMASK >> interfaces;
  30. echo "gateway "$GW >> interfaces;
  31. echo "Reiniciando Configuracion....";
  32. /etc/init.d/networking restart
  33. cd /
  34. ping $ADDRESS
  35. echo "Configuracion exitosa!";
  36. ;;
  37. 2)cd /etc/network
  38. echo "#Configuracion Automatica echa con Script SWITCH-ISP" > interfaces;
  39. echo "auto "$LAN >> interfaces;
  40. echo "iface "$LAN" inet dhcp" >> interfaces;
  41. /etc/init.d/networking restart
  42. cd /
  43. ifconfig $LAN
  44. echo "Configuracion exitosa!";
  45. ;;
  46. 3)echo "Saliendo....";;
  47. *)echo "Opcion incorrecta, vuelva a ingresar";;
  48. esac