Virtualised DICE project

This is the final report for devproj.inf project number 172.

Description

A virtualised DICE image has been suggested in a number of meetings. This would be, for example, a virtualbox image with the current supported desktop OS and all the teaching applications installed that students (and staff) could download to their own laptops and desktops. The image would be preconfigured for use against DICE services (eg AFS, printing etc)

Software

There are a number of Virtualisation options available with newer ones appearing during the course of the project. Given that this was a scoping project it seemed most appropriate to do a quick paper comparison of virtualisation technologies and choose the most suitable for testing, accepting that we have little control of what the users will use.

In this respect we were looking for:

  • Multi platform - linux/windows/OS-X
  • Easilty installed - users will be doing installations
  • Good support - users will have to support the software on their hardware.
  • Scriptable interface - both to generate the images and make isntalation on staff/student machines easy.
  • Supports standard Virtualisation files - allows users to choose more appropriate software for their hardware.

Following a comparison of the virtual machines at http://en.wikipedia.org/wiki/Comparison_of_platform_virtual_machines it was decided to use VirtualBox for the scoping exercise and as the default VM to recommend for users.

Use cases and demand

The following use cases were identified:

  • Minimal image for specific courses - Possibly some small demand, we currently have 2 courses using virtualbox images and it's possible that the SDP could utilise them.
  • DICE image for Staff (in Informatics) - C(S)Os regularly use DICE VM images and there has been a small demand for DICE images from regular staff via RT.
  • DICE(ish) image for IS labs - There is probably some demand from individual students but see below.
  • DICE(ish) image Anywhere - No clear demand, but the additional overhead in providing this over the other images is probably minimal.

Creation of image

Given that VirtualBox allows for scripted configuration and installation of images it ought to be possible to generate any DICE based images automatically from a profile as part of the standard release mechanism. This was trialled by doing a completely scripted install of a standard DICE machine and then using the image created to bring up the virtual machine on a separate machine. If we were to cover all the use cases It's likely that we would want to create a number of virtual images i.e.:

  • A very basic image used to develop course images
  • Course images.
  • A part installed image, used to bootstrap VMs for use on self managed machines.
  • A "static" or "throwaway" image for use in IS labs or by users at home.

Having these based on LCFG profiles means they would be kept up to date with a fairly minimal overhead

Meeting with IS

I met with IS and asked about the possibility of them deploying a vm to their student lab machines. There was an open discussion and whilst IS were interested in the idea of having virtual images available to students there were a number of issues.

  • They have no virtualisation client.
  • There is insufficient space on the disk for a DICE (~25+Gb) Image.
  • They think they will have network issues deploying a 20+Gb image.
  • They have security concerns if the image becomes rooted
We also discussed use cases and alternatives, IS pointed out that they had withdrawn the dual boot linux machines because the machines were rarely being booted into linux and where users wanted to interact with unix systems they preferred the convenience of windows based applications to access unix, e.g. putty/freenx rather than waiting for a machine to boot.

Deploying images

Based on our and IS's previous experience of deploying multi-gigabyte files we could ship small images (<5Gb) via AFS or RPM but if we were Making DICE VM sized images (~20Gb) we would need to source or develop some kind of multicast or peer to peer (torrent) based deployment system. This would have to be capable of both configuring the deployment system and seeding initial copies to reduce the download time.

Updating Images

Having the images updated via the standard lcfg model (resources via lcfg and software via updaterpms) would be too big an overhead for deployment of images to student labs since this would involve generating a profile for every vm and this is not scalable unless they could be generated on demand. Profiles for staff/phs vms could be done by support or we could possibly adapt the self managed profile to include data a vm. The alternative, simply updating the VM image would mean no admin overhead for us but would increase the need for some system to deploy large images across out network and the internet.

Time taken

The actual time taken was a week but it was done in two blocks several months apart because of other work.

Conclusions

The main use case was to make DICE VMs available to students, realistically we can't provide a full DICE VM for the IS studentlabs in the near future. I believe the only way to determine how many students would download and use DICE VMs at home would be to make them available and see how many people use them. Setting up a mechanism for distributing the images is a project in itself and I see no point in making vm images available without a viable distribution mechanism capable of handling a large number of simulatneous dowloads.

In the meantime we could deploy VMs to staff/phd machines using the standard lcfg install process subject to a security audit and a change of any passwords.

-- IainRae - 29 Jan 2012/

Topic revision: r4 - 07 Mar 2012 - 02:26:15 - IainRae
 
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback
This Wiki uses Cookies