Virtualbox en linea de comandos

+1
0
-1

Recientemente he escrito un post sobre Virtualbox. El artículo explica como realizar ciertas tareas de virtualbox directamente en consola. El artículo original lo podeis encontrar aquí.

Lo comparto con vosotros aquí también:

Virtualbox dispone de un interprete de comandos que permite la creación de maquinas virtuales directamente por consola. Para crear una maquina lo haremos como sigue.

Creamos el directorio donde se guardarán todos los fitcheros de la VM.

mkdir /home/user/VirtualBox\ VMs/VboxCLI

Crear disco
Para la creación de un disco de 10Gb utilitzaremos la siguiente orden:

vboxmanage createhd --size 10000 --format vdi --filename /home/user/VirtualBox\ VMs/VboxCLI/VboxCLI-disk1.vdi
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Disk image created. UUID: b421697b-5f5d-4056-98c9-0cd0219b013a

Mostrar tipos SO

Para mostrar los tipos de sistemas operativos disponibles utilitzaremos el siguiente comando:

vboxmanage list ostypes

Crear VM

Para la creación de una VM utilitzaremos el siguiente comando:

vboxmanage createvm --name VboxCLI --register --ostype Ubuntu_64
Virtual machine 'VboxCLI' is created and registered.
UUID: 5a89bddc-d7b0-4e08-b6cb-8e49dd7b2206
Settings file: '/home/user/VirtualBox VMs/VboxCLI/VboxCLI.vbox'

Añadir Controlador SATA

IMPORTANTE!: Si queremos instalar WindowsXP o alguna versión antigua de Linux que no tenga los drivers SATA mejor instalar un controlador IDE en la máquina o no podremos arrancar la máquina con esta configuración.

Una vez creada la máquina añadimos un adaptador SATA.

vboxmanage storagectl VboxCLI --name "Sata Controller" --add sata --controller "IntelAHCI"

Añadir Disco Duro

Una vez tengamos añadido el controlador SATA añadiremos un disco duro Sata al controlador.

vboxmanage storageattach VboxCLI --storagectl "Sata Controller" --port 0 --device 0 --type hdd --medium VboxCLI-disk1.vdi

Añadir Memoria

Especificamos la memoria que necesitamos.

vboxmanage modifyvm VboxCLI --memory 1024

Añadir Tarjeta de Red

Añadimos un adaptador de red y lo configuramos como bridged, para que la VM este en la misma red que el host.

vboxmanage modifyvm VboxCLI --nic1 bridged --bridgeadapter1 eth0

Añadir DVD y cargar ISO

Añadimos un dvd y una iso para poder empezar con la instalación mas tarde.

vboxmanage storageattach VboxCLI --storagectl "Sata Controller" --port 1 --device 0 --type dvddrive --medium /home/user/Descargas/ubuntu-12.04.1-server-amd64.iso

Mostrar Configuracion VM

Para mostrar la configuración de la máquina que estamos configurando, utilizaremos el siguiente comando:

vboxmanage showvminfo VboxCLI
Name:            VboxCLI
Guest OS:        Ubuntu (64 bit)
UUID:            d37c6445-de02-4793-a9f4-06148103918f
Config file:     /home/user/VirtualBox VMs/VboxCLI/VboxCLI.vbox
Snapshot folder: /home/user/VirtualBox VMs/VboxCLI/Snapshots
Log folder:      /home/user/VirtualBox VMs/VboxCLI/Logs
Hardware UUID:   d37c6445-de02-4793-a9f4-06148103918f
Memory size:     1024MB
Page Fusion:     off
VRAM size:       8MB
CPU exec cap:    100%
HPET:            off
Chipset:         piix3
Firmware:        BIOS
Number of CPUs:  1
Synthetic Cpu:   off
CPUID overrides: None
Boot menu mode:  message and menu
Boot Device (1): Floppy
Boot Device (2): DVD
Boot Device (3): HardDisk
Boot Device (4): Not Assigned
ACPI:            on
IOAPIC:          on
PAE:             on
Time offset:     0 ms
RTC:             local time
Hardw. virt.ext: on
Hardw. virt.ext exclusive: on
Nested Paging:   on
Large Pages:     off
VT-x VPID:       on
State:           powered off (since 2013-02-05T13:21:05.000000000)
Monitor count:   1
3D Acceleration: off
2D Video Acceleration: off
Teleporter Enabled: off
Teleporter Port: 0
Teleporter Address:
Teleporter Password:
Storage Controller Name (0):            Sata Controller
Storage Controller Type (0):            IntelAhci
Storage Controller Instance Number (0): 0
Storage Controller Max Port Count (0):  30
Storage Controller Port Count (0):      30
Storage Controller Bootable (0):        on
Sata Controller (0, 0): /home/user/VirtualBox VMs/VboxCLI/VboxCLI-disk1.vdi (UUID: b421697b-5f5d-4056-98c9-0cd0219b013a)
Sata Controller (1, 0): /home/user/Descargas/ubuntu-12.04.1-server-amd64.iso (UUID: 36ff046c-69a8-4352-b604-356f177af2ab)
NIC 1:           MAC: 080027FD9D5A, Attachment: Bridged Interface 'eth0', Cable connected: on, Trace: off (file: none), Type: 82540EM, Reported speed: 0 Mbps, Boot priority: 0, Promisc Policy: deny
NIC 2:           disabled
NIC 3:           disabled
NIC 4:           disabled
NIC 5:           disabled
NIC 6:           disabled
NIC 7:           disabled
NIC 8:           disabled
Pointing Device: PS/2 Mouse
Keyboard Device: PS/2 Keyboard
UART 1:          disabled
UART 2:          disabled
Audio:           disabled
Clipboard Mode:  Bidirectional
VRDE:            disabled
USB:             disabled

