Cloud Computing: Virtualization Labs

1 Abstract

The goal of this lab is to give you experience in setting up virtualization. We cover bare-metal and host-os hypervisors. Observe their differences. [TBD Note the sensitive instructions. Load/ unload modules.]

2 Background

Refresh your understanding by re-reading the Lecture Notes before beginning to do the lab. On the other hand, the other help docs cited are best read as you need them at the step indicated.

(Updated Nov 17: The specific version numbers that appear here and there are unimportant. In general, choose the latest.)

3 Lab Environment

The tasks of this Lab are doable in many places: WSU pmcluster, AWS, MS Azure, Chameleon, and even your own laptop.

  1. Choose a platform, and include a rationale for your choice in the lab report.
  2. Install Virtual Machine Manager GUI apt-get install virt-manager
  3. Install apt-get install libvirt-bin. Try the cli virsh -h
  4. Do try this lab on Chameleon, and write a brief section on your experience.

To reduce the time and (your) energy needed to do the lab, the creation and running of guest images is included only in the bonus task.

4 Lab Experiment

Recall that it is possible to run a host os hypervisor on Linux running on a server virtual machine running on a bare metal hypervisor. Even if the bottom-most layer is a high-end machine all this layering will lose performance. But as a learning environment this serves us well.

4.1 Task 1: Xen Set Up

The document https://www.howtoforge.com/perfect_xen_setup_debian_ubuntu, Dec 2014, 5+ pages, is, as the author claims, a "copy & paste HowTo!". You are welcome to follow it, but make sure you understand everything.

(Updated Nov 17: I have verified that the following steps work out on a recent machine (x64, Ubuntu 15.10, etc.) I recommend that you choose 64-bit installations. However, 32-bit installs are ok.)

  1. Choose a "bare metal" machine (BMM).
    1. Choose a laptop [Be safe, archive files.], or
    2. Choose a virtual machine from one of the accounts listed above. Install VirtualBox (or VMware if you prefer). Install Ubuntu 14.04 LTS [ or the latest (2015) regular version 15.10].
  2. Install Xen.
    1. If the BMM is running Ubuntu, apt-get install xen-hypervisor-amd64 will install the essentials. Read https://help.ubuntu.com/community/Xen and do Network Configuration.
    2. Most other distros have equivalent tutorials – search the web.
    3. Here is the official help doc: http://wiki.xenproject.org/wiki/Xen_Project_Beginners_Guide
  3. Install a Xen Toolstack
    1. Note that the above install of Xen will change the OS boot (grub) menu.
    2. Boot into Xen-based Linux.
    3. Install a Xen Toolstack (following the Ubuntu help doc). Strongly suggested is the Xen and Libvirt setup.
    4. You may wish to skim over http://wiki.xen.org/wiki/Choice_of_Toolstacks
  4. Examine Xen Details
    1. Verify that Xen is running. Learn a few Xen commands. http://wiki.xen.org/wiki/Xen_Man_Pages.
    2. Use some commands that show that you understand Dom0

Capture the essentials, and a few screen shots of all the above in the report.

4.2 Task 2: KVM Set Up

  1. Choose a Linux Host OS machine (LHM).
    1. Choose a laptop [Be safe, archive files.], or
    2. Choose a machine running Linux from one of the accounts listed above.
    3. Xen and KVMcan live together, but to reduce confusion start without Xen.
  2. Install KVM
    1. If the LHM is running Ubuntu, apt-get install qemu-kvm will install the essentials. Read https://help.ubuntu.com/community/KVM/ and do Network Configuration.
    2. Most other distros have equivalent tutorials – search the web.
    3. Here is the official help site: http://www.linux-kvm.org/page/HOWTO.
  3. Examine KVM Details
    1. Verify that KVM is running. lsmod lists modules. Identify KVM related ones.

Capture the essentials, and a few screen shots of all the above in the report.

4.3 Task (Bonus) 3: (2*10 points) ESXi and Hyper-V

Repeat Task 1 but with ESXi and Hyper-V.

4.4 Task (Bonus) 3: (25 points) Create AMI Equiv

Create an equivalent Linux AMI, from AWS EC2, of your choice.

4.5 Task (Bonus) 4: (25 points) Vagrant

Learn what Vagrant (https://www.vagrantup.com/) is. Install it on a LHM. Deploy it. Write a short section on your experience.

4.6 Survey

[TBD This will be replaced by a Google Forms survey. Real Soon Now.]

  1. Your level of interest in this lab exercise (high, average, low);
  2. How challenging is this lab exercise? (high, average, low);
  3. How valuable is this lab as a part of the course (high, average, low).
  4. Are the supporting materials and lectures helpful for you to finish the project? (very helpful, somewhat helpful, not helpful);
  5. How useful was this lab to your understanding of virtualization?
  6. How many hours (approximately) did you spend on Task 1? 2? 3? 4?
  7. Do you feel confident on applying the skills learned in the lab to solve other problems with Docker? (low, average, high)
  8. Write a paragraph on your experience with Chameleon.

4.7 Turn In

  1. L4Report.pdf should be written as a tech report. Devote one section each for the above tasks. Use your judgement in what to include in these sections. Your overall goal is to convince any reader of your report that you have understood and carried out the tasks.
  2. ~ceg738000/turnin L4 ReadMe.txt myLabJournal.txt L4Report.pdf survey.txt

TBD Grading Sheet

5 References

  1. Prabhaker Mateti, Virtualization, Lecture Notes, 2015. Required Reading.
  2. https://fedoraproject.org/wiki/How_to_debug_Virtualization_problems Reference.

Copyright © 2015 pmateti@wright.edu www.wright.edu/~pmateti 2015-11-17