Using Open Source Virtualization Technology In
Computer Education
By: Ronny L. Bull
Advised By: Geethapriya Thamilarasu, Ph.D.
Fall 2011
Create a scalable virtualization server cluster using Open Source technology
Used by students & faculty for labs, research,
& development
Used by CS Admins to migrate aging physical servers to virtual environment
Provide fine grained user access to virtual machines via the web using current LDAP authentication
Allows an organization to leverage the power of multi-core server hardware to host multiple virtual servers on a single physical host.
Consolidates a large server farm down to a few powerful machines which have the advantage of saving space and energy costs while still retaining the same level of service that they previously relied upon.
Makes server virtualization possible by creating a basic abstraction layer of software that sits directly on the hardware below any operating system.
Responsible for CPU scheduling and memory partitioning of the various virtual machines running on the physical hardware
Controls execution of virtual machines as they share the common processing environment and resources
Has no knowledge of networking, external storage devices, video, or any other common
I/O functions
Most enterprise virtualization solutions offer their hypervisors for free. ( Microsoft Hyper-V,
Citrix XenServer, VMWare ESXi)
The Host operating system is a privileged virtual machine that has special rights to access physical I/O resources as well as manages the other virtual machines running on the system
The Guest operation systems have no direct access to the physical hardware on the machine, and rely on the host to manage them
The Host must be online before any Guests are allowed to be started
Most enterprise virtualization solutions offer free hypervisors however the utilities to manage them can be expensive
Enter Xen, the open source hypervisor
Citrix bases all of it's products on Xen
Xen Cloud Platform (XCP) is an open source implementation of Citrix XenServer
CentOS Linux based distribution
Minimal documentation
Motherboard: SUPERMICRO MBDX9SCM-O
Server Motherboard (SandyBridge) w/ 2 integrated 1000MB Intel NIC's
Processor: Intel Xeon E3-1240 @ 3.30GHz
Quad Core w/ Hyper Threading
RAM: 16 GB Crucial DDR3 SDRAM ECC
Unbuffered Server Memory
Hard Drives: 2x Seagate Momentus XT
500GB Hybrid
Hard Drive Mounts: 2x Mushkin Enhanced drive adapter bracket
Rack Mount Case: Antec Take 4 + 4U With
650W Power Supply (Quiet Computing)
Rack Rails: Antec 20" Side Rails
Total Cost Per Server: $1,331.46
Repeatable lockups on two of the three servers when pushing heavy I/O
Performed extensive hardware diagnostic and stress tests
Swapped parts
Found both motherboards were faulty and had to be RMA'd
Installed from CDROM
Setup management interface on Admin subnet
Created local ISO storage repositories
Extended the Default LVM Volume Group to include the remaining 450GB from second hard drive
Created firewall rules for the Eth0 management interface, connected to Admin subnet
Created VLAN entries on all of the servers to support all of the VLAN's on the network
Assigned all VLANS to Eth1 – VM interface
Assigned Eth1 to 201 VLAN – Student, and gave it an IP address
Connected Eth1 to trunked port and setup firewall rules for access
Can not clone servers to produce new ones because of UUID's on resources
Each server must be setup from scratch
Can use Citrix XenCenter to manage multiple servers from a single remote location
Export, Import, Create, Connect To, & Manage
VM's
Snapshots, Resource Management, CPU
Priority, & Templates
Created three server pools
CSAdmin – For migrated CS dept. servers
NCS-Student – NCS Lab server
CS-Student – CS Lab/Research server
More servers will be added as they are retired from ITS and become available
Default Linux templates do not boot from
CDROM
30 day license issue
XenCenter snapshot issue (Version)
https://xen1-web.cs.sunyit.edu
XVP Appliance – turnkey virtual appliance created to manage Citrix XenServer & XCP servers
LDAP integration
Fine grained user access control on a per machine or per pool basis
Web based using https
Access & Setup via command line utility
User only needs access to port 443 of xen1web appliance
All console connections to virtual machines are done over the standard VNC TCP port
5900 from xen1-web to the xen server the virtual machine is hosted on. This is done on the local network, users do not need port 5900 access to anything!
Users can open multiple consoles at the same time in the same session
Xen Cloud Platform proved to be a stable and robust competitor to the other enterprise level virtualization options that are currently offered
Offers a low cost (hardware only) highly scalable solution to server virtualization, and allows for the creation of Windows, Linux, and
FreeBSD guests
Virtual machines can be accessed securely from anywhere via web browser
VLANs allow separation for security
Lab environments can be consolidated
Students can each have their own set of virtual machines rather than sharing physical computers, maximizing their learning experience
Xen Overview: http://xen.org/files/Marketing/HowDoesXenWork.pdf
Citrix XenServer 5.6 Feature Pack 1
Administrator's Guide: http://support.citrix.com/article/CTX127321
Xen Cloud Platform: http://xen.org/products/cloudxen.html
Citrix XenCenter: http://community.citrix.com/display/xs/XenCenter
XVP Appliance: http://www.xvpsource.org/topic=about&page=xvpappliance
My notes, paper, and a copy of this presentation can be found at: http://ronnybull.com/portfolio/masters-project
Within my notes all of the setup commands are documented with step by step instructions.
Source code for my scripts are also included for bug workarounds.