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/02/18 12:38] – 172.26.0.166 | virtualbox [2010/10/13 14:56] – aorth | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ===== VirtualBox ===== | + | ====== VirtualBox |
VirtualBox is a free/ | VirtualBox is a free/ | ||
* [[http:// | * [[http:// | ||
- | ===== Create a VM ===== | + | * [[http:// |
+ | ====== Create a VM ====== | ||
Copy an ISO to your home directory: | Copy an ISO to your home directory: | ||
< | < | ||
Line 15: | Line 16: | ||
- Hard disk size: less than 30Gb | - Hard disk size: less than 30Gb | ||
- | ===== Networking ===== | + | ====== Networking |
- | ==== Bridged 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 24: | ||
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 32: | ||
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 | ||
- | |||
- | # mkdir / | ||
- | # touch / | ||
- | 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 | ||
- | |||
- | # touch / | ||
- | # chmod 755 / | ||
- | 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 | ||
- | |||
- | # chkconfig --add vboxcontrol | ||
- | Tell chkconfig to create symlinks for runlevels and activate service vboxcontrol | ||
- | |||
- | # chkconfig vboxcontrol on | ||
+ | ====== 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 ===== | ||
+ | ==== CentOS ==== | ||
+ | < | ||
+ | ===== Resume VMs ===== | ||
+ | # su - jmagochi | ||
+ | $ VBoxHeadless -s nobu & | ||
+ | $ VBoxHeadless -s lims & | ||
+ | $ exit | ||
+ | # su - aorth | ||
+ | $ VBoxHeadless -s b0237553-9653-4461-bd0e-d4d316c16d4f -v off &</ |