VirtualBox 4.1.2#


I started looking at VirtualBox again, to assess it as a feasible low-cost virtualization solution.
I have been running my (2) servers on older laptops running in a closet at home. The laptops runs Ubuntu 8.04 (LTS) with an OpenVZ kernel.

Since this is getting rather old now (almost 4 years), and every now and then you want to have something new (the only difference between a man and a box is the price of his toy) and I had some (not disclosed) issues with backups, I thought let's see if VirtualBox is any good here.

My wishlist/requirements.#

1) - (recent) Ubuntu Guest OS

I first had a look at the http://openvz.org site, but concluded that running a recent Ubuntu server is not a "default route".
Since my hardware also

2) - Easy Full Server Backup (off site)

vbox clonehd ?

3) - Easy re-sizing of disk images

vbox modifyhd resize ?...

4) - Remote console access

vrde stuff with extension packs....

5) - No Graphical (X) server required

VBoxHeadless...

6) - Capable of running 5 guests

2 is minimal required...

7) - Misc management capabilites

stats , NATing, live migration ?

8) - No dependency on hardware virtualization capabilities

Resources#

The Journey#

Installation is smooth, o my testbed btw is my HP Dual Core 2GB laptop with Linux Mint 12 Lisa. So simple installation with synaptic.
But after a couple of hours you discover that you also need the Extensions Pack, simply download and Startup VirtualBox => File => Preferences => Extensions. I needed the extensions to get VRDE to work, so I could startup a VM from the cmdline (so without a GUI) and get a VRDP session with it (using vinagre as vrdp client)
So the GUI now works fine, and we play a bit with creating VMs (Ubuntu 11.10 server), cloning, snapshot's, and this all works fine.

TIP: Use VM names without blanks

Creating and modifying a VM#

After fiddling a bit, I found the following command was good to create a VM:
VBoxManage createvm --name Ubuntu2 --ostype Linux --register

metskem@gneisenau ~ $ VBoxManage createvm --name Ubuntu2 --ostype Linux --register 
Virtual machine 'Ubuntu2' is created and registered.
UUID: 9e527adc-ddc4-41b9-8b9e-9e730f8b49a1
Settings file: '/home/metskem/VirtualBox VMs/Ubuntu2/Ubuntu2.vbox'

Let's see what the default attributes are after we have only created a VM, this is done with the showvminfo cmd:

VBoxManage showvminfo Ubuntu2
metskem@gneisenau ~ $ VBoxManage showvminfo Ubuntu2
Name:            Ubuntu2
Guest OS:        Other Linux
UUID:            949c6764-b229-462b-9175-57ac6e9976b8
Config file:     /home/metskem/VirtualBox VMs/Ubuntu2/Ubuntu2.vbox
Snapshot folder: /home/metskem/VirtualBox VMs/Ubuntu2/Snapshots
Log folder:      /home/metskem/VirtualBox VMs/Ubuntu2/Logs
Hardware UUID:   949c6764-b229-462b-9175-57ac6e9976b8
Memory size:     128MB
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:          off
PAE:             off
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 2011-12-31T12:12:45.649000000)
Monitor count:   1
3D Acceleration: off
2D Video Acceleration: off
Teleporter Enabled: off
Teleporter Port: 0
Teleporter Address: 
Teleporter Password: 
NIC 1:           MAC: 080027707CC7, Attachment: NAT, Cable connected: on, Trace: off (file: none), Type: Am79C973, Reported speed: 0 Mbps, Boot priority: 0, Promisc Policy: deny
NIC 1 Settings:  MTU: 0, Socket (send: 64, receive: 64), TCP Window (send:64, receive: 64)
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:                             Linux
Additions run level:                 0

Guest Facilities:

No active facilities.

Before you start creating things, you have to think about "how do I ever clean up the mess I created? ", so the question here is, how do I delete the VM again? Well that can be done with the unregister subcommand:

VBoxManage unregistervm Ubuntu2 --delete
%%(background-color : #d3ee03 )

I use the --delete option to really get rid of everything including harddisks, saved states and log files, simply I don't want to find anything of it anymore. (I reran the createvm subcommand again after deleting is.)

Now we are happy with most of the default, but a few changes would be nice, so we go to the subcommand modifyvm :
VBoxManage modifyvm Ubuntu2 --memory=256 --hwvirtex=off --hwvirtexexcl=off --vtxvpid=off --boot1=dvd --boot2=disk --boot3=none --nic1=bridged --bridgeadapter1=wlan0 --nicpromisc1=allow-all --vrde=on --vrdeport=13389

VBoxManage modifyvm Ubuntu2 --memory=256 --hwvirtex=off --hwvirtexexcl=off --vtxvpid=off --boot1=dvd --boot2=disk --boot3=none --nic1=bridged --bridgeadapter1=wlan0 --nicpromisc1=allow-all --vrde=on --vrdeport=13389

The modifyvm subcommand gives no output if it succeeds, if you want to see the result, issue the showvminfo command again.

Now before we can boot the thing for the first time, we need a bootable ISO image, and a harddisk that can be used for installation

I downloaded an Ubuntu 11.10 ISO in /home/metskem/iso/ubuntu-11.10-server-i386.iso.

First we have to define 2 controllers :

VBoxManage storagectl Ubuntu2 --name='IDE Controller' --add=ide --controller=PIIX4 --bootable=on
VBoxManage storagectl Ubuntu2 --name='SATA Controller' --add=sata --controller=IntelAhci --bootable=on

The result with showvminfo :

metskem@gneisenau ~ $ VBoxManage showvminfo Ubuntu2|grep Storage
Storage Controller Name (0):            IDE Controller
Storage Controller Type (0):            PIIX4
Storage Controller Instance Number (0): 0
Storage Controller Max Port Count (0):  2
Storage Controller Port Count (0):      2
Storage Controller Bootable (0):        on
Storage Controller Name (1):            SATA Controller
Storage Controller Type (1):            IntelAhci
Storage Controller Instance Number (1): 0
Storage Controller Max Port Count (1):  30
Storage Controller Port Count (1):      30
Storage Controller Bootable (1):        on

Now let us attach the ISO image as a DVD drive with the storageattach subcommand:
VBoxManage storageattach Ubuntu2 --storagectl='IDE Controller' --port=1 --device=1 --type=dvddrive --medium=/home/metskem/iso/ubuntu-11.10-server-i386.iso

And now the hard disk, but we first have to create a hard disk, that can be done with the createhd subcommand:
VBoxManage createhd --filename Ubuntu2Disk --size=5000

metskem@gneisenau ~ $ VBoxManage createhd --filename Ubuntu2Disk --size=5000 
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Disk image created. UUID: 1a46ebb4-52b7-4813-9143-180c1affaf55

This gives us a 5GB disk image. Now we have to attach this disk to the VM with the storageattach subcommand:

Backup up#

Resizing HD#

Misc..#

Summary of commands#