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/14 09:29] – 172.26.0.166 | virtualbox [2010/02/18 12:38] – 172.26.0.166 | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ===== VirtualBox | + | ===== VirtualBox ===== |
- | ==== Commonly-used commands ==== | + | VirtualBox is a free/opensource Hypervisor from Sun Microsystems. |
- | To change between "not attached", | + | |
- | < | + | |
- | Set the boot order: | + | |
- | < | + | |
- | Add a shared folder: | + | |
- | < | + | |
- | Acpi Vm: | + | |
- | < | + | |
- | Change rdp address: | + | |
- | < | + | |
- | Change the Authentication type: | + | |
- | < | + | |
- | **Note**: option " | + | |
- | < | + | |
- | Change rdp port: | + | |
- | < | + | |
- | List all VMs in the server: | + | |
- | < | + | |
- | List all running VMs: | + | |
- | < | + | |
- | List guest properties: | + | |
- | < | + | |
- | Note: All the guest parameters(configuration) are in < | + | |
+ | * [[http:// | ||
===== 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 | ||
< | < | ||
- | * Follow the wizzard | + | * Follow the wizard |
- Base Memory: less than 512 MB | - Base Memory: less than 512 MB | ||
- Network : NAT | - Network : NAT | ||
- | - Harddisk | + | - Hard disk size: less than 30Gb |
+ | |||
+ | ===== 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: | ||
+ | < | ||
+ | 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 ==== | ||
- | If your guest OS is using NAT for networking you will need to enable port forwarding. | + | If your guest OS is using NAT for networking |
< | < | ||
$ VBoxManage setextradata Ubuntu " | $ VBoxManage setextradata Ubuntu " | ||
- | $ VBoxManage setextradata Ubuntu " | + | $ VBoxManage setextradata Ubuntu " |
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 | |
- | === Upgrading | + | 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 | VirtualBox Command Line Management Interface Version 3.0.8 | ||
Line 57: | 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 | ||
- | ===== Expanding a Virtual Disk ===== | + | Create new init.d service script file and give execute permissions |
- | There is no way to expand a VDI. What you have to do is create a new VDI, boot the virtual machine to a live cd, and copy over the filesystem (either via '' | + | |
- | Create new VDI | + | # touch / |
+ | # chmod 755 / | ||
+ | Copy the following code into file “/ | ||
- | Attach to virtual machine and boot with System Rescue CD | + | <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. | ||
+ | # | ||
- | Create two partitions with fdisk/cfdisk/parted, whatever: | + | # Source function library. |
- | | + | if [ -f /etc/init.d/ |
- | * 2: 30 GB, type "Linux LVM" (8E) | + | . / |
+ | elif [ -f / | ||
+ | . / | ||
+ | else | ||
+ | exit 1 | ||
+ | fi | ||
- | Format the boot partition as ext3 | + | ################################################################################ |
+ | # INITIAL CONFIGURATION | ||
+ | VBOXDIR="/ | ||
+ | VM_USER=" | ||
+ | USE_NAT=" | ||
- | ==== LVM setup ==== | + | export PATH=" |
- | Create Physical Volume from device: | + | if [ -f $VBOXDIR/ |
- | < | + | . $VBOXDIR/config |
+ | fi | ||
- | Create Volume Group from PV: | + | SU="su $VM_USER -c" |
- | < | + | VBOXMANAGE=" |
- | Create Logical Volumes in VG: | + | ################################################################################ |
- | < | + | # FUNCTIONS |
- | lvcreate -L512M -nLogVol01 VolGroup01</ | + | |
- | Format the new partitions: | + | # Determine if USE_NAT is set to " |
- | < | + | use_nat() { |
- | < | + | if [ " |
+ | return `true` | ||
+ | else | ||
+ | return `false` | ||
+ | fi | ||
+ | } | ||
- | <note important> | + | log_failure_msg() { |
+ | echo $1 | ||
+ | } | ||
- | Mount both root partitions: | + | log_action_msg() { |
- | < | + | echo $1 |
- | mount / | + | } |
- | Copy everything over: | + | # 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 | ||
+ | } | ||
- | Mount both boot partitions: | + | ################################################################################ |
- | < | + | # RUN |
- | mount / | + | case " |
+ | start) | ||
+ | if [ -f /etc/virtualbox/machines_enabled ]; then | ||
- | Copy everything over: | + | cat / |
- | < | + | log_action_msg " |
+ | $SU " | ||
+ | RETVAL=$? | ||
+ | done | ||
+ | touch /var/lock/subsys/vboxcontrol | ||
+ | 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 /var/lock/subsys/ | ||
+ | wait_for_closing_machines | ||
- | Force SElinux to relabel all files on boot (or else SElinux will deny you to log in) | + | ;; |
- | < | + | 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>|stop-vm <VM name> | ||
+ | exit 3 | ||
+ | esac | ||
- | Unmount all mounted logical volumes | + | exit 0 |
+ | </ | ||
+ | Add vboxcontrol service to chkconfig registry | ||
- | Install GRUB on the new VDI | + | # chkconfig --add vboxcontrol |
- | < | + | Tell chkconfig to create symlinks for runlevels and activate service vboxcontrol |
- | > root (hd0,0) | + | |
- | > setup (hd0)</ | + | |
- | ==== Renaming the new volume group==== | + | # chkconfig vboxcontrol on |
- | Deativate all logical volumes | ||
- | < | ||
- | Rename old volume group | ||
- | < | ||
- | Rename new volume group | ||
- | < | ||
- | Now shutdown the machine and remove the old VDI. |