This is an old revision of the document!
Table of Contents
VirtualBox tips/tricks
VirtualBox is a free/opensource Hypervisor from Sun Microsystems. It has performance on par with VMware and is very mature. We have two virtualization servers, biovbox and biovboxtesting.
Commonly-used commands
List your VMs:
VBoxManage list vms
List all running VMs:
VBoxManage list runningvms
Create a VM
Copy an ISO to your home directory:
$scp <dist>.iso <username>@172.26.0.205:~/
- SSH to VM server: 172.26.0.205
$ ssh <username>@172.26.0.205
- start the virtualbox application
$ VirtualBox
- Follow the wizard to create a VM with the following properties:
- Base Memory: less than 512 MB
- Network : NAT
- Hard disk size: less than 30Gb
Networking
Bridged Networking
If your guest is using bridged networking you MUST use this command to allow other users to use the host's physical network card. Make sure your virtual machine is shut down and then run this command:
VBoxManage setextradata MyMachine VBoxInternal/Devices/pcnet/0/LUN#0/Config/RestrictAccess 0
Each and every VM using bridged networking must use this command. If you are seeing errors like VERR_PERMISSION_DENIED
regarding the network interface, this is the cause!
As of VirtualBox 3.1.2 this is still a known issue.
Port Forwarding
If your guest OS is using NAT for networking and you want to access services like Apache or SSH, you will need to enable port forwarding. There is no GUI for this in VirtualBox, but you can use VBoxManage setextradata
to make the required changes. If you want to SSH to your VM, for example:
$ VBoxManage setextradata Ubuntu "VBoxInternal/Devices/pcnet/0/LUN#0/Config/ssh/HostPort" 2223 $ VBoxManage setextradata Ubuntu "VBoxInternal/Devices/pcnet/0/LUN#0/Config/ssh/GuestPort" 22 $ VBoxManage setextradata Ubuntu "VBoxInternal/Devices/pcnet/0/LUN#0/Config/ssh/Protocol" TCP
Then you can log in to the VM from your own computer using the port you've forwarded above:
$ ssh -p 2223 username@172.26.0.200
Updating VirtualBox
To update VirtualBox to a new version you must shutdown all the running VMs. You can do this by first looking to see which VMs are running (ps auxw | grep VBox
) and then shutting down or saving the state of each one.
[jmagochi@biovbox ~]$ VBoxManage controlvm CentOS savestate VirtualBox Command Line Management Interface Version 3.0.8 (C) 2005-2009 Sun Microsystems, Inc. All rights reserved. 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100% [jmagochi@biovbox ~]$ sudo /etc/init.d/vboxdrv stop $ yum install virtualbox-3.1