dijous, 7 febrer de 2013

VirtualBox on CLI

Virtualbox disposa d'una linia de comandes que permet la creació d'una màquina virtual directament per consola. Per a crear una màquina seguirem els següents passos.
Creem el directori on es guardaran tots els fitxer de la VM.

mkdir /home/user/VirtualBox\ VMs/VboxCLI

CREATE DISK
===========
Per a la creació d'un disc de 10Gb utilitzarem la següent ordre:

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


SHOW OS TYPES
==============
Per a mostrar els tipus de sistemes operatius que tenim disponibles utilitzarem la següent ordre:

vboxmanage list ostypes

CREATE VM
==========
Per a la creacio d'una VM utilitzarem la següent ordre:

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'


ATTACH SATA CONTROLLER
=======================
IMPORTANT!: Si volem instal·lar WindowsXP o alguna versió antiga de Linux que no tinga els drivers SATA millor instal·lar un controlador IDE a la màquina o no serem capaços d'arrancar la màquina amb aquesta configuració.
Una volta creada la màquina afegim un adaptar SATA.

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

ATTACH HD
==========
Una volta tenim afegit el controlador SATA afegim un disc dur Sata al controlador

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

ADD MEMORY
===========
Definim la memòria que necessitem.

vboxmanage modifyvm VboxCLI --memory 1024

ADD NETWORK
============
Afegim un adaptador de xarxa i el configurem com a bridged, per a que la VM estiga en la mateixa xarxa que el host.

vboxmanage modifyvm VboxCLI --nic1 bridged --bridgeadapter1 eth0

ADD DVD AND LOAD AN ISO
========================
Afegim un dvd i una iso per poder iniciar la instal·lació.

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

VIEW SETTINGS
==============
Per a mostrar la configuració de la màquina que estem configurant podem utilitzar la següent comanda:

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.


CHANGE MEMORY SIZE
===================
Per a redimensionar la memòria RAM de la VM podem utilitzar:

vboxmanage modifyvm VboxCLI --memory 512

SETUP VRDE
===========
VRDE, permet connectar-nos a les VMs utilitzant el Remote Desktop de Virtualbox. L'última ordre habilita multiples connexions. Per a habilitar vrde realitzarem la següent configuració:

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

INSTALL EXT-PACK
================
La instal·lació del "extension pack" permet disposar de USB 2.0, Virtualbox RDP and PXE per a tarjetes 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".


START VM HEADLESS
==================
Per a iniciar una màquina en background sense cap element visible en el foreground.

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


START VM HEADLESS (TROUBLESHOUTING)
===================================
El mateix que abans pero no et retorna el prompt. Útil per a 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.


CONNECT BY RDESKTOP TO THE MACHINE
===================================
Per a connectar a una màquina headless ens assegurem que estiga escoltant en el port i utilitzem rdesktop.

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

rdesktop 127.0.0.1:3001


LIST VMs
=========
Mostrar les màquines que hi ha registrades.

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


STOP VM
========


vboxmanage controlvm VboxCLI poweroff
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
LIST RUNNING VMs
=================
Mostrar les màquines estan en estat "Running".

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


TAKE SNAPSHOT
==============
Per a la creació d'un snapshot utiltzarem:

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


RESTORE SNAPSHOT
=================
Per a restaurar un snapshot utilitzarem:

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


BIBLIOGRAPHY
=============
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/

Cap comentari:

Publica un comentari a l'entrada