This semester I led a workshop to assess the viability of using KVM in the CSLabs as our main virtualization software.

We currently use XEN as our main virtualization system in the labs. As the current XEN installation grew older, we started to look at alternatives. At one of early meetings of the semester, we spoke about different virtualization systems and the pros and cons of both. We ended up deciding to try KVM and see how the system worked.

The Workshop:
I meet with between 3 and 7 other students weekly for the majority of the semester. We started by installing the newest CentOS on Reason, the experimental server. Once we had CentOS installed we started loosely following this guide on installing KVM. The steps we went through will be added to the CSLabs Wiki next semester.

The next step of the project was to analyze and re-write the scripts that are currently used to create XEN VMs. I spent a week teaching the other students the ins and outs of bash. Once they were somewhat fluent in it, we started disecting the scripts. We ended up creating a few generic libraries and scripts. These can be seen on the side bar. Some of these are incomplete and will be finished next semester. We then used those scripts to create template VMs for future use. These consist of a base software set and configuration. The steps to create each type are documented and will be posted to the wiki.

Even though some work still remains, the process of installing and setting up KVM to work in the labs is now documented. Next semester I hope to complete the scripts and start rebuilding some of our older VMs to work on the new KVM based system. This will also provide an opportunity to teach other students how some of the services in the labs work and get them involved in maintaining those services.

Christian Mesh