User Tools

Site Tools


virtualbox

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
virtualbox [2009/10/28 12:49] alanvirtualbox [2011/01/19 11:54] aorth
Line 1: Line 1:
-===== VirtualBox tips/tricks =====+====== VirtualBox =====
 +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 ==== +  * [[http://www.virtualbox.org|VirtualBox homepage]] 
-To change between "not attached", NAT,Bridged,internal network and host olny adapter:  +  * [[http://ubuntuforums.org/showthread.php?t=646613|Tips to optimize Linux guests and hosts]] 
-<code>VBoxManage modifyvm <uuid|name> [--nic<1-N> none|null|nat|bridged|intnet|hostonly]</code> +====== Create a VM ====== 
-Set the boot order: +Copy an ISO to your home directory
-<code>VBoxManage modifyvm <uuid|name> [--boot<1-4> none|floppy|dvd|disk|net>]</code> +<code>$scp ubuntu-9.04-desktop-i386.iso alan@172.26.0.200:~/</code> 
-Add a shared folder: +  * SSH to VM server172.26.0.200 
-<code>VBoxManage sharedfolder add <vmname>|<uuid> --name <name> --hostpath <hostpath> [--transient] [--readonly] </code> +<code>$ ssh alan@172.26.0.200</code> 
-Acpi Vm: +  * start the virtualbox application 
-<code>VBoxManage controlvm  <uuid>|<name>pause|resume|reset|poweroff|savestate|acpipowerbutton|acpisleepbutton| </code> +<code>$ VirtualBox</code> 
-Change rdp address+  Follow the wizard to create a VM with the following properties
-<code>VBoxManage modifyvm <uuid|name> [--vrdpaddress <host>]</code> +      Base Memoryless than 512 MB 
-Change the Authentication type:  +      - Network NAT 
-<code>VBoxManage modifyvm <uuid|name> [--vrdpauthtype null|external|guest]</code> +      Hard disk sizeless than 30Gb
-**Note**: option "external" will limit access to individual users, The user will be required to use rdesktop-vrdp with username and password+
-<code>rdesktop-vrdp -u <username> -p - <host ip address>:<vrdp port></code> +
-Change rdp port+
-<code>VBoxManage modifyvm <uuid|name> [--vrdpport <port>]</code> +
-List all VMs in the server: +
-<code>VBoxManage list vms</code> +
-List all running VMs: +
-<code>VBoxManage list runningvms </code>+
  
-PORT FORWARDING!! +====== Networking ====== 
-<code>VBoxManage setextradata b3924a0c-70a1-4890-8dff-3cc308cdaf28 "VBoxInternal/Devices/pcnet/0/LUN#0/Config/ssh/HostPort" 2223 +===== Bridged Networking ===== 
-$ VBoxManage setextradata b3924a0c-70a1-4890-8dff-3cc308cdaf28 "VBoxInternal/Devices/pcnet/0/LUN#0/Config/ssh/GuestPort" 22 +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 b3924a0c-70a1-4890-8dff-3cc308cdaf28 "VBoxInternal/Devices/pcnet/0/LUN#0/Config/ssh/Protocol" TCP</code>+<code>VBoxManage setextradata MyMachine VBoxInternal/Devices/pcnet/0/LUN#0/Config/RestrictAccess 0</code> 
 +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!
  
-List guest properties+As of VirtualBox 3.1.2 this is still a [[http://www.virtualbox.org/ticket/2852|known issue]]. 
-<code> VBoxManage list - vms </code> + 
-NoteAll the guest parameters(configurationare in <guestname>.xml +===== 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
 +<code>$ 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</code> 
 +Then you can log in to the VM from your own computer using the port you've forwarded above: 
 +<code>$ ssh -p 2223 username@172.26.0.200</code> 
 + 
 +====== Commonly-used commands ====== 
 +===== List your VMs ===== 
 +<code>VBoxManage list vms</code> 
 +===== List your running VMs ===== 
 +<code>$ VBoxManage list runningvms </code> 
 + 
 +====== Updating VirtualBox ====== 
 +===== Stop any running VMs ===== 
 +Either shut down or "save state" for any running VMs.  First, find any users who have "headless" VMs: 
 +<code># ps aux | grep -i VBoxHeadless 
 +jmagochi  4939  3.9  3.5 759372 72268 ?        Sl   Oct05 402:13 /usr/lib/virtualbox/VBoxHeadless -s nobu 
 +jmagochi  4991 12.5  3.2 621588 67632 ?        Sl   Oct05 1281:41 /usr/lib/virtualbox/VBoxHeadless -s lims 
 +aorth    18431  9.7  1.7 998940 36160 ?        Sl   Oct11 129:54 /usr/lib/virtualbox/VBoxHeadless -s b0237553-9653-4461-bd0e-d4d316c16d4f -v off</code> 
 +As the user who owns the VM, save the VM's state: 
 + 
 +<code># su - jmagochi 
 +$ VBoxManage controlvm nobu savestate 
 +$ VBoxManage controlvm lims savestate 
 +$ exit 
 +# su - aorth 
 +$ VBoxManage controlvm b0237553-9653-4461-bd0e-d4d316c16d4f savestate 
 +$ exit</code> 
 +===== Update VirtualBox ===== 
 +==== CentOS ==== 
 +<code># yum update VirtualBox-3.2</code> 
 +===== Resume VMs ===== 
 +<code># su - jmagochi 
 +$ VBoxHeadless -s nobu & 
 +$ VBoxHeadless -s lims & 
 +$ exit 
 +# su - aorth 
 +$ VBoxHeadless -s b0237553-9653-4461-bd0e-d4d316c16d4f -v off &</code> 
 + 
 +===== Mount a CD to a running VM ===== 
 +Attach an ISO to a running VM.  The CD/DVD device is on the Secondary IDE controller (--port 1), and it is the slave device (--device 1). 
 +<code>VBoxManage storageattach "Debian 504" --storagectl "IDE Controller" --port 1 --device 1 --type dvddrive --medium /usr/share/virtualbox/VBoxGuestAdditions.iso</code> 
 + 
 +====== Optimal settings for a guest ====== 
 + 
 +  * Notes about ''divider=10'': [[http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1006427|VMware]], [[http://www.arrfab.net/blog/?p=62|Blog article]] 
 +  * Set the IO scheduler to ''noop''