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/