SUNY IT Master's Project Using Open Source Virtualization Technology In Computer Education By: Ronny...
-
Upload
primrose-oconnor -
Category
Documents
-
view
212 -
download
0
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.