{"id":212,"date":"2009-09-22T08:47:05","date_gmt":"2009-09-22T16:47:05","guid":{"rendered":"http:\/\/greg.porter.name\/wordpress\/?p=212"},"modified":"2009-12-02T08:24:18","modified_gmt":"2009-12-02T16:24:18","slug":"how-we-use-virtualization-in-the-computer-science-department-at-cal-poly-slo","status":"publish","type":"post","link":"https:\/\/greg.porter.name\/wordpress\/?p=212","title":{"rendered":"How we use virtualization in the Computer Science Department at Cal Poly, SLO"},"content":{"rendered":"<p>Historically, students and to a smaller degree faculty members, have requested server or other computing resources from the department to support projects or instruction. \u00a0In the past, the department was unable to satisfy these requests in a wholly satisfactory fashion. \u00a0Often students were given &#8220;<span id=\"OBJ_PREFIX_DWT183\"><span id=\"OBJ_PREFIX_DWT184\">yesterday<\/span><\/span>&#8216;s&#8221; aging hardware to use. \u00a0In some cases, depending on what leftover servers were available, they might not get anything at all.<\/p>\n<p>We started experimenting with the possibility of using virtualization to better serve these needs mid 2005. \u00a0<!--more--><\/p>\n<p>At this time we had a number of servers running the Solaris operating system, and <a href=\"https:\/\/www.sun.com\/bigadmin\/content\/zones\/index.jsp\">one of the features Solaris offers is &#8220;zones&#8221;<\/a>, virtual servers which run on top of one OS instance. \u00a0This was a promising start, but at the time zones only ran the Solaris operating system, and many projects wanted to use Linux or other operating systems. \u00a0Since we had &#8220;Solaris zones or nothing&#8221; some projects were retooled to run on Solaris, although the project owners in some cases chafed at the Solaris only restriction.<\/p>\n<p>A year later, we explored the use of <a href=\"https:\/\/www.vmware.com\/products\/esx\/\">VMware ESX<\/a> for virtualization. \u00a0Through the efforts of a CSC alumni, Kevin Kress and the VMware Academic program, we acquired a couple licenses of ESX (2 licenses of standard, 4 sockets) and started offering ESX based virtual machines for student projects and for instruction. \u00a0This proved to be highly popular, with students using dozens of vm&#8217;s for projects and instructors using vm&#8217;s for instruction.<\/p>\n<p>As the requirements for virtual machines grew, the department invested in the infrastructure required to host them on. \u00a0The department purchased a small Fibre Channel Storage Area Network (<a href=\"https:\/\/h18006.www1.hp.com\/products\/quickspecs\/12234_div\/12234_div.html\">HP EVA 4100<\/a>) as a backing store and a number of <a href=\"https:\/\/www.dell.com\/us\/en\/dfb\/servers\/pedge_6950\/pd.aspx?refid=pedge_6950&amp;cs=28&amp;s=dfb\">Dell PowerEdge 6950 servers<\/a> suitable for hypervisors. \u00a0As the licenses provided through the Academic program were limited in licensed features, we paid to upgrade them (Upgraded to Enterprise).<\/p>\n<p>In 2009, we needed more capacity and attempted to purchase more licenses to put more physical hosts in production. \u00a0We got the purchasing approvals required and submitted the paperwork required to purchase 8 more licenses of ESX (&#8220;new&#8221; style &#8220;by the socket&#8221; licenses, enough Enterprise licenses to cover 2 Dell 6950 4 socket servers). \u00a0Unfortunately, after the process was started, the looming budget crisis came to a head, and all pending purchases were cancelled. \u00a0This left us running with one physical host properly licensed, and 2 others running on evaluation licenses.<\/p>\n<p>In <span id=\"OBJ_PREFIX_DWT185\"><span id=\"OBJ_PREFIX_DWT186\">November<\/span><\/span> 2009, we have over 100 virtual machines in use. \u00a0Most of these are student projects. \u00a0We have supported classes\u00a0 where each enrolled student was issued their own vm for classwork. \u00a0Students use the vSphere client to connect to our vCenter management server, and then perform typical vm management tasks like loading an operating system, and configuring their vm. \u00a0In this way, students are getting direct hands on experience with VMware tools.<\/p>\n<p>Probably one of the most prolific faculty users of virtual machines in instruction is <a href=\"https:\/\/www.csc.calpoly.edu\/faculty\/djanzen\/\">Dr. David Janzen<\/a> in Software Engineering. \u00a0He teaches SE Capstone classes. \u00a0These are year long classes where students design, build and deploy substantial projects on virtual machines. \u00a0He says that typically he has 3 or 4 teams a year, and each team has at least 2 virtual machines, one for development and one for deployment. \u00a0He was one of the original users of Solaris zones before ESX in 2006. \u00a0He says that his most substantial obstacle during that year was getting the zones from us and dealing with the idiosyncracies of the Solaris only zones.<\/p>\n<p>Since then, Capstone projects have used virtual machines hosted on ESX. \u00a0These vms are fast and easy for us to provision, and student teams can have multiple vms to experiment with tools on different operating systems. \u00a0For example, a team might be debating the benefits of LAMP on Linux versus .NET on Windows. \u00a0Now they can get 2 vm&#8217;s and actually try both and see what works better for them.<\/p>\n<p>I taught 2 classes recently <a href=\"https:\/\/wiki.csc.calpoly.edu\/csc358\">CSC 358 &#8220;Linux System Administration&#8221;<\/a> (Cal Poly), and <a href=\"https:\/\/wiki.csc.calpoly.edu\/cis122\">CIS 122 &#8220;Introduction to Linux&#8221;<\/a> at <a href=\"https:\/\/academic.cuesta.edu\/bused\/\">Cuesta College<\/a>, using Department provided vms. \u00a0 \u00a0Classes like this in the past were traditionally taught with a limited number of physical servers and students had to work in large teams. \u00a0In both of these classes, I issued each student their own vm, and students used the vSphere Client to connect to vCenter, to configure, power on or power off their machine, get console, and load operating systems and software. \u00a0Students reported that they really like this approach which allowed them the &#8220;feel&#8221; of having their own server.<\/p>\n<p>Since it doesn&#8217;t appear likely that we will get enough ESX licenses any time soon, we have been exploring other options. \u00a0We currently are evaluating <a href=\"https:\/\/www.citrix.com\/English\/ps2\/products\/feature.asp?contentID=1686939\">Citrix XenServer 5.5<\/a> running a pool on top of <a href=\"https:\/\/www1.euro.dell.com\/ae\/en\/enterprise\/Storage\/dell_ps5000e\/pd.aspx?refid=dell_ps5000e&amp;s=pad\">Dell PS5000E array<\/a> of iSCSI shared storage. Although free XenServer lacks some of the enterprise features we have become used to like high availability (HA), so far it appears that it <span id=\"OBJ_PREFIX_DWT187\"><span id=\"OBJ_PREFIX_DWT188\">may<\/span><\/span> be a suitable substitute if required.<\/p>\n<p>Other challenges: \u00a0In our labs, we support something like 300 ageing workstations. \u00a0Replacing these as they age is an expensive proposition. \u00a0We are currently exploring ways to leverage our virtualization investment to perhaps use aging workstations as clients to offer virtual desktops. \u00a0VMware offers VMware View for this, and other vendors have similar products.<\/p>\n<p>For reference, our existing ESX HA\/DRS cluster is:<br \/>\n3 Dell 6950 physical hosts (4 socket machines) with 32 GB RAM running ESX4.<br \/>\nHP EVA 4100 FC SAN with 15 TB as a data store for vms.<br \/>\nDell 2950 running vCenter for cluster management.<br \/>\nDell 2850 running Oracle 11g as back end for vCenter.<br \/>\n<span id=\"OBJ_PREFIX_DWT191\"><a href=\"https:\/\/labs.csc.calpoly.edu\/\" target=\"_blank\"><br \/>\n<\/a><\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Historically, students and to a smaller degree faculty members, have requested server or other computing resources from the department to support projects or instruction. \u00a0In the past, the department was unable to satisfy these requests in a wholly satisfactory fashion.&hellip; <a href=\"https:\/\/greg.porter.name\/wordpress\/?p=212\" class=\"more-link\">Continue Reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-212","post","type-post","status-publish","format-standard","hentry","category-content"],"_links":{"self":[{"href":"https:\/\/greg.porter.name\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/212","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/greg.porter.name\/wordpress\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/greg.porter.name\/wordpress\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/greg.porter.name\/wordpress\/index.php?rest_route=\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/greg.porter.name\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=212"}],"version-history":[{"count":9,"href":"https:\/\/greg.porter.name\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/212\/revisions"}],"predecessor-version":[{"id":232,"href":"https:\/\/greg.porter.name\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/212\/revisions\/232"}],"wp:attachment":[{"href":"https:\/\/greg.porter.name\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=212"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/greg.porter.name\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=212"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/greg.porter.name\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=212"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}