0% found this document useful (0 votes)
71 views7 pages

VBoxHeadless - Running Virtual Machines With VirtualBox 3.1.x On A Headless CentOS 5.4 Server

Uploaded by

Yahya Nursalim
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
71 views7 pages

VBoxHeadless - Running Virtual Machines With VirtualBox 3.1.x On A Headless CentOS 5.4 Server

Uploaded by

Yahya Nursalim
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

VBoxHeadless - Running Virtual Machines With

VirtualBox 3.1.x On A Headless CentOS 5.4 Server


Author: Falko Timme <ft [at] falkotimme [dot] com>
This guide explains how you can run virtual machines with Sun VirtualBox 3.1.x on a headless
CentOS 5.4 server. Normally you use the VirtualBox GUI to manage your virtual machines, but
a server does not have a desktop environment. Fortunately, VirtualBox comes with a tool
called VBoxHeadless that allows you to connect to the virtual machines over a remote desktop
connection, so there's no need for the VirtualBox GUI.
I do not issue any guarantee that this will work for you!

1 Preliminary Note
I have tested this on a CentOS 5.4 server (host system) with the IP
address 192.168.0.100 where I'm logged in as a normal user (user name admin in this
example) instead of as root.
If you only have a root account, but no normal user account, create one as follows
(user admin, group admin)...

# groupadd admin
# useradd -d /home/admin -m -g admin -s /bin/bash admin

... create a password for the new user...

# passwd admin

... and log in as that user.

2 Installing VirtualBox
To install VirtualBox 3.1.x on our CentOS 5.4 server, we need root privileges, therefore we run

$ su

Next download and register Sun's public rpm key:

# wget -q http://download.virtualbox.org/virtualbox/debian/sun_vbox.asc
# rpm --import sun_vbox.asc
# rm -f sun_vbox.asc

Now we enable the VirtualBox OpenSUSE repository on our system:


# cd /etc/yum.repos.d/
# wget http://download.virtualbox.org/virtualbox/rpm/rhel/virtualbox.repo

We can now simply install VirtualBox 3.1.x as follows:

# yum install VirtualBox-3.1

Now we must add the user that will run VirtualBox (admin in this example) to
the vboxusers group:

# /usr/sbin/usermod -G vboxusers admin

VirtualBox is now installed and ready to be used.

Type

# exit

to leave the root account and become a normal user (admin) again.

3 Using VirtualBox On The Command Line

3.1 Creating A VM
To create a VM on the command line, we can use the VBoxManage command. See

$ VBoxManage --help

for a list of available switches and (highly recommended!) take a look at


http://www.virtualbox.org/manual/UserManual.html#vboxmanage.
I will now create an Ubuntu 9.10 Server VM with 256MB memory and a 10GB hard drive from
the Ubuntu 9.10 Server iso image (which I have stored in /home/ubuntu-9.10-server-
amd64.iso):

$ VBoxManage createvm --name "Ubuntu 9.10 Server" --register


$ VBoxManage modifyvm "Ubuntu 9.10 Server" --memory 256 --acpi on --boot1 dvd -
-nic1 bridged --bridgeadapter1 eth0
$ VBoxManage createhd --filename Ubuntu_9_10_Server.vdi --size 10000 --register
$ VBoxManage storagectl "Ubuntu 9.10 Server" --name "IDE Controller" --add ide
$ VBoxManage storageattach "Ubuntu 9.10 Server" --storagectl "IDE Controller" -
-port 0 --device 0 --type hdd --medium Ubuntu_9_10_Server.vdi
$ VBoxManage storageattach "Ubuntu 9.10 Server" --storagectl "IDE Controller" -
-port 1 --device 0 --type dvddrive --medium /home/ubuntu-9.10-server-amd64.iso

3.2 Importing An Existing VM


Let's assume you have a VM called examplevm that you want to reuse on this host. On the old
host, you should have a directory Machines/examplevm in the VirtualBox
directory; Machines/examplevm should contain the examplevm.xml file. Copy
the examplevm directory (including the examplevm.xml file) to your new Machines directory (if
your user name isadmin, this is /home/admin/.VirtualBox/Machines - the result should
be/home/admin/.VirtualBox/Machines/examplevm/examplevm.xml).
In addition to that copy the examplevm.vdi file from the old VDI directory to the new one
(e.g./home/admin/.VirtualBox/VDI/examplevm.vdi).
Afterwards, you must register the imported VM:

$ VBoxManage registervm Machines/examplevm/examplevm.xml

3.3 Starting A VM With VBoxHeadless


Regardless of if you create a new VM or import and old one, you can start it with the
command:

$ VBoxHeadless --startvm "Ubuntu 9.10 Server"

(Replace Ubuntu 9.10 Server with the name of your VM.)


VBoxHeadless will start the VM and a VRDP (VirtualBox Remote Desktop Protocol) server
which allows you to see the VM's output remotely on another machine.
To stop a VM, run

$ VBoxManage controlvm "Ubuntu 9.10 Server" poweroff

To pause a VM, run

$ VBoxManage controlvm "Ubuntu 9.10 Server" pause

To reset a VM, run

$ VBoxManage controlvm "Ubuntu 9.10 Server" reset


To learn more about VBoxHeadless, take a look at

$ VBoxHeadless --help

and at http://www.virtualbox.org/manual/UserManual.html.

4 Connecting To A VM From A Remote Desktop

4.1 Windows XP
You can use the built-in Remote Desktop Connection utility to connect to the VM:

Type in the hostname or IP address of the host (not the guest!):

And voilà, you should be connected to the VM:


4.2 Linux
On Linux desktops, you can use the rdesktop command to connect to the VM. I'm assuming
you're using a Fedora 12 desktop here.
On Fedora 12, you must install rdesktop first. Open a terminal (Applications > System
Tools > Terminal)...
... and become root:

$ su

Then install rdesktop...

# yum install rdesktop

... and leave the root shell:

# exit
Then type in the following command:

$ rdesktop -a 16 192.168.0.100

(192.168.0.100 is the host IP address, not the one of the guest - replace it with your own IP
address or hostname; -a 16 means 16 bit colour depth.)
And voilà, you should be connected to the VM:

5 Links
 VirtualBox: http://www.virtualbox.org/
 CentOS: http://www.centos.org/

You might also like