30 Jun 2011

Planning for vSphere: Key Considerations for a Successful Deployment

The fundamental assumption in all my vSphere4 articles is obviously that you are intending to carry out all the work yourself, rather than bring in outside experts to do it for you. I believe that none of the procedures involved should be beyond the skill level of the average IT Manager, provided they put in the necessary preparation and practice. However evaluating systems in a lab is a major step away from deploying them in a live business environment, with both the immediate cost of hardware/software and the potential cost of disrupting business productivity to take into account. Therefore please consider carefully whether you are ready to take this on yourself, or if it would be more prudent to seek assistance. At the very least this article should help you to gain a much better understanding of what is involved, and so ensure that you are getting value for money if you do outsource the work.

Assess Your Requirements

virtual_infrastructure

To begin, when considering a vSphere deployment, there are two basic areas where you need to assess your requirements; virtual machine resource capacity and vSphere features such as high availability. As well as the immediate needs you also need to consider what they will be in the future too, as a small additional outlay now could save you having to spend a much bigger sum a year down the line. One of the key benefits of virtualization is that you can separate your software upgrade cycle from your hardware upgrades, so you don't have to worry about whether you should update your server OS's when you virtualize them. All the same you do need to consider what the resource requirements will be if you undertake a software upgrade cycle 18 months later, as new software almost invariably requires more resources than its predecessor.

The IT industry used to be locked into a 2/3 year upgrade cycle and although this has become less of a definite rule in recent years many companies still expect the IT budget to be planned around such a cycle. When planning your virtualization project you may seek to increase your available budget in return for extending the upgrade cycle - four or even five years may be plausible nowadays. All the more so then you need to have a good idea of what your business' IT requirements are likely to be over that period so you can anticipate them in your planning now.

Resource Capacity

It should not be difficult to assess what your vSphere Infrastructure resource requirement will be as all the information is already available to you. Once you have established which servers you intend to virtualize you can use tools such as Windows' Perfmon to monitor resource usage and establish average and peak benchmarks. The key figures you need to collect are:

CPU Utilization - one of VMware's favorite marketing statistics is that most servers only average 10% CPU utilization. Smaller networks tend to make better use of their servers but you should still find it is well below 50%. Work out the figure in MHz - if you have a dual core 2GHz CPU with both cores averaging 25% usage then that server's CPU resource requirement will {25% x 2,000 x 2} = 1,000MHz.

Memory Usage - Both Windows and Linux are pretty good at managing memory so there's not so much point in looking for a utilization figure, instead work on the server's existing memory allocation but consider adjusting it if usage is either particularly high or low. For example, if your server has 1GB of physical memory but the PerfMon figures show frequent swap file usage then you would probably want to allocate it 2GB when virtualized.

Storage Requirements - this divides into two categories, the first being simply how much storage the server requires - i.e. how much it is being used now with a sensible allowance for future growth. The second category is one that virtualization amateurs frequently omit to consider, the server's disk IO requirements. In PerfMon this figure can be viewed under the "Disk Transfers per second" category and can vary from an average of around 10 for a Domain Controller to over 150 for an Exchange or SQL Server. Recording the overall average transfer figure is not so useful here due to the "bursty" nature of disk access, instead you need to look at the average during periods of heavy activity, which may be much higher.

Network Utilization - with Gigabit networking it is rare to find a server which averages over 10% utilization but like disk transfer rates you need to look at the average during busy periods.

Using PerfMon to identify resource usage

Using PerfMon to identify resource usage

vSphere Feature Requirements

This can make a significant difference to the cost of your vSphere licenses so you need to carefully consider whether the business benefits are justifed. For the smaller network features like Dynamic Power Management are unlikely to have much relevance, and neither will Storage vMotion or vShield zones. The key decider is High Availability, and what level of HA is required - standard, which will restart a VM within a few minutes of failure, or the instantaneous failover offered by Fault Tolerance.

When you take into account that even standard High Availability requires SAN storage and a vSphere Essentials Plus license it can at least double the cost of a small vSphere Infrastructure, so there has to be a solid business case for it. However many SME's seriously underestimate the cost implications of IT downtime for their business so it may well be worthwhile conducting a proper impact assessment at this point in your planning. The options for licensing vSphere4 and the relative costs of various features are covered in much more detail later in the article.

