Oracle VM VirtualBox
www.virtualbox.org
vjavierf.wordpress.com
Oracle VM VirtualBox
Acerca de Oracle VM VirtualBox.
Arquitectura de Oracle VM VirtualBox.
Hack #1: Cómo arrancar una VM d...
Acerca de Oracle VM VirtualBox
• Software de virtualización (hipervisor o VMM de tipo 2)
para arquitecturas x86 y AMD64/In...
Arquitectura de
Oracle VM VirtualBox
SysTech+ Day 3
Hack #1: Cómo arrancar una VM
desde un dispositivo USB
• Opción no disponible desde la interfaz gráfica de
VirtualBox pero...
Hack #1: Cómo arrancar una VM
desde un dispositivo USB
SysTech+ Day 5
Hack #2: VirtualBox Remote Desktop
Protocol (VRDP)
• Opción no disponible en la instalación base de
VirtualBox pero sí a t...
Hack #2: VirtualBox Remote Desktop
Protocol (VRDP)
SysTech+ Day 7
Hack #3: VBoxLaunch
• VBoxLaunch permite arrancar VMs directamente desde el
menú de Inicio de Windows (o desde la Barra de...
Hack #3: VBoxLaunch
SysTech+ Day 9
Hack #4: Arrancar VM sin interfaz
gráfica de usuario (GUI)
• La GUI de VirtualBox consume recursos (CPU
y Mª) que pueden r...
Hack #4: Arrancar VM sin interfaz
gráfica de usuario (GUI)
SysTech+ Day 11
Hack #5: Control básico de VMs desde
la interfaz de línea de comandos
• No necesitamos arrancar Oracle VM VirtualBox Manag...
Hack #6: Ejecutar VMs como Servicio
de Windows
• Para arrancar una VM de VirtualBox como un servicio de
Windows necesitamo...
Hack #7: phpVirtualBox
• phpVirtualBox es un front-end web desarrollado en PHP que permite
controlar una instalación de Vi...
Hack #7: phpVirtualBox
• Pasos:
3. Instalar phpVirtualBox (requiere un servidor web con PHP >= 5.1.0).
• Descargar el fich...
Hack #7: phpVirtualBox
SysTech+ Day 16
Hack #8: RemoteBox
• RemoteBox es una aplicación de escritorio que permite
administrar remotamente una instalación de Virt...
Hack #8: RemoteBox
SysTech+ Day 18
Hack #9: Portable-VirtualBox
• Portable-VirtualBox es un software Open Source que permite ejecutar una
instalación de Virt...
Hack #9: Portable-VirtualBox
Systech+ Day – Diciembre 2014 20
Hack #10: Vagrant
• Vagrant es una utilidad Open Source para construir,
gestionar y distribuir entornos de desarrollo
virt...
Hack #10: Vagrant
• Una VM empaquetada y gestionada por Vagrant se denomina Box o
imagen base.
– Vagrant usa la Box para c...
Hack #10: Vagrant
• Pasos:
– Instalar Oracle VM VirtualBox.
– Instalar Vagrant.
• Disponible para MAC OS X, Windows y Linu...
Hack #10: Vagrant
• Pasos:
– Con 2 comandos y 0 configuración construimos y configuramos una VM de propósito
general ejecu...
Hack Extra: Compartir un vdisk entre
VMs para acceso concurrente
• Un poco de info. sobre almacenamiento virtual con
Virtu...
Hack Extra: Compartir un vdisk entre
VMs para acceso concurrente
– Tipos de disco o modos de escritura (menú Archivo – Adm...
Hack Extra: Compartir un vdisk entre
VMs para acceso concurrente
SysTech+ Day 27
Enlaces de interés (I)
• Sobre Oracle VM VirtualBox:
– http://www.virtualbox.org/
– http://www.virtualbox.org/wiki/Downloa...
Enlaces de interés (II)
• Sobre RemoteBox:
– http://remotebox.knobgoblin.org.uk/
– http://remotebox.knobgoblin.org.uk/down...
Oracle VM VirtualBox
www.virtualbox.org
Próxima SlideShare
Cargando en…5
×

Oracle VM VirtualBox Hacked

2.591 visualizaciones

Publicado el

Trucos sobre VirtualBox y utilidades y aplicaciones desarrolladas alrededor de este software de virtualización.

Publicado en: Tecnología
0 comentarios
4 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

Sin descargas
Visualizaciones
Visualizaciones totales
2.591
En SlideShare
0
De insertados
0
Número de insertados
1.500
Acciones
Compartido
0
Descargas
0
Comentarios
0
Recomendaciones
4
Insertados 0
No insertados

No hay notas en la diapositiva.

Oracle VM VirtualBox Hacked

  1. 1. Oracle VM VirtualBox www.virtualbox.org vjavierf.wordpress.com
  2. 2. Oracle VM VirtualBox Acerca de Oracle VM VirtualBox. Arquitectura de Oracle VM VirtualBox. Hack #1: Cómo arrancar una VM desde un USB. Hack #2: VirtualBox Remote Desktop Protocol (VRDP). Hack #3: VBoxLaunch. Hack #4: Arrancar VM sin GUI. Hack #5: Control básico de VMs desde la CLI. Hack #6: Ejecutar VMs como Servicio de Windows. Hack #7: phpVirtualBox. Hack #8: RemoteBox. Hack #9: Portable-VirtualBox. Hack #10: Vagrant. Hack Extra: Compartir un vdisk entre VMs para acceso concurrente. Enlaces de interés.
  3. 3. Acerca de Oracle VM VirtualBox • Software de virtualización (hipervisor o VMM de tipo 2) para arquitecturas x86 y AMD64/Intel64. • Creado originalmente por la empresa alemana Innotek GmbH (lanzamiento inicial el 15 de enero de 2007). • Actualmente desarrollado por Oracle Corporation. • Desde la versión 4.0 está disponible como Open Source Software bajo licencia GNU GPL versión 2. – Oracle VM VirtualBox Extension Pack incluye componentes closed-source (propietarios) que añaden funcionalidad extra a la instalación base de VirtualBox. – Oracle VM VirtualBox Extension Pack es liberado bajo licencia VirtualBox Personal Use and Evaluation License (PUEL). • Sistemas operativos anfitriones soportados: Windows, Linux, Mac OS X y Solaris. • Sistemas operativos invitados soportados: Windows (NT 4.0, 2000, XP, Server 2003, Vista, Windows 7, Windows 8), DOS/Windows 3.x, Linux (2.4, 2.6 and 3.x), Solaris, OpenSolaris, OS/2 y OpenBSD. SysTech+ Day 2
  4. 4. Arquitectura de Oracle VM VirtualBox SysTech+ Day 3
  5. 5. Hack #1: Cómo arrancar una VM desde un dispositivo USB • Opción no disponible desde la interfaz gráfica de VirtualBox pero sí a través del comando VBoxManage. • Pasos: 1. Conectar el dispositivo USB. 2. Crear un disco virtual raw (vmdk) que apunte al dispositivo físico. • En Linux: # VBoxManage internalcommands createrawvmdk -filename ~/usbdisk.vmdk -rawdisk /dev/sdx • En Windows: C:>"%programfiles%"oraclevirtualboxVBoxManage internalcommands createrawvmdk -filename C:usbdisk.vmdk -rawdisk .PhysicalDrive# Usar el Administrador de discos o el siguiente comando para identificar el PhysicalDrive: C:>wmic diskdrive get caption,mediatype,deviceid,size 3. Configurar el disco virtual creado (usbdisk.vmdk) como disco primario maestro de la VM. 4. Arrancar la VM. SysTech+ Day 4
  6. 6. Hack #1: Cómo arrancar una VM desde un dispositivo USB SysTech+ Day 5
  7. 7. Hack #2: VirtualBox Remote Desktop Protocol (VRDP) • Opción no disponible en la instalación base de VirtualBox pero sí a través de Oracle VirtualBox Extension Pack. • Pasos: 1. Instalar Oracle VirtualBox Extension Pack. • Podemos comprobar que la extensión está disponible desde el menú Archivo – Preferencias – Extensiones. 2. Habilitar el servidor RDP para la VM. • Configuración de la VM – Pantalla – Pantalla remota, marcar el check Habilitar servidor. También podemos cambiar el puerto del servidor utilizado por defecto (3389) para que no colisione con otro servidor RDP que pudiera estar corriendo en el ordenador anfitrión. 3. Ejecutar un cliente RDP y conectar con la VM. • Importante: la conexión se realiza utilizando la IP o nombre DNS del ordenador anfitrión y el puerto configurado en el apartado anterior. SysTech+ Day 6
  8. 8. Hack #2: VirtualBox Remote Desktop Protocol (VRDP) SysTech+ Day 7
  9. 9. Hack #3: VBoxLaunch • VBoxLaunch permite arrancar VMs directamente desde el menú de Inicio de Windows (o desde la Barra de tareas) sin tener que ejecutar VirtualBox Manager. – Sistemas operativos soportados: Windows 7 32/64 bits. – Requiere Microsoft .NET Framework 3.5 • Pasos: 1. Descargar y descomprimir VBoxLaunch.zip. 2. Copiar VBoxLaunch.exe en %programfiles%OracleVirtualBox 3. Hacer clic con el botón derecho del ratón sobre VBoxLaunch.exe y seleccionar Anclar al menú Inicio. También podemos seleccionar Anclar a la barra de tareas. 4. Ejecutar VBoxLaunch.exe por primera vez. • Oracle VM VirtualBox Manager se abrirá automáticamente. • Cerrar Oracle VM VirtualBox Manager. 5. Ahora tendremos acceso al listado de VMs de VirtualBox desde el menú de Inicio y/o la barra de tareas y podremos ejecutarlas sin necesidad de ejecutar primero VirtualBox Manager. SysTech+ Day 8
  10. 10. Hack #3: VBoxLaunch SysTech+ Day 9
  11. 11. Hack #4: Arrancar VM sin interfaz gráfica de usuario (GUI) • La GUI de VirtualBox consume recursos (CPU y Mª) que pueden resultar valiosos para otras aplicaciones. – Estos recursos pueden ser liberados arrancando las VMs sin GUI (VMs headless). • Opciones: 1. Arrancar la VM headless desde Oracle VM VirtualBox Manager: • Mantener pulsada la tecla Mays. mientras iniciamos la VM. 2. Arrancar la VM headless desde la CLI: C:>"%programfiles%"oraclevirtualboxVBoxManage startvm vm_name --type headless O también: C:>"%programfiles%"oraclevirtualboxVBoxHeadless --startvm vm_name SysTech+ Day 10
  12. 12. Hack #4: Arrancar VM sin interfaz gráfica de usuario (GUI) SysTech+ Day 11
  13. 13. Hack #5: Control básico de VMs desde la interfaz de línea de comandos • No necesitamos arrancar Oracle VM VirtualBox Manager para controlar nuestras VMs, podemos hacerlo con VBoxManage. 1. Arrancar una VM: C:>"%programfiles%"oraclevirtualboxVBoxManage startvm vm_name [-- type headless] 2. Consultar el estado de una VM: C:>"%programfiles%"oraclevirtualboxVBoxManage showvminfo vm_name 3. Controlar el estado de una VM: C:>"%programfiles%"oraclevirtualboxVBoxManage showvminfo vm_name {pause | resume | reset | poweroff | savestate} 4. Listar VMs registradas: C:>"%programfiles%"oraclevirtualboxVBoxManage list vms 5. Listar VMs en ejecución: C:>"%programfiles%"oraclevirtualboxVBoxManage list runningvms SysTech+ Day 12
  14. 14. Hack #6: Ejecutar VMs como Servicio de Windows • Para arrancar una VM de VirtualBox como un servicio de Windows necesitamos instalar y configurar la herramienta VBoxVmService. • Pasos: – Descargar e instalar VBoxVmService. – Configurar C:vmsVBoxVmService.ini: [Settings] VBOX_USER_HOME=C:UsersAdmin.VirtualBox RunWebService=no PauseShutdown=5000 [Vm0] [Vm1] VmName=dnsmasqserver VmName=appserver1 ShutdownMethod=savestate ShutdownMethod=savestate AutoStart=yes AutoStart=no – Reiniciar el sistema o ejecutar VmServiceTray para iniciar/detener VBoxVmService y/o las VMs configuradas. • Cuando se inicia VBoxVmService se arrancan las VMs con AutoStart=yes • Oracle VM VirtualBox Manager no es consciente del estado de las VMs. SysTech+ Day 13
  15. 15. Hack #7: phpVirtualBox • phpVirtualBox es un front-end web desarrollado en PHP que permite controlar una instalación de VirtualBox remotamente comunicando con el web service (vboxwebsrv) que expone la API de VirtualBox. – vboxwebsrv y VirtualBox tienen que residir en la misma máquina física. – Lo normal es que phpVirtualBox y VirtualBox NO residan en la misma máquina física (en ese caso hay que ejecutar vboxwebsrv con el parámetro -H IP_HOST_VirtualBox). • Pasos: 1. Instalar Oracle VM VirtualBox + Extension Pack si queremos acceder a la consola de las VMs vía RDP (con un cliente RDP o a través de la Consola de phpVirtualBox). 2. Iniciar vboxwebsrv (por defecto escucha en localhost:18083): • En Linux: http://sourceforge.net/p/phpvirtualbox/wiki/vboxweb- service%20Configuration%20in%20Linux/ • En Solaris: /opt/VirtualBox/vboxwebsrv [-H IP_HOST_VirtualBox] -b --logfile /dev/null >/dev/null • En Windows (se puede iniciar como Servicio de Windows con Sw de terceros): C:>"%ProgramFiles%OracleVirtualBoxvboxwebsrv.exe [-H IP_HOST_VirtualBox]" >nul • En OS X: # cd /Applications/VirtualBox.app/Contents/MacOS # ./vboxwebsrv [-H IP_HOST_VirtualBox] >/dev/nullSysTech+ Day 14
  16. 16. Hack #7: phpVirtualBox • Pasos: 3. Instalar phpVirtualBox (requiere un servidor web con PHP >= 5.1.0). • Descargar el fichero .zip con la versión adecuada de phpVirtualBox. – La versión de phpVirtualBox debe estar alineada con la versión de VirtualBox. • Descomprimir el fichero y copiar los ficheros a una carpeta accesible por el servidor web (por ejemplo phpvirtualbox). 4. Configurar phpVirtualBox editando el fichero config.php: /* Username/Password for system user that runs VirtualBox */ var $username = 'vbox'; var $password = 'pass'; /* SOAP URL of vboxwebsrv (not phpVirtualBox's URL) */ var $location = 'http://127.0.0.1:18083/'; 5. Abrir un navegador web y acceder a la URL: http://webserver/phpvirtualbox 6. Hacer login con admin/admin. SysTech+ Day 15
  17. 17. Hack #7: phpVirtualBox SysTech+ Day 16
  18. 18. Hack #8: RemoteBox • RemoteBox es una aplicación de escritorio que permite administrar remotamente una instalación de VirtualBox comunicando con el web service (vboxwebsrv) que expone la API de VirtualBox. – vboxwebsrv y VirtualBox tienen que residir en la misma máquina física. – Lo normal es que RemoteBox y VirtualBox NO residan en la misma máquina física (en ese caso hay que ejecutar vboxwebsrv con el parámetro -H IP_HOST_VirtualBox). – Como ocurría con phpVirtualBox, la versión de RemoteBox debe estar alineada con la versión de VirtualBox. • RemoteBox puede ejecutarse en Linux, Solaris y en los más modernos OS *BSD. Con un poco más de trabajo en Mac OS X (http://remotebox.knobgoblin.org.uk/installmacosx.cgi) y Windows (http://remotebox.knobgoblin.org.uk/installwindows.cgi). SysTech+ Day 17
  19. 19. Hack #8: RemoteBox SysTech+ Day 18
  20. 20. Hack #9: Portable-VirtualBox • Portable-VirtualBox es un software Open Source que permite ejecutar una instalación de VirtualBox y administrar/ejecutar VMs desde una unidad USB. – Está diseñado para ejecutarse en sistemas Windows. • Cuando Portable-VirtualBox es ejecutado desde el USB instala en el sistema los drivers y servicios que VirtualBox necesita para ejecutarse, y los elimina cuando se cierra. • Eso significa que necesitamos permisos de administrador en el sistema. • Pasos: – Descargar, ejecutar el instalador de Portable-VirtualBox y extraer los ficheros en la unidad USB. – Acceder a la unidad USB y ejecutar Portable-VirtualBox.exe – Seleccionar el lenguaje deseado. – Si VirtualBox ya está instalado en el sistema la aplicación será ejecutada. – Si VirtualBox no está instalado en el sistema una nueva ventana será abierta para permitirnos descargar en el USB los ficheros de instalación de VirtualBox (para un sistema de 32 o 64 bits) y su Extension Pack correspondiente. – Tras la descarga, pulsando el botón de Aceptar los ficheros de VirtualBox son extraídos al USB y la aplicación es ejecutada si el check Iniciar Portable-VirtualBox después de la extracción y/o compresión está marcado (también se inicia VirtualBox). – Cuando Portable-VirtualBox se encuentra en ejecución un nuevo icono es mostrado en el bandeja del Sistema. Haciendo clic con el botón derecho del ratón sobre él accedemos a un menú desde dónde podemos configurar la aplicación y ejecutar determinadas acciones. • Por defecto el soporte para USB y Red están deshabilitados. • Seleccionando Quit VirtualBox la aplicación y VirtualBox son cerrados y los drivers y servicios instalados en el sistema son eliminados. SysTech+ Day 19
  21. 21. Hack #9: Portable-VirtualBox Systech+ Day – Diciembre 2014 20
  22. 22. Hack #10: Vagrant • Vagrant es una utilidad Open Source para construir, gestionar y distribuir entornos de desarrollo virtualizados sobre Oracle VM VirtualBox (por defecto), Docker e Hyper-V (soportados out of the box) y sobre VMware, AWS y otros proveedores (mediante un sistema de plugin). – Vagrant es compatible con VirtualBox 4.0.x, 4.1.x, 4.2.x y 4.3.x, VMware Fusion y VMware Workstation y con Hyper-V sobre Windows 8.1. • Desarrollada por Mitchell Hashimoto desde principios del 2010 está soportada comercialmente por HashiCorp desde finales del 2012. • Vagrant es una utilidad de línea de comandos. – La interfaz está disponible usando el comando vagrant. – Ayuda: vagrant [subcomando] [-h] SysTech+ Day 21
  23. 23. Hack #10: Vagrant • Una VM empaquetada y gestionada por Vagrant se denomina Box o imagen base. – Vagrant usa la Box para clonar rápidamente una VM. – Una Box puede ser la base de múltiples proyectos. – Los cambios en una Box pueden ser compartidos fácilmente. – El trabajo crítico permanece en el host mientras que el guest puede ser recargado y provisionado rápidamente. • Las VMs pueden ser provisionadas mediante shell script o con soluciones de gestión de la configuración como Puppet, Chef, Ansible o Salt. SysTech+ Day 22
  24. 24. Hack #10: Vagrant • Pasos: – Instalar Oracle VM VirtualBox. – Instalar Vagrant. • Disponible para MAC OS X, Windows y Linux (.deb y .rpm) para 32 y 64 bit. – La última versión de Vagrant (1.7.0) no funciona en Windows 7 32 y 64 bit (la instalación parece estar incompleta). Mejor instalar Vagrant 1.6.5 – Verificar el correcto funcionamiento: SysTech+ Day 23
  25. 25. Hack #10: Vagrant • Pasos: – Con 2 comandos y 0 configuración construimos y configuramos una VM de propósito general ejecutando Ubuntu 12.04 LTS 32 bit. – Podemos hacer SSH en esta VM ejecutando vagrant ssh (vagrant plugin install vagrant-multi-putty y vagrant putty en Windows) y apagarla, pausarla, iniciarla de nuevo o destruirla cuando hayamos finalizado nuestro trabajo con vagrant halt | suspend | resume | destroy. – Y con un poco de conocimiento adicional con Vagrant podemos configurar automáticamente la red de nuestra VM, instalar y gestionar software o empaquetar la VM para ser reutilizada por otras personas. SysTech+ Day 24
  26. 26. Hack Extra: Compartir un vdisk entre VMs para acceso concurrente • Un poco de info. sobre almacenamiento virtual con VirtualBox: – Controladores de disco soportados: • IDE (ATA) [máx. 4 dispositivos] • Serial ATA (SATA) [30 disp.] • SCSI [15 disp.] • Serial Attached SCSI (SAS) [8 disp.] – Discos virtuales (imágenes) soportados: • VirtualBox Disk Image (VDI) [formato de VirtualBox] • VMware Disk (VMDK) [formato de VMware] • Virtual Hard Disk (VHD) [formato de Microsoft] • HDD [formato de Parallels] • QEMU Enhanced Disk (QED) y QEMU Copy-on-Write (QCOW) [formatos de QEMU] – Asignación de espacio: • Reservado dinámicamente (ahorran espacio pero penalizan el rendimiento). • Tamaño fijo (mejoran el rendimiento pero desperdician espacio si finalmente no se usa). SysTech+ Day 25
  27. 27. Hack Extra: Compartir un vdisk entre VMs para acceso concurrente – Tipos de disco o modos de escritura (menú Archivo – Administrador de medios virtuales… – Modificar o VBoxManage modifyhd): • Normal: imagen de lectura/escritura (modo por defecto). Solo una VM puede usar el disco al mismo tiempo. • Writethrough: Normal pero no se ve afectado por los snapshots. El estado del disco no es salvado cuando se hace un snapshot y no puede ser recuperado cuando el snap es restaurado. Solo una VM puede usar el disco al mismo tiempo. • Shareable: variante de Writethrough. Permite conectar el disco a diferentes VMs para acceso concurrente. – Solo soportado por discos de tamaño fijo. – Usado si queremos usar/evaluar un sistema de ficheros compartido (cluster file system). • Immutable: imagen solo de lectura. Las escrituras se realizan en un disco/imagen aparte y se pierden tras el apagado de la VM. – Primero se crea una imagen normal y luego se convierte a inmutable. – Usado cuando queremos compartir el mismo disco con mútiples VMs. • Multi-attach: Inmutable pero las escrituras no se pierden. SysTech+ Day 26 Estoseaplicaatodoslosformatosdeimagen antesmencionados(VDI,VMDK,VHDoHDD)y conindependenciadesiunaimagenesde tamañofijooasignadadinámicamente.
  28. 28. Hack Extra: Compartir un vdisk entre VMs para acceso concurrente SysTech+ Day 27
  29. 29. Enlaces de interés (I) • Sobre Oracle VM VirtualBox: – http://www.virtualbox.org/ – http://www.virtualbox.org/wiki/Downloads – http://www.virtualbox.org/wiki/Documentation – http://dlc-cdn.sun.com/virtualbox/4.3.20/UserManual.pdf – http://www.virtualbox.org/wiki/VirtualBox_PUEL – http://www.howtogeek.com/171228/10-virtualbox-tricks-and-advanced- features-you-should-know-about/ • Sobre Oracle VirtualBox Extension Packs: – http://www.virtualbox.org/manual/ch01.html#intro-installing • Sobre VBoxLaunch: – http://nicbedford.co.uk/software/vboxlaunch/ – http://nicbedford.co.uk/files/VBoxLaunch.zip • Sobre VBoxVmService: – http://vboxvmservice.sourceforge.net/ – http://sourceforge.net/projects/vboxvmservice/files/vboxvmservice/ • Sobre phpvirtualbox: – http://sourceforge.net/projects/phpvirtualbox/ – http://sourceforge.net/projects/phpvirtualbox/files/ – http://sourceforge.net/p/phpvirtualbox/wiki SysTech+ Day 28
  30. 30. Enlaces de interés (II) • Sobre RemoteBox: – http://remotebox.knobgoblin.org.uk/ – http://remotebox.knobgoblin.org.uk/downloads.cgi – http://remotebox.knobgoblin.org.uk/docs/remotebox.pdf • Sobre Portable-VirtualBox: – http://www.vbox.me/ • Sobre Vagrant: – https://www.vagrantup.com/ – https://www.vagrantup.com/downloads – https://docs.vagrantup.com/v2/ – http://www.vagrantbox.es – https://github.com/mitchellh/vagrant/wiki/Available-Vagrant-Plugins – Vagrant: Up and Running - http://www.amazon.com/gp/product/1449335837 – https://puphpet.com/ • Sobre modos de escritura en imágenes de disco: – https://www.virtualbox.org/manual/ch05.html#hdimagewrites – https://www.virtualbox.org/manual/ch08.html#vboxmanage-modifyvdi – https://www.virtualbox.org/manual/ch08.html#vboxmanage-storageattach – http://www.unixmen.com/share-disks-virtualbox-linux-guest-os/ SysTech+ Day 29
  31. 31. Oracle VM VirtualBox www.virtualbox.org

×