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:06] – 172.26.0.166 | virtualbox [2010/02/18 12:48] – 172.26.0.166 | ||
---|---|---|---|
Line 3: | Line 3: | ||
* [[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 38: | 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 51: | 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 | ||
+ | |||
+ | < | ||
+ | < | ||
+ | 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 | ||
+ | |||
+ | < | ||
+ | |||
+ |