User Tools

Site Tools


virtualbox

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
virtualbox [2009/10/28 13:20] alanvirtualbox [2010/01/13 11:19] 172.26.0.166
Line 1: Line 1:
 ===== VirtualBox tips/tricks ===== ===== VirtualBox tips/tricks =====
- 
 ==== Commonly-used commands ==== ==== Commonly-used commands ====
 To change between "not attached", NAT,Bridged,internal network and host olny adapter:  To change between "not attached", NAT,Bridged,internal network and host olny adapter: 
Line 22: Line 21:
 List all running VMs: List all running VMs:
 <code>VBoxManage list runningvms </code> <code>VBoxManage list runningvms </code>
- 
-PORT FORWARDING!! 
-<code>$ VBoxManage setextradata b3924a0c-70a1-4890-8dff-3cc308cdaf28 "VBoxInternal/Devices/pcnet/0/LUN#0/Config/ssh/HostPort" 2223 
-$ VBoxManage setextradata b3924a0c-70a1-4890-8dff-3cc308cdaf28 "VBoxInternal/Devices/pcnet/0/LUN#0/Config/ssh/GuestPort" 22 
-$ VBoxManage setextradata b3924a0c-70a1-4890-8dff-3cc308cdaf28 "VBoxInternal/Devices/pcnet/0/LUN#0/Config/ssh/Protocol" TCP</code> 
- 
 List guest properties: List guest properties:
 <code> VBoxManage list -l  vms </code> <code> VBoxManage list -l  vms </code>
Line 51: Line 44:
 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:
 <code>$ ssh -p 2223 username@172.26.0.205</code> <code>$ ssh -p 2223 username@172.26.0.205</code>
 +
 +=== Upgrading VirtualBox ===
 +
 +<file>[jmagochi@biovbox ~]$ VBoxManage controlvm CentOS savestate
 +VirtualBox Command Line Management Interface Version 3.0.8
 +(C) 2005-2009 Sun Microsystems, Inc.
 +All rights reserved.
 +
 +0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
 +[jmagochi@biovbox ~]$ sudo /etc/init.d/vboxdrv stop
 +
 +$ wget http://download.virtualbox.org/virtualbox/3.0.12/VirtualBox-3.0.12-54655-Linux_amd64.run
 +$ ./VirtualBox-3.0.12-54655-Linux_amd64.run
 +$ /etc/init.d/vboxdrv setup
 +</file>
 +
 +===== Expanding a Virtual Disk =====
 +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 ''dd'', rsync, etc).
 +
 +Create new VDI
 +
 +Attach to virtual machine and boot with System Rescue CD
 +
 +create two partitions with fdisk/cfdisk/parted, whatever:
 +  * 1: 100 MB, boot, type "Linux" (83)
 +  * 2: 30 GB, type "Linux LVM" (8E)
 +
 +Format the boot partition as ext3
 +
 +==== LVM setup ====
 +
 +Create Physical Volume from device:
 +<code>pvcreate /dev/sdb2</code>
 +
 +Create Volume Group from PV:
 +<code>vgcreate VolGroup01 /dev/sdb2</code>
 +
 +Create Logical Volumes in VG:
 +<code>lvcreate -L29G -nLogVol00 VolGroup01
 +lvcreate -L512M -nLogVol01 VolGroup01</code>
 +
 +Format the new partitions:
 +<code>mkfs.ext3 /dev/VolGroup01/LogVol00
 +<code>mkswap /dev/VolGroup01/LogVol01</code>
 +
 +<note important>Set the disk label on the boot partition to "/boot" using gparted (fstab loads the boot partition based on its label!)</note>
 +
 +Mount both root partitions:
 +<code>mount /dev/VolGroup01/LogVol00 /mnt/newroot
 +mount /dev/VolGroup00/LogVol00 /mnt/oldroot</code>
 +
 +Copy everything over:
 +<code>rsync -xrlptgoEv --delete /mnt/oldroot/ /mnt/newroot/</code>
 +
 +Mount both boot partitions:
 +<code>mount /dev/sdb1 /mnt/newboot
 +mount /dev/sda1 /mnt/oldboot</code>
 +
 +Copy everything over:
 +<code>rsync -xrlptgoEv --delete /mnt/oldboot/ /mnt/newboot/</code>
 +
 +Force SElinux to relabel all files on boot (or else SElinux will deny you to log in)
 +<code>touch /mnt/newroot/.autorelabel</code>
 +
 +Unmount all mounted logical volumes
 +
 +Install GRUB on the new VDI
 +<code>grub
 +> root (hd0,0)
 +> setup (hd0)</code>
 +
 +==== Renaming the new volume group====
 +
 +Deativate all logical volumes
 +<code>lvchange -an /dev/mapper/VolGroup*</code>
 +Rename old volume group
 +<code>vgrename VolGroup00 VolGroupOld</code>
 +Rename new volume group
 +<code>vgrename VolGroup01 VolGroup00</code>