virtualbox
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
virtualbox [2010/05/22 14:19] – external edit 127.0.0.1 | virtualbox [2011/06/03 13:02] – aorth | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ===== VirtualBox ===== | + | ====== VirtualBox |
- | VirtualBox is a free/opensource Hypervisor | + | VirtualBox is a free, open-source hypervisor |
* [[http:// | * [[http:// | ||
- | ===== Create a VM ===== | + | * [[http://ubuntuforums.org/ |
- | Copy an ISO to your home directory: | + | |
- | < | + | |
- | * SSH to VM server: 172.26.0.200 | + | |
- | < | + | |
- | * start the virtualbox application | + | |
- | < | + | |
- | * Follow the wizard | + | |
- | - Base Memory: less than 512 MB | + | |
- | - Network : NAT | + | |
- | - Hard disk size: less than 30Gb | + | |
- | ===== Networking ===== | + | ====== Optimal settings for Linux guests ====== |
- | ==== Bridged Networking ==== | + | Guest operating systems are not like host operating systems. |
+ | |||
+ | * Set the IO scheduler to '' | ||
+ | * Edit the grub command line to set the default IO scheduler, usually in /// | ||
+ | * Install guest additions (VirtualBox or VMware) | ||
+ | * Run a virtual machine-specific kernel: | ||
+ | * Ubuntu: linux-image-virtual | ||
+ | * Mount filesystems with '' | ||
+ | |||
+ | ====== 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: | 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: | ||
< | < | ||
Line 23: | Line 23: | ||
As of VirtualBox 3.1.2 this is still a [[http:// | As of VirtualBox 3.1.2 this is still a [[http:// | ||
- | ==== Port Forwarding ==== | + | ===== 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. | 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. | ||
Line 31: | Line 31: | ||
Then you can log in to the VM from your own computer using the port you've forwarded above: | Then you can log in to the VM from your own computer using the port you've forwarded above: | ||
< | < | ||
- | ===== 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 ('' | ||
- | < | ||
- | VirtualBox Command Line Management Interface Version 3.0.8 | ||
- | (C) 2005-2009 Sun Microsystems, | ||
- | All rights reserved. | ||
- | 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100% | + | ====== Commonly-used commands |
- | [jmagochi@biovbox ~]$ sudo / | + | ===== List your VMs ===== |
- | + | ||
- | $ yum install virtualbox-3.1 | + | |
- | </ | + | |
- | ===== Commonly-used commands ===== | + | |
- | ==== List your VMs ==== | + | |
< | < | ||
- | ==== List your running VMs ==== | + | ===== List your running VMs ===== |
< | < | ||
- | ==== Autostart VMs at host boot ==== | ||
- | ---- | ||
- | |||
- | How do I get my VirtualBox Guest VM’s to start and stop when the host system reboots, shutdown, or starts. | ||
- | |||
- | Solution / Answer: | ||
- | |||
- | Create an init.d script so that VirtualBox Guest VM are controlled as a system service. | ||
- | VBoxTool http:// | ||
- | |||
- | http:// | ||
- | |||
- | ---- | ||
- | Create Config File for vboxcontrol service script | ||
- | |||
- | < | ||
- | < | ||
- | The file “machines_enabled” located in “/ | ||
- | |||
- | To get a list of your current Guest VM names execute the following command and notice the name is in ” “: | ||
- | < | ||
- | $ VBoxManage list vms | ||
- | " | ||
- | " | ||
- | " | ||
- | Add Guest VM’s to “machines_enabled” include one VM name per line | ||
- | < | ||
- | # vi / | ||
- | Centos_HDLES_x86_1 | ||
- | Centos_HDLES_x86_3 | ||
- | Centos_HDLES_LAMP</ | ||
- | Add VirtualBox VM Service script | ||
- | |||
- | Create new init.d service script file and give execute permissions | ||
- | |||
- | < | ||
- | < | ||
- | Copy the following code into file “/ | ||
- | |||
- | <code bash> | ||
- | #! /bin/sh | ||
- | # vboxcontrol | ||
- | # | ||
- | # chkconfig: 345 98 02 | ||
- | # description: | ||
- | # processname: | ||
- | # | ||
- | # pidfile: / | ||
- | # | ||
- | ### BEGIN INIT INFO | ||
- | # | ||
- | ### END INIT INFO | ||
- | # | ||
- | # Version 20090301 by Kevin Swanson < | ||
- | # Version 2008051100 by Jochem Kossen < | ||
- | # http:// | ||
- | # | ||
- | # Released in the public domain | ||
- | # | ||
- | # This file came with a README file containing the instructions on how | ||
- | # to use this script. | ||
- | # | ||
- | |||
- | # Source function library. | ||
- | if [ -f / | ||
- | . / | ||
- | elif [ -f / | ||
- | . / | ||
- | else | ||
- | exit 1 | ||
- | fi | ||
- | |||
- | ################################################################################ | ||
- | # INITIAL CONFIGURATION | ||
- | VBOXDIR="/ | ||
- | VM_USER=" | ||
- | USE_NAT=" | ||
- | |||
- | export PATH=" | ||
- | |||
- | if [ -f $VBOXDIR/ | ||
- | . $VBOXDIR/ | ||
- | fi | ||
- | |||
- | SU="su $VM_USER -c" | ||
- | VBOXMANAGE=" | ||
- | |||
- | ################################################################################ | ||
- | # FUNCTIONS | ||
- | |||
- | # Determine if USE_NAT is set to " | ||
- | use_nat() { | ||
- | if [ " | ||
- | return `true` | ||
- | else | ||
- | return `false` | ||
- | fi | ||
- | } | ||
- | |||
- | log_failure_msg() { | ||
- | echo $1 | ||
- | } | ||
- | |||
- | log_action_msg() { | ||
- | echo $1 | ||
- | } | ||
- | |||
- | # Check for running machines every few seconds; return when all machines are | ||
- | # down | ||
- | wait_for_closing_machines() { | ||
- | RUNNING_MACHINES=`$SU " | ||
- | if [ $RUNNING_MACHINES != 0 ]; then | ||
- | sleep 5 | ||
- | wait_for_closing_machines | ||
- | fi | ||
- | } | ||
- | |||
- | ################################################################################ | ||
- | # RUN | ||
- | case " | ||
- | start) | ||
- | if [ -f / | ||
- | |||
- | cat / | ||
- | log_action_msg " | ||
- | $SU " | ||
- | RETVAL=$? | ||
- | done | ||
- | touch / | ||
- | fi | ||
- | ;; | ||
- | stop) | ||
- | # NOTE: this stops all running VM's. Not just the ones listed in the | ||
- | # config | ||
- | $SU " | ||
- | log_action_msg " | ||
- | $SU " | ||
- | done | ||
- | rm -f / | ||
- | wait_for_closing_machines | ||
- | |||
- | ;; | ||
- | start-vm) | ||
- | log_action_msg " | ||
- | $SU " | ||
- | ;; | ||
- | stop-vm) | ||
- | log_action_msg " | ||
- | $SU " | ||
- | ;; | ||
- | poweroff-vm) | ||
- | log_action_msg " | ||
- | $SU " | ||
- | ;; | ||
- | status) | ||
- | echo "The following virtual machines are currently running:" | ||
- | $SU " | ||
- | echo -n "$VM (" | ||
- | echo -n `$SU " | ||
- | echo ' | ||
- | done | ||
- | ;; | ||
- | *) | ||
- | echo " | ||
- | name> | ||
- | exit 3 | ||
- | esac | ||
- | |||
- | exit 0 | ||
- | </ | ||
- | Add vboxcontrol service to chkconfig registry | ||
- | |||
- | < | ||
- | Tell chkconfig to create symlinks for runlevels and activate service vboxcontrol | ||
- | |||
- | < | ||
+ | ====== Updating VirtualBox ====== | ||
+ | === Stop any running VMs === | ||
+ | Either shut down or "save state" for any running VMs. First, find any users who have " | ||
+ | < | ||
+ | jmagochi | ||
+ | jmagochi | ||
+ | aorth 18431 9.7 1.7 998940 36160 ? Sl Oct11 129:54 / | ||
+ | As the user who owns the VM, save the VM's state: | ||
+ | < | ||
+ | $ VBoxManage controlvm nobu savestate | ||
+ | $ VBoxManage controlvm lims savestate | ||
+ | $ exit | ||
+ | # su - aorth | ||
+ | $ VBoxManage controlvm b0237553-9653-4461-bd0e-d4d316c16d4f savestate | ||
+ | $ exit</ | ||
+ | === Update VirtualBox === | ||
+ | < | ||
+ | === Resume VMs === | ||
+ | < | ||
+ | $ VBoxHeadless -s nobu & | ||
+ | $ VBoxHeadless -s lims & | ||
+ | $ exit | ||
+ | # su - aorth | ||
+ | $ VBoxHeadless -s b0237553-9653-4461-bd0e-d4d316c16d4f -v off &</ |