Changes

Jump to navigation Jump to search
9,548 bytes added ,  06:58, 19 May 2009
Created page with '---- == Sun VirtualBox 2.2.2 on SME Server 7.4 == {{Level|Advanced}} Note - This contrib requires the installation of kernel modules, which may impact server reliablity. === Mai...'
----
== Sun VirtualBox 2.2.2 on SME Server 7.4 ==
{{Level|Advanced}}
Note - This contrib requires the installation of kernel modules, which may impact server reliablity.

=== Maintainer ===
Kevin Schneider

=== Description ===
This contribution for smeserver adds Sun VirtualBox 2.2.2 for Headless operation (ie creates a virtual machine on your server that can be access via an RDP client such as 'Remote Desktop Connection' on Windows. This allows you to have a virtual Windows machine running on at a remote location to perform various administrative tasks. You can run network applications as if I were in the remote office and will not tying up a physical machine.

=== Requirements ===
You need SME Server 7.4, kernel 2.6.9-78.0.13.EL or 2.6.9-78.0.13.ELsmp
check your current kernel using
uname -r

You will also need to download the following files
wget ftp://ftp.pbone.net/mirror/www.whiteboxlinux.org/whitebox/4/en/updates/i386/alsa-lib-1.0.6-5.RHEL4.i386.rpm
wget ftp://ftp.pbone.net/mirror/ftp.centos.org/4.7/os/x86_64/CentOS/RPMS/SDL-1.2.7-8.i386.rpm
wget http://download.virtualbox.org/virtualbox/2.2.2/VirtualBox-2.2.2_46594_rhel4-1.i386.rpm

You will also need the precompiled kernel modules

'''For 2.6.9-78.0.13.EL'''
[[File:vboxdrv-2.2.2smp.tar.gz]]

'''For 2.6.9-78.0.13.EL'''
[[File:vboxdrv-2.2.2.tar.gz]]

=== Installation ===

1. Download the files to your folder on your server (it is a good idea to keep these file around if you ever need to rebuild a server)

----

2. Install the dependencies for VirtualBox
rpm -Uvh alsa-lib-1.0.6-5.RHEL4.i386.rpm
rpm -Uvh SDL-1.2.7-8.i386.rpm

----

3. Create a new group ‘vboxusers’ in the server manager and assign the appropriate users.

----

4. Create a new ibay for the VirtualBox settings and hard drive files. Set the Group to ‘vboxusers’ and User Access to ‘read=group, write=group’.

----

5. Install VirtualBox using the following command
rpm -Uvh VirtualBox-2.2.2_46594_rhel4-1.i386.rpm

Note - You will get the following error message, which you can ignore, we will manually copy and install the precompiled modules
Creating group 'vboxusers'. VM users must be member of that group!

No precompiled module for this kernel found -- trying to build one. Messages
emitted during module compilation will be logged to /var/log/vbox-install.log.

Compilation of the kernel module FAILED! VirtualBox will not start until this
problem is fixed. Please consult /var/log/vbox-install.log to find out why the
kernel module does not compile. Most probably the kernel sources are not found.
Install them and execute

/etc/init.d/vboxdrv setup

as root.

----

6. Extract files from vboxdrv-2.2.2*.tar.gz
tar -zxvf vboxdrv-2.2.2*.tar.gz

----

7. Copy precompiled VirtualBox drivers to the appropriate lib/modules/… folder

'''For 2.6.9-78.0.13.EL'''
cp vboxdrv.ko /lib/modules/2.6.9-78.0.13.EL/
cp vboxnetflt.ko /lib/modules/2.6.9-78.0.13.EL/
'''For 2.6.9-78.0.13.ELsmp'''
cp vboxdrv.ko /lib/modules/2.6.9-78.0.13.ELsmp/
cp vboxnetflt.ko /lib/modules/2.6.9-78.0.13.ELsmp/

----

8. Change module permissions and owner using the following commands (this step might not be required)

'''For 2.6.9-78.0.13.EL'''
chown root:root /lib/modules/2.6.9-78.0.13.EL/vboxdrv.ko
chown root:root /lib/modules/2.6.9-78.0.13.EL/vboxnetflt.ko
chmod 644 /lib/modules/2.6.9-78.0.13.EL/vboxdrv.ko
chmod 644 /lib/modules/2.6.9-78.0.13.EL/vboxnetflt.ko
'''For 2.6.9-78.0.13.ELsmp'''
chown root:root /lib/modules/2.6.9-78.0.13.ELsmp/vboxdrv.ko
chown root:root /lib/modules/2.6.9-78.0.13.ELsmp/vboxnetflt.ko
chmod 644 /lib/modules/2.6.9-78.0.13.ELsmp/vboxdrv.ko
chmod 644 /lib/modules/2.6.9-78.0.13.ELsmp/vboxnetflt.ko

----

9. Test the kernel module, if there are no error messages, you can keep going, if not, you may have to compile the modules for yourself.

'''For 2.6.9-78.0.13.EL'''
insmod /lib/modules/2.6.9-78.0.13.EL/vboxdrv.ko
insmod /lib/modules/2.6.9-78.0.13.EL/vboxnetflt.ko
'''For 2.6.9-78.0.13.ELsmp'''
insmod /lib/modules/2.6.9-78.0.13.ELsmp/vboxdrv.ko
insmod /lib/modules/2.6.9-78.0.13.ELsmp/vboxnetflt.ko

----

10. Verify the kernel modules are loaded
lsmod | grep vbox
Should result in
vboxnetflt 78504 0
vboxdrv 100008 1 vboxnetflt

----

11. Unload the kernel modules
rmmod vboxnetflt
rmmod vboxdrv

----

12. Edit the modules.dep file

'''For 2.6.9-78.0.13.EL'''
pico /lib/modules/2.6.9-78.0.13.EL/modules.dep
Add the following two lines to the end and save
/lib/modules/2.6.9-78.0.13.EL/vboxdrv.ko:
/lib/modules/2.6.9-78.0.13.EL/vboxnetflt.ko: /lib/modules/2.6.9-78.0.13.EL/vboxdrv.ko
'''For 2.6.9-78.0.13.ELsmp'''
pico /lib/modules/2.6.9-78.0.13.ELsmp/modules.dep
Add the following two lines to the end and save
/lib/modules/2.6.9-78.0.13.ELsmp/vboxdrv.ko:
/lib/modules/2.6.9-78.0.13.ELsmp/vboxnetflt.ko: /lib/modules/2.6.9-78.0.13.ELsmp/vboxdrv.ko

----

13. Test that the kernel modules load properly with the following command
modprobe vboxnetflt

----

14. Verify the kernel modules are loaded
lsmod | grep vbox
Should result in
vboxnetflt 78504 0
vboxdrv 100008 1 vboxnetflt

----

15. Remove the file that flags vboxdrv and vboxnetflt module as not being installed properly
rm /etc/vbox/module_not_compiled

----

16. Set Environment Variable (replace 'vbox_files' with the ibay you created)
export VBOX_USER_HOME=/home/e-smith/files/ibays/vbox_files/files/.VirtualBox

----

17. Permanently set Environment Variable
pico /etc/profile.d/vboxpath.sh
Add the two lines below (replace 'vbox_files' with the ibay you created)
# /etc/profile.d/vboxpath.sh - Set Virtual Box Settings Location
export VBOX_USER_HOME=/home/e-smith/files/ibays/vbox_files/files/.VirtualBox

Change the permissions on the script to make it executable
chmod 755 /etc/profile.d/vboxpath.sh

----

18. Verify the environment variable is set
echo $VBOX_USER_HOME
Should result in (where 'vbox_files' is the ibay you created)
/home/e-smith/files/ibays/vbox_files/files/.VirtualBox

----

19. You can now create and run your own virtual machines using VBoxManage and VBoxHeadless (located in /usr/bin/).

=== Usage - VBoxManage ===

To create a virtual machine, use the following command, replace "WinXP" with the name of your new virtual machine.
VBoxManage createvm -name "WinXP" –register

----

Set the amount of RAM for your virtual machine
VBoxManage modifyvm "WinXP" -memory "128MB"
When modifying your virtual machine, you will need to pay close attention to the amount of physical ram in your server. Use the following command to check the amount of free memory in your server
free -m

----

Enables 'ACPI' for your virtual machine in VirtualBox
VBoxManage modifyvm "WinXP" -acpi on

----

Creates a new virtual hard disk file (VDI). Note, size is in MB. The file will be saved to /home/e-smith/files/ibays/vbox_files/files/.VirtualBox/HardDisks/WinXP.vdi
VBoxManage createvdi -filename "WinXP.vdi" -size 20000 -register

----

Assign the hard disk file to your new virtual machine
VBoxManage modifyvm "WinXP" -hda "WinXP.vdi"

----

Sets the first boot device for your virtual machine to dvd (ie installing OS)
VBoxManage modifyvm "WinXP" -boot1 dvd

----

Adds a CD/DVD image (located on your server) to VirtualBox media manager (note, replace the path below with the path to your installation media)
VBoxManage registerimage dvd /home/e-smith/files/ibays/iso_images/files/WinXP.iso

----

Assigns the CD/DVD image to your virtual machine
VBoxManage modifyvm "WinXP" -dvd /home/e-smith/files/ibays/iso_images/files/WinXP.iso

----

Remove the CD/DVD image from your virtual machine
VBoxManage modifyvm "WinXP" -dvd none

----

Sets the Virtual NIC to the VirtualBox 'nat' (can't communicate with other computers on lan, but has internet access via your server)
VBoxManage modifyvm "WinXP" -nic1 nat

----

To give your virtual machine an IP Address from your local network (ie DHCP provided by another machine), use the following commands to change the Virtual NIC to use your LAN connection. If you server as configured as a gateway, make sure that 'eth0' is the LAN port not the WAN otherwise your virtual machine will be exposed to the internet without a firewall.
VBoxManage modifyvm "WinXP" -nic1 bridged
VBoxManage modifyvm "WinXP" -bridgeadapter1 eth0

----

The commands above were based on this guide. [http://vmetc.com/wp-content/uploads/2008/07/headless-vm-creation-in-virtualbox-creating-an-ubuntu-804-server-vm.pdf]

=== Usage - VBoxHeadless ===

To start your virtual machine use the following command
VBoxHeadless -s "WinXP"

To access your virtual machine, you will need to connect via an RDP client. On Windows you can use the built in 'Remote Desktop Connection' to access your virtual machine. Open your RDP client and input the IP address/Name of your SME Server into the box and press Connect. [[File:Example.jpg]]
Note there is no authentication when connecting by default, consult the VirtualBox documentation for instructions on implementing authentication.

----






=== Uninstall ===
rpm -e VirtualBox
rpm -e SDL
rpm -e alsa-lib

Remove the kernel modules from the /lib/modules/... folder

'''For 2.6.9-78.0.13.EL'''
rm /lib/modules/2.6.9-78.0.13.EL/vbox*.ko
'''For 2.6.9-78.0.13.ELsmp'''
rm /lib/modules/2.6.9-78.0.13.ELsmp/vbox*.ko


=== Bugs ===
Please raise bugs under the SME-Contribs section in [http://bugs.contribs.org/enter_bug.cgi bugzilla].

<noinclude>[[Category: Contrib]]</noinclude>
8

edits

Navigation menu