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/01/20 08:00] – 172.26.0.166 | virtualbox [2010/02/18 12:37] – 172.26.0.166 | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ===== VirtualBox | + | ===== VirtualBox ===== |
VirtualBox is a free/ | VirtualBox is a free/ | ||
* [[http:// | * [[http:// | ||
- | |||
- | ==== Commonly-used commands ==== | ||
- | List your VMs: | ||
- | < | ||
- | List all running VMs: | ||
- | < | ||
- | |||
===== Create a VM ===== | ===== Create a VM ===== | ||
Copy an ISO to your home directory: | Copy an ISO to your home directory: | ||
- | < | + | < |
- | * SSH to VM server: 172.26.0.205 | + | * SSH to VM server: 172.26.0.200 |
- | < | + | < |
* start the virtualbox application | * start the virtualbox application | ||
< | < | ||
Line 23: | Line 16: | ||
===== 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: | ||
< | < | ||
+ | Each and every VM using bridged networking must use this command. | ||
+ | |||
+ | As of VirtualBox 3.1.2 this is still a [[http:// | ||
==== Port Forwarding ==== | ==== Port Forwarding ==== | ||
Line 36: | 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 | |
- | ==== 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 ('' | 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 ('' | ||
< | < | ||
Line 49: | Line 43: | ||
$ yum install virtualbox-3.1 | $ yum install virtualbox-3.1 | ||
</ | </ | ||
+ | ===== Commonly-used commands ===== | ||
+ | ==== List your 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 “/ | ||
+ | |||
+ | #! /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 | ||
+ | |||
+ |