Project #2
Overview. In this project you will start to explore
virtualization. In
particular, you will create a virtual server running a different OS inside
of your current OS.
In your first project, you installed another OS and you can boot one or
the other. In many environments, it is annoying or impractical to reboot
to choose a different OS; instead, it is often more useful to be able to
run one OS inside another. This is our goal.
-
The first step of the project is to
install Oracle's VirtualBox, a free download, into your
computer (sandbox machine or your own desktop or laptop). It provides a
virtualized environment -- e.g., a virtual
computer with virtual hardware and a virtual BIOS, ready to boot
something.
- Once you have VirtualBox functioning, install the latest
release
(17) of the Fedora distribution in a new virtual machine.
Fedora often runs the latest versions of included software,
and is thus exciting, but sometimes unstable.
But this is a perfect example of how virtualization can
be useful. Part of the goal of this project is for you to try out a new
OS release and examine its suitability as a candidate replacement desktop
operating system.
Note that even though there may be pre-built
Fedora 17 VirtualBox appliances, you may not use them for this project. You
need to
create the installation yourself.
- Once Fedora 17 is installed and operating as a guest OS, make sure
it is running the latest version by updating it with yum. Then install
something called guest additions,
which are improvements (drivers, mostly) for inside your virtual machine
to give it closer integration with the host OS (and better performance
for you), and support for some additional features. To start the process
of installation, under the VirtualBox menu Devices, you find "Install
Guest Additions" and then follow the instructions given. Note that you
may need to install some packages before the guest additions will be
fully functional (you might need to re-install), and you will need to
reboot your virtual machine to see the benefits.
- Now supply your virtual machine with
some work that will require at least a few minutes to complete. Below
you will find the C source code to create an adequate amount of
work; however, you may wish to write your own program. Note that to
compile this program on your installed Fedora 17, you may need to install
additional packages.
#include <stdio.h>
int main()
{
int i,j;
for(i=0; i<10000000; i++)
{
for(j=0; j<10000000; j++)
{
printf("%d\n", i+j);
}
}
}
With your Guest Operating System practicing integer addition, monitor its CPU
utilization from the Host OS. Compare these results to performance measurements taken
from within the Guest OS. When your guest OS is busy, can you achieve
100% CPU utilization on the host?
Next, assume the work you gave your Guest OS required an entire month to
complete, rather than a few minutes. A benefit of many virtualization
technologies is
being able to migrate a virtualized system installation (and its running
processes) to another physical machine.
To complete the assignment, hand in (by email) a two to four
page nicely-formatted report on your project (to your imaginary
supervisor),
describing:
1. The process of installing Fedora 17 as a
virtualized operating system,
2. Your impression of Fedora 17 (what you
liked/disliked in comparison to CentOS 6) as a possible desktop
environment for your organization;
3. Your impression of performance, comparing
what you found under the guest and under the host OS;
4.
A description of any mistakes made and lessons
learned in the process.
Last revised: 27 March 2012