Part 2 - Determining Hardware Requirements

You should now have a good idea of what you will require from your vSphere4 Infrastructure and so now are ready to look at what hardware you will need for your project. An initial issue to decide is whether you will be looking to purchase new hardware or whether you can reuse existing servers as hosts. There are two important factors to consider here, first of all vSphere licensing makes it desirable to use high power quad core CPUs, and the High Availability feature requires the hosts to be as identical as possible. Should you want to keep your initial expenditure down then it is not a major task to replace your host servers at a latest date, in fact one of the benefits of virtualization is the ease of changing host hardware.

Minimum Hardware Requirements

For all but the most basic of setups you should be planning on a minimum of two host servers, obviously this is essential for High Availability but even if this is not required multiple hosts will give you much more flexibility. You will also need a separate system to act as your Virtual Center server, which manages and controls the ESX host servers. For small vSphere deployments of less than five hosts a normal desktop PC can suffice for this function, as long as it runs at least Windows XP Pro and 2GB RAM is recommended.

Example of a basic two host vSphere topology with SAN
Example of a basic two host vSphere topology with SAN

Choosing Server Hardware

Whatever hardware you are intending to use as part of your vSphere Infrastructure you should always ensure it is on the Hardware Compatibility List, otherwise you will be taking a major risk and will not be eligible for support. Bear in mind as well that the latest server chipsets and CPUs (e.g. Intel Nehalem) incorporate several new features specifically designed to improve virtualization support. The author is somewhat partial to Hewlett Packard servers, their latest "G6" range of rackmount servers are particularly optimized for vSphere, for example their motherboard mounted SD card and USB slots allow ESXi to be embedded for a "diskless" server.

Whichever manufacturer you opt for do not neglect the reliability upgrades available, in my experience features such as redundant PSUs and hot swappable components are well worth their cost. Consider that each host will be running several virtual servers so any problem which takes it offline could potentially cripple your network until resolved. Care should also be taken to ensure that ancillary equipment like network switches are also up to the job, they should certainly be Gigabit and advanced features like vLANing may be useful too. A good UPS to protect all the equipment against power interruption is also important.

Adding up your resource usage figures from before will enable you to establish what sort of server specification you are going to require, although there are a couple of modifying factors to be taken into account. First of all you need to make an allowance for growth in resource usage over the expected lifespan, both for the existing virtual machines and any new VMs you may wish to deploy. The other factor is High Availability, if you intend to provide failover resilience then you have to allow enough resource capacity to cope with the loss of a single host.  vSphere can cope with resource over-allocation, for instance if a host server has 8GB of RAM the VMs running on it could have 10GB of RAM allocated, but there is a performance impact so the situation is best avoided except for emergencies.

Although your resource requirement assessment may indicate that a single Gigabit network connection will provide plenty of capacity for all of the VMs you plan to run on a host server it is still a good idea to specify at least dual NICs. There are several good reasons for this, not least being that vSphere supports failover on network connections so additional NICs will provide redundancy. In addition to the VM requirements several vSphere features also require substantial network bandwidth, an iSCSI SAN should have at least one dedicated Gigabit NIC on a host server, whilst vMotion and Fault Tolerance should ideally also have their own Gb NICs as well. Considering the relatively low cost of dual or quad port Network Interface Cards if you are intending to use any of these features you should include them with your host servers. Again when specifying additional components for your host servers make sure that you check they are listed on the HCL, otherwise you could well find that ESX will not recognise them.

Storage Requirements

When it comes to specifying the storage for your vSphere Infrastructure the first decision is whether you will require a Storage Area Network or not. It is essential if you wish to implement High Availability as that requires the VMs to be stored on shared storage available to all the hosts. As well as simple capacity your storage needs to be capable of meeting the IO requirements of the VMs, it has already been mentioned this is the main area many people neglect when specifying their vSphere Infrastructure, which can severely affect performance. The whole area of storage and SANs in vSphere is complicated enough to warrant a separate article, which will be published soon. As an indication of the costs involved, the cheapest hardware SAN currently certified by VMware is Dell's MD3000i, a configuration suitable for a basic two host Infrastructure currently retails at around $12,000.

