Table of Contents

Linux VM Server install

This project will have you setting up a Linux VM Server with required tasks to accomplish.

Prerequisites

This is a base project, there are no prerequisites.

Ingredients

To accomplish this project you will need:

Item Description Qty
computer VM Server Computer 1
student shelf KVM setup The location for this installation is largely established and fixed 1

Background

As you may have realized from your own computing usage, outside of specific instances of high-resource demand, available computing resources generally sit idle or under-utilized.

Fueled by ambitions to conserve wasted energy and resources, along with increasing the general capacity and capabilities of available resources, the notion of virtualization has evolved.

Virtualization is the concept of having a system host several guest systems, each of which is provided adequate resources and can function from the perspective of a standalone system. That is, the guest systems see the normal resources they'd expect to utilize— hard drives or disk partitions, memory, virtual memory, devices, even network accessibility, but may in actuality may not be physically real.

Although they share a lot of commonality, there are some key distinctions between virtualization and emulation. In modern virtualization environments, the devices virtual machines are given access to may in fact be real, or based on a real approximation of existing hardware. In emulation, machines are provided with some stock representation of hardware that may not actually physically exist anywhere on the host system.

Virtualization introduces two terms to describe the nature of its guest device manifestation:

In the para-virtualization scenario, the guest machine's operating system is aware of its virtualized state. As such, it can communicate more effectively with the host's provided resources, and improve performance because the need for outright device emulation is obsoleted.

In full virtualization, the guest machine's OS has no capability of recognizing a virtualized state. Devices provided to it appear in the same fashion as it would expect if it were running on real hardware, and in the end the intention is to maintain this “illusion” yet possess a useful virtualized resource. Pretty much every operating system can be utilized in this mode of functionality- from Windows to Linux to Plan 9. This method requires no modification to the operating system.

In both modes, depending on the capabilities of the virtual machine monitor (commonly referred to as a hypervisor, especially if it runs somewhat outside the host OS), real actual hardware may be passed to the virtual machine and be utilized.

As you might ascertain, the Open Source nature of Linux would seem to make it a perfect candidate for para-virtualization capabilities. And you would be correct in deriving such conclusions.

Many comparable virtualization products exist, and the virtualization marketplace is a growingly competitive one. Just some examples would include:

There are likely many more implementations of virtualization products out there. You can check out http://virt.kernelnewbies.org/ for some additional information. There are certain strengths and advantages to certain products over others, depending upon the environment of usage.

The particular virtualization implementation we will be using in this class will be the Open Source Xen virtualization.

Requirements

To successfully complete this project, you will need to:

dir = /xen
install-method = debootstrap
size   = 2Gb      # Disk image size.
memory = 128Mb    # Memory size
swap   = 128Mb    # Swap size
fs     = ext3     # use the EXT3 filesystem for the disk image.
dist   = lenny    # Default distribution to install.
image  = full     # Specify sparse vs. full disk images.
dhcp = 1
passwd = 1
kernel      = /boot/vmlinuz-`uname -r`
initrd      = /boot/initrd.img-`uname -r`
mirror = http://mirror/debian/
ext3_options   = noatime,nodiratime,errors=remount-ro
ext2_options   = noatime,nodiratime,errors=remount-ro
xfs_options    = defaults
reiser_options = defaults
serial_device = hvc0 #default
disk_device = xvda #default
output    = /xen/conf
extension = .cfg