Windows Server 2008 Hyper-V virtualization and Server Core are two features that are supposed to go great together. The Server Core installation option is the slimmed down command-line-only interface for Windows Server 2008 R2, with no GUI available.
To manage the operating system you can connect to the command-line interface or use Windows 2008's Server Manager tools. When considering an all-virtual machine environment, this is a great option since you don't have to eat up resources supporting a GUI for a host you'll hardly ever use. Keeping the host thin provides the opportunity to give more resources to your virtual machines.
If you look at Server Core's requirements, it only needs 512 MB of RAM to operate. Contrast that with the normal 2 GB or 4 GB reserved for the host operating system in a typical full installation of Windows Server. This means you can gain RAM, disk space and processor cycles back from the host, while also reducing the attack surface of the operating system by keeping installed bits to a minimum.
Another option is Microsoft Hyper-V Server 2008 R2, which is a standalone product that only contains the bits necessary to run a Hyper-V environment within a Server Core installation. Similar to a VMware installation, it has a singular purpose. From a licensing aspect, it is free, so depending on your licensing structure this could save you some cash. Just note that Hyper-V Server 2008 R2 does not include guest virtualization rights like Windows Server 2008 R2 Enterprise, which offers four Windows Server guest licenses.
Where Hyper-V on Server Core fits
Server Core seems like the perfect fit to use with a Hyper-V environment, and technically it is. But just because the technology is there doesn't mean it's necessarily the best fit for your organization, and there are some situations where it may not be appropriate. In order to understand how Hyper-V on Server Core can impact your support organization, let's run through a few scenarios.
Today, when you perform a traditional Hyper-V installation, you can RDP directly to the server, fire up Hyper-V Manager, and graphically start up a new virtual machine using the New Virtual Machine Wizard. Naturally this process is different with a Server Core installation. Sure, the command line is scriptable, automatable, and essentially just a learning curve for your system administrators, but can your organization handle that learning curve? Command-line finesse continues to fade as a lost art, even though it continues to be applicable and helps support great automation options.
Still, with Hyper-V on Server Core, not everyone has to be a command-line expert, just like a support person doesn't need to be an IOS expert in order to check port status on a Cisco router. A few commands or specific documentation can often provide support for most cases where the command line is required -- but the requirement is still there. If you have a staff that is used to supporting the environment via the GUI, it may be cheaper to account for a couple extra gigabytes of RAM in each server than to explain to your manager why you need to add to the skill sets of your support administrators.
Putting the GUI back in Server Core
Also consider that once Server Core is set up, you can manage those servers using remote tools much like you can with a full installation. Remote Server Administration Tools for Windows Server 2008 R2 and Windows 7 provide a GUI frontend to all of the typical areas of interest on your server. It's not necessary to know how to browse the event logs from a command prompt during normal operations. You will, however, have to drop to the command line to get set up and do things such as join the computer to the domain, enable Windows updates, and modify the Firewall settings to allow for RDP -- but even all of that can be scripted to integrate into an automated installation.
If you are familiar with the remote tools, you should be able to do the bulk of the work needed via these remote interfaces. For example, when you want to spin up a Server Core Hyper-V virtual machine, just run the Hyper-V Manager from a different machine. It's still the same interface, and you still have the GUI.
Another approach is to keep your skilled virtualization experts locked away in a tower of specific technology. This is how many VMware shops support their virtualization; by having a specific group that deals with the virtualization platform. This makes sense in a sizable organization since you won't just be dealing with the hypervisor on servers, but also the management of the entire virtualized environment, including toolsets such as System Center Virtual Machine Manager.
You can allow your general Windows administrators access to the guest servers, but not to the parent host, leaving that to the specialists. All of this depends on the size and scope of your IT organization. Specialization is typical in a large company, but if you are working in a smaller environment, having the ability to support Server Core as well as the guests may be a necessity.
Putting the pieces together
The approach to Hyper-V on Server Core is up to you, but you'll have to gauge your staff's comfort when it comes to being able to sling out a few text commands versus right-clicking through a support call. When provisioning and troubleshooting a server that is having remote control issues, you'll need to know which command-line tools to use and how to be effective with them. Although you can support using remote GUI tools for normal operations, when you have a "server down" situation, you'll need to be ready to get dirty with the console, so make sure your organization can handle it if before taking advantage of Server Core.
ABOUT THE AUTHOR
Eric Beehler has been working in the IT industry since the mid-90's, and has been playing with computer technology well before that. He currently provides consulting and training through his co-ownership in Consortio Services, LLC.