USB Device Filters:

<none>

Available remote USB devices:

<none>

Currently Attached USB Devices:

<none>

Shared folders:  <none>

VRDE Connection:    not active
Clients so far:     0

Guest:

Configured memory balloon size:      0 MB
OS type:                             Ubuntu_64
Additions run level:                 0

Guest Facilities:

No active facilities.

Redimensionar Memoria

Para redimensionar la memoria RAM de la VM utilizaremos:

vboxmanage modifyvm VboxCLI --memory 512

Configurar VRDE

VRDE, permite connectarnos a las VMs utilitzando el Remote Desktop de Virtualbox. El último comando habilita multiples conexiones. Para habilitar vrde utilizaremos la siguiemte configuración:


vboxmanage modifyvm VboxCLI --vrde on
vboxmanage modifyvm VboxCLI --vrdeaddress localhost
vboxmanage modifyvm VboxCLI --vrdeport 3001
vboxmanage modifyvm VboxCLI --vrdemulticon on

Instalar EXT-PACK
La instalación del "extension pack" permite añadir las seiguientes características a la VM: USB 2.0, Virtualbox RDP y PXE para tarjetas Intel.

vboxmanage -v
4.1.18_Ubuntur78361

wget -c http://download.virtualbox.org/virtualbox/4.1.18/Oracle_VM_VirtualBox_Extension_Pack-4.1.18-78361.vbox-extpack

vboxmanage extpack install Oracle_VM_VirtualBox_Extension_Pack-4.1.18-78361.vbox-extpack
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Successfully installed "Oracle VM VirtualBox Extension Pack".

Arrancar una VM headless
Para iniciar una máquina en background sin ningún elemento visible en el foreground.

vboxmanage startvm VboxCLI --type headless
Waiting for VM "VboxCLI" to power on...
VM "VboxCLI" has been successfully started.

Arrancar VM Headless (TROUBLESHOUTING)

Lo mismo que antes pero nos devuelve el prompt. Útil para troubleshouting.

VBoxHeadless -s VboxCLI -v on
Oracle VM VirtualBox Headless Interface 4.1.18_Ubuntu
(C) 2008-2012 Oracle Corporation
All rights reserved.

VRDE server is listening on port 3001.

Conectar por rdesktop a la maquina
Para conectar a una máquina headless nos aseguramos que este escuchando en el puerto y utilitzamos rdesktop.

netstat -tanep
...
tcp 0 0 127.0.0.1:3001 0.0.0.0:* ESCUCHAR 1000 17286 -

...

rdesktop 127.0.0.1:3001

Mostrar VMs
Mostramos las máquines que hay registradas.

vboxmanage list vms
"AddDiskWithoutReboot-LVM" {d7b517cd-4136-40d2-a94b-a81f08657b87}
"VboxCLI" {d37c6445-de02-4793-a9f4-06148103918f}

Apagar VM

vboxmanage controlvm VboxCLI poweroff
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%

Mostrar las VMs encedidas
Muestra las maquinas con el estado en "Running".

vboxmanage list runningvms
"VboxCLI" {d37c6445-de02-4793-a9f4-06148103918f}

Crear Snapshot
Para la creación de un snapshot utilzaremos:


vboxmanage snapshot VboxCLI take VboxCLI-snap01
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%

Restaurar Snapshot
Para restaurar un snapshot utilizaremos:


vboxmanage snapshot VboxCLI restore VboxCLI-snap01
Restoring snapshot f5c0273d-ce47-426e-b4bd-f1f5c1c84d2c
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%

Bibliografia
http://www.perkin.org.uk/posts/create-virtualbox-vm-from-the-command-line.html

http://itsecworks.wordpress.com/2012/04/24/virtualbox-the-tool-i-use-for-virtualization-of-course-with-cli/