|
|
Virtualized Test Lab Basics with Hyper-V
|
Date Posted: Aug 31 2009
|
Author: Joe
|
Index:
|
|
Posting Type: Article
|
Category: IT Topics
|
Page: 1 of 4
|
Article Rank: from 1 Readers
Must Log In to Rank This Article
|
Forum Discussion Link
|
|
|
Virtualized Test Lab Basics with Hyper-V By: Joe
|
Welcome to one of the first non cooling, non gaming, and non random niche technology article on the site. This should give some idea of how the site is changing in the coming months.
The site is still ProCooling, but soon will be rebranded as something else... TheGeekness.com may be what it's called as I start to change the topic of the site from niche cooling technologies to general IT and Technology geekness. Then again I could forget all about it for a couple years like has happened so far
This article is the first of a series of articles I will be writing and posting on the site about IT related technologies. My coworkers have been asking me to write up something like this for some time, so here it is.
First a little about me
I am Joe. The same Joe who started this website (Procooling.com) back in 1999. Besides for running this website back in the day, running a few others and some LAN gaming events in WI, I am a professional Geek.
Since the mid 90's I have been doing IT work. While in high school I worked at local computer shops and did some low end consulting work. I ran some BBS's back in the day, I even ran my own computer building company until I realized just how much of a PITA it was. In the late 90's I started doing corporate/enterprise level gigs, and started on my way to where I am today as an accomplished engineer for a respected national consulting firm. I specialize in enterprise level Directory and Messaging migration design and implementations, and my skill set is expanding into Unified Communications and Virtualization.
So now why do an article on an abstract topic like a "Test Lab"?
In my line of work I need to constantly develop and master new solutions and technologies for clients. Many times I am tasked with a project where there is some aspect that I have not done before. In order to properly 'train' myself on what I am about to work on I normally run through the entire project in my home lab before ever getting onsite with a client, or before we touch any piece of their systems. I consider this my Proof of Concept (POC) run through to validate the processes or tools I am using.
This has become more and more difficult as the systems that I need to lab out require 64bit OSs, large amounts of RAM, and good disk speeds to properly represent what I am doing in the lab. Many large companies have their own test labs, but with the money crunch since 2008, few companies are willing to stand up such a lab as part of an implementation project. Or their lab's are currently being used for other projects.
Because of this I embarked on a constant state of upgrades on my home systems to give myself the ability to test most any scenario even with today's heavy applications. This was completely out of my own pocket, and done because I know the value of what this brings me. In the end I learned a good bit about Virtualization, Lab practices, and how to efficiently build, test, and fully utilize my test lab.
Before we get too far into all this, let's go over Virtualization and its relevance to the "Lab" topic.
Virtualization is the term that encompasses a physical host server running software on it that allows you to run multiple servers in a virtualized state. Meaning the virtualized machines (Guests) use portions of the resources off the normally beefy Host server. These Guests are fully functional servers, with their own distinct OS, own Disks, own BIOS settings, and own network information.
This allows a single server to be the host to many guest servers at no extra hardware cost above the initial purchase of the host server.
Over the years Virtualization has matured from being originally just a software abstraction layer that ran on an OS, to being the OS, and letting Guest servers access hardware almost directly there by making the performance almost as good as installing the guest on its own physical server. This generation of Virtualization hosts are called Type 1 Hypervisors. The Hypervisor itself is the abstraction and control layer between the guest servers and the host hardware There are a couple types. This is a universal term used to define all brands and makes of virtualization.
The common types are:
- Type 1 Hypervisors are Microsoft Hyper-V, VMware ESX, XenServer, etc... These are the top end for performance on the market but are also the most restrictive on what hardware they will run on and are some of the most expensive (but not always). These normally require hardware assisted virtualization (like AMD-V, Intel VT-x, etc...) instructions in the processor and chipsets. These can achieve much higher guest densities than Type 2 Hypervisors due to their more efficient design.
Recently Microsoft, VMware, and others have started releasing these industrial grade Hypervisors for free. Using the catch that if you want to do high end management you need to buy the expensive management tools (Virtual Infrastructure for VMware, System Center Virtual Machine Manager for Microsoft), but you can use the Hypervisors themselves without those tools in a basic configuration. Below is a slide from MS summing up in somewhat abstract terms how their Hyper-V works.
- Type 2 Hypervisors are more software emulated like VMware workstation/Server, Virtual PC, Parallels, etc... These will normally install and run on almost any hardware. That compatibility comes at a cost of efficiency. Guests normally have to run under a few additional layers of abstraction before they can interface with the hardware. This impacts performance, and limits how many guests can operate on a host. VMware Workstation is probably the best known for this as it was one of the first virtualization products on the market back in the late 90's.
So what does this give us in respect to a test lab eh?
By being able to use one or a few physical hosts, someone is able to operate potentially dozens of virtual guest servers to emulate any environment. In some cases you can have elaborate virtual networks setup with simulated WAN links, and restrictions. This allows almost anyone with hardware that is becoming generally available for low cost to construct and use lab environments for training, education, proof of concept work without having to deal with red tape at work or politics around testing new technologies.
Being a consultant I heavily utilize my lab weekly if not daily to validate concepts and processes that I otherwise would be unable to.
Now with that said let's look at what an evolution I have taken with hardware in the last few years of using virtualization to lab out stuff.
My First Test Lab
Around the 2003 time I started doing some virtualization to lab out different technologies and such as Exchange 2003 was coming out. I had been using VMware Workstation on my laptop and PC for years before that, but when I loaded VMware Server (freeware server) on my server at home that's when stuff started to change with how I used it.
I ran Email systems, tested Directory upgrades, build out web servers to test the creation of this website on (which I still have the Fedora Core images of), etc... But that was all done on a server with the specs below:
First "Lab" Machine:
VMware Server (running on Windows 2003)
Intel P4 2.8Ghz
2GB DDR Ram
Single drive used for the VM's
One NIC
It worked fine for what it was... Running Linux VM's. But when I changed jobs and went back into the consulting field again in 2006 stuff had to change!
My second LAB server:
VMware Server (Running on Windows 2003 R2)
AMD X2 x64
4GB DDR Ram
2 Drives used for VM's in stripe
One Nic
This server worked great, and was a perfect lab machine from 2006 - mid 2007. The application that made this just fall on its face was Exchange 2007. Exchange required massive amounts of memory to work good, and preferred x64. I was unable to lab more than one or two x86 Ex 2007 servers before performance would dive. That and the fact VMware server did not support x64 hosts at that time and the AMD CPU didn't support virtualization offloading. So I was looking at what my options were and was pondering going to a VMware ESX based virtualization platform.
ESX is very mature, well supported, FAST, and has one helluva tool suite for it. I was about to go that route. But then, Microsoft released their 2008 OS with native virtualization that rivaled and in some cases bested ESX in disk and memory performance. That and I could still use the Host OS to run my home functions.(Active Directory, File Serving, DNS, DHCP, Media sharing, etc...)
My requirements for a "perfect" home server are:
- Lots of disk space for media, files, etc... (not VM related)
- Hosts my home services like DHCP, DNS, Active Directory, File Sharing, uPnP media sharing, etc...
- Hosts my VM Lab without impacting my home service performance.
- VM Lab should support many large x64 OSs and apps at the same time.
- The Lab should be accessible via the web (HTTPS)
- The server should allow for easy backups
That's a tall order to do on a budget. But I did it. So let's go over what decisions I made, products I chose, and why I did both.
|
|
|
|
Random Forum Pic |
|
From Thread: custom-built clear case (its finally DONE!!!) |
| ProCooling Poll: |
So why the hell not? |
I agree!
|
67%
|
What?
|
17%
|
Hell NO!
|
0%
|
Worst Poll Ever.
|
17%
|
Total Votes:18Please Login to Vote!
|
|