Beginning a Server Virtualization Project
In Part 1 of this series we discussed the four types of virtualization—application, desktop, server and storage virtualization. In this article we plan to focus specifically on server virtualization. While this article will look at virtualization in a general sense, we will link VMware’s terminology for virtual environments, since they are perhaps the most well-known of the virtualization platforms available, to some of the generic terms for those components.
Server virtualization is perhaps the best place to start when beginning a virtualization project. There are many reasons for this but one of the most important would be that it is a bit easier, and less costly than the other forms of virtualization. It is easier because IT can maintain complete control over the aspects of the changeover without disrupting end users. Server Virtualization is less costly because you are consolidating hardware. Less hardware not only reduces physical overhead but also reduces the time that will be spent maintaining and upgrading the physical devices. It typically will mean that you simply repurpose the servers you have to handle the load or work of multiple servers.
Components Needed for Server Virtualization
Host Server(s) –
This physical device is the holding tank for your virtual machines. This machine will have the CPU, RAM, and possibly HDD storage that will be shared between all of the Virtual PC’s.
While it should go without saying, your ESXi servers need to be outfitted with proper CPUs, memory and hard drive space to accommodate these multiple OSs. Under-powered and under-resourced ESXi servers will not meet your virtualization goals of saving time and money. The hardware not only needs to be adequate, but also needs to be supported by VMware ESXi.
Hypervisor / ESX/ESXi –
The software that runs on this box to host or provide the interface between the hardware and Virtual PC’s at the virtualization layer, is called a Hypervisor in generic terms, or ESXi (newer ESX) software in a VMware environment. The ESXi as a hypervisor is a very small and light weight OS based on Linux. It’s interface is very basic, and simply provides enough ability on its frontend in order to provide some IP addressing and security.
Management Client / vSphere Client –
Once this Host box has its Hypervisor installed, it will need to be managed from another machine. In a VMware environment, this host could be managed as a standalone host using vSphere Client. This tool will allow you to connect to the host, create virtual machines, and power on/off/suspend those machines, as well as other management activities. These will be “virtual” instances of the same physical servers you used to have sitting in the control room or IT department on separate pieces of hardware. Now they can all be located (installed) on a single device. The management tool will also allow you to run a window that will allow you to view and interact with these virtual machines, and share local or other data. This also allows you to install a new OS to the virtual machine. New machines can also be cloned from other machines or other machine templates. There are many tools available to completely manage this environment.
Management Server / vSphere Server –
VMware also has a product that can manage multiple ESXi servers at one time, as well as virtualized or pooled network storage. This type of system can then provide a connecting client with a system connection, rather than a simple client/server connection. If any ESXi host is unavailable, the client is served by any of the other available ESXi hosts. This product is called VMware vCenter Server. While this product could be installed on a virtual machine, thereby managing itself more or less, in a typical and more robust system it will be installed on its own separate box.
This software also bridges the system with many other more advanced features. One such feature is vCenter Update Manager to provide automatic updates for the system and virtual machines. Another is VMware vMotion which provides for a seamless uninterrupted migration of a virtual machine from one host to another.
After the migration
Once the servers are migrated to a virtualized environment, you use VMware vClient or other client access tools to view and manage the OS on running on the virtualized servers. For other clients that are accessing the services being performed by the server, they will still continue to access it via the network just like before.
Benefits of Server Virtualization
Reduced Maintenance Costs
We mentioned it earlier but it’s worth saying again—fewer hardware devices to maintain means fewer hardware components to manage, fewer hard drive replacements, reduced energy usage, and smaller footprint overall. According to VMware and IDC, IT staff can see a 30-33% reduction in workload by converting to a virtual environment. This time savings can be used to reduce overtime or allow IT to spend more time on optimizing other business technologies.
Server failure can almost be eliminated in a virtual environment. This does not mean that redundant systems are no longer needed but by having multiple server instances available in your virtual environment you can test upgrades and other software changes in a virtual space without having to disrupt the live environment. VMware’s vMotion, High Availability, and Data Recovery can be used to eliminate or greatly minimize the impact of any individual server or hard drive failure.
Server virtualization essentially creates a free testing zone for changes to server configurations since no additional hardware is required. Simply make a copy (snapshot) of a current version of your virtual server and run and many test and configuration changes as you wish. If there is a failure, simply remove the bad image and try again with the good one.
Terminal Server Virtualization
Perhaps the most optimal form of server virtualization is Terminal Server virtualization. Microsoft Terminal Services allows for one-time installation of applications that can be deployed to multiple users. Instead of installing user apps at each desktop, administrators install applications once at the server level and they can be deployed to as many users as one has licenses. Creating a virtualized Terminal Server can take server efficiency to an even higher level than virtualization alone. It reduces the amount of installation and configuration necessary when setting up applications for end users on the virtual environment.
This line of thought naturally leads to considering the desktops to which virtual applications and/or virtual OSs will be delivered. One might question the need for a fully-equipped PC for end users if all of the OS and application resources are being handled at the server level. Bingo! Using a PC as the delivery point for applications served through standard terminal services or virtual terminal services is overkill. The only processing required at the terminal with this configuration is the video and keyboard input.
Zero Client Terminals Make Sense
So what is the best option for the end user in this environment if not a PC? Thin client computers are certainly the obvious choice considering the lower hardware cost. A thin client maintains a lower price point than its PC counterpart because it has a smaller processor, less memory, no CD/DVD drives and no hard drive or storage media at all. Many thin clients will carry a full OS on board to connect to terminal servers, but zero client or ultra-thin client computers that have no OS are becoming more common.
The benefit of zero clients is that they fully rely on their servers for the OS and other configuration information. This keeps all of the control located at the server level—essentially making the client a zero-trouble device. All application, configuration and maintenance takes place in the IT environment and the client is only used for end user access to the system, greatly reducing time and money spent on maintaining devices on the plant floor.
What You Need for Server Virtualization
This physical device is the holding tank for your virtual machines. This is where the virtual machines access the CPU and RAM for their operation. This machine is responsible for the processing power for the virtual machines so you’ll need to make sure it fortified with plenty of memory, hard drive space, processing power, etc., and that it is supported by your Hypervisor (the virtualization layer software).
VM Management Computer
This machine(s) will run the software that allows management of the system of host servers. In our examples we used VMware’s VCenter Server and VSphere Client to configure and manage the virtual machines on our VMware host server referred to as an ESXi server.
By Tom Jordan