SUNY IT Master's Project Using Open Source Virtualization Technology In Computer Education By: Ronny...

21
SUNY IT Master's Project Using Open Source Virtualization Technology In Computer Education By: Ronny L. Bull Advised By: Geethapriya Thamilarasu, Ph.D. Fall 2011

Transcript of SUNY IT Master's Project Using Open Source Virtualization Technology In Computer Education By: Ronny...

SUNY IT Master's Project

Using Open Source Virtualization Technology In Computer Education

By: Ronny L. Bull

Advised By: Geethapriya Thamilarasu, Ph.D.

Fall 2011

Goals

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

Virtualization Overview

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.

Hypervisor

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

Hypervisor Cont.

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)

Hosts & Guests

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

My Choice

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

Hardware Specs

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

Hardware Specs Cont.

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

Hardware Issues

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

XCP Installation

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

Networking

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

Server Management

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

Server Pools

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

Bugs

Default Linux templates do not boot from CDROM

30 day license issue XenCenter snapshot issue (Version)

User Access & Authentication

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 Access & Authentication Cont.

User only needs access to port 443 of xen1-web 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

Conclusion

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

Conclusion Cont.

Lab environments can be consolidated Students can each have their own set of virtual

machines rather than sharing physical computers, maximizing their learning experience

References

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

More Stuff

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.