You should now be ready to get started with deploying your vSphere4 Infrastructure, once you have your hardware in place you can install vSphere4 in Evaluation mode and start using all of its features. However although VMware allow a generous 60 days free evaluation, which should be plenty of time to get to grips with it, you will need to purchase a license before you can go live.

Part 3 - vSphere Licensing

In the first two parts of this article, we looked at how to go about establishing your virtualization requirements and deciding on which hardware you will need. In order to complete your vSphere planning the final decision is what licenses you need to purchase to enable the features you require. At first glance VMware's licensing options may seem complex, and expensive, but for most implementations you will in fact find it is quite simple.

The vSphere4 Platform
The vSphere4 Platform

vSphere Licensing - Editions, Bundles & Acceleration Kits

The best value when purchasing vSphere licenses comes from choosing one of VMware's "bundles", packaged to offer various levels of features to suit different target markets. VMware divide their bundles between "Small Business" and "Mid-Size & Enterprise Business", with two options in the former; "Essentials" and "Essentials Plus",  and four in the latter; "Standard" through to "Enterprise Plus" all called "Acceleration Kits". All of these bundles include ESX/i host licenses and a vCenter Server license, with compulsory "SnS" (support and service, i.e. product updates) subscription.

Host licenses comprise ESX or ESXi (you can choose at installation) in one of the four available feature sets (Standard, Advanced, Enterprise and Enterprise Plus) and are licensed per CPU rather than per physical server,  Standard and Enterprise allow six cores per CPU whilst Advanced and Enterprise Plus allow twelve cores. This obviously makes it advisable to go for as many cores per CPU as you can get when specifying your server hardware, whilst all the versions except Enterprise Plus have a memory limit of 256GB per physical server. The "Acceleration Kits" all include licenses for 6 CPUs, which could therefore cover six physical servers although the most likely configuration will be three dual CPU servers.

The small business "Essentials" and "Essentials Plus" bundles are licensed slightly differently, in that they are specifically for a maximum of three hosts with up to two six core CPUs per host. They also include "vCenter Server for Essentials" which lacks the "enterprise" features of vCenter Server Standard. Although the Essentials bundles come at a significant discount the cost saving is offset by the additional cost of the upgrade path to the full editions, so this should be taken into account if you are likely to need more host capacity or features in future.

The full version feature comparison table is available here, but here we shall concentrate on the two Essentials bundles as they will likely be of most interest to readers. The cheapest option for each is with the one year "Gold" (12x5) support, which is currently listed as $1,179 for Essentials and $3,624 for Essentials Plus. As the table below shows, the key difference once more is High Availability, although you do also get the potentially useful "Data Recovery" feature:

Essentials Editions

There is a good argument for not bothering with the Essentials bundle if you do not need High Availability, after all you will save yourself $1,100 and the cost of a system to run the vCenter Server, all you need are the free ESXi licenses. This is certainly true if you are only planning on one host server, as you can manage that perfectly well using the vSphere Client by itself, and in fact you can happily manage multiple hosts with it as well. Provided server downtime is not a major issue (and much of it will be planned so can be scheduled) you can achieve much of the same functionality through manual management.

At the same time there is plenty to justify an "Essentials Plus" based vSphere Infrastructure for companies in the 4-12 server range, especially if there is a potential business benefit from High Availability. The modern working environment increasingly expects IT services to be available 24/7, but most SMEs cannot justify having IT staff working 24/7 so vSphere can help to cover that gap.

In comparison, to take your vSphere Infrastructure to the next level and gain the benefit of "maximum uptime" features like vMotion and Fault Tolerance, you need to be considering the  vSphere Advanced Acceleration Kit - only $12,699. At first glance when you add in the cost of the server and SAN hardware this looks like a lot of money to spend, but then consider it should be capable of running 15-20 production servers. In the typical server room this would represent turning a couple of racks of servers, (with all their ancillary equipment, power, UPS and cooling) into a half rack or even a small blade centre. Additional VM capacity can quickly be added by simply purchasing another host server and the required number of vSphere CPU licenses. Add in all the other benefits of virtualization like reduced downtime and dynamic resource provisioning, then it can present a compelling case for vSphere4.


No comments:

Post a Comment