Friday, 21 September 2012

Server Sizing.. was really easy Part-2



I hope first Part of this series was informative and it may help you at some degree. In this post I am going to discuss about Virtual Host Sizing. You can find tons of information on this topic on Web however what I really don’t find is the consolidated view/approach. I am going to make this as simple as possible and hope this may help you.
Having said that, let’s get started. First of all you need to know what are the pre-requisites before you start sizing for Virtual Hosts.

·         Pre-requisites

*      Identify workloads/Servers which can be virtualized.
*      Peak Hour/Average resource usage (CPU/Memory/Network/Disk).
*      Resource usage report for 1 Month at least.
*      Consolidation ratio (How many servers are going to share the Hardware)
*      Ad-hoc capacity demand
Well there may be several other factors to consider which I am going talk about later in this post.
So how to know what may be/ may not be virtualized, what is the current/peak hour utilization & Average utilization for the period of time.  Let’s talk about it one by one.

*      What can be virtualized: - Tons of case studies and guidelines are available on web from VMware/Microsoft/Citrix etc. Question is , is there any thump rule which can help me to categories workload which are potential candidates for virtualization even when I don’t have utilization report with me ? Yes… there is…  some of them are

§  Infrastructure servers (AD, DNS, DHCP, Print Server, File Servers etc.)
§  Web Servers or Intranet Portal Servers
§  Utility Servers (WDS, AV Distribution Points, SCCM Distribution Points, Altiris Distribution Point, WSUS etc.)
§  Middleware Servers
Alright, what about other servers like (Application Server, DB Server, and Messaging & Collaboration Server etc.) Well that’s where you need do utilization analysis. Now the challenge is, how do I get utilization report from 1000s of servers spread across multiple location ? Well then you need to think about some automated tool & Solution which can do this work for you. Let’s talk about them. These tools are smart and will tell you which workload is good or bad for virtualization.

Ø  Microsoft MAP Tool Kit:- Microsoft Assessment & Planning tool can help you to discover and collect performance/resource utilization from multiple servers.

Ø  VMware Capacity Planner: - Well, I am not big Fan of Capacity Planner because you rely on VMware to do Analysis for you and publish report on the Dashboard. But many of you would like it.

Ø  Platespin Recon: - Excellent tool for Analysis and reporting, I prefer using Recon.

Ø  IBM cDAT :- Although I have not used it but I have heard good feedback for this product. Worth trying it…

You may find some other tools/solution on web however I may not comment on those as I have not used them.

Alright, so what Next… Well now you have complete Data to process and make a decision on size.  If Data collection and analysis was properly done you should have following Data with you.

Ø  Total Number of servers which can be virtualized
Ø  Total CPUs allocation and actual usage on servers which are identified as virtual candidates.
Ø  Total RAM Allocation and actual usage
Ø  Disk Size on Servers (SAN/DAS)
Ø  IOPS
Ø  Network Bandwidth usage
   
So let’s put some data and try to understand by example.
                  
Ø  Total Number of servers which can be virtualized -  Assume 100
Ø  Total CPUs allocation and actual usage on servers which are identified as virtual candidates – 200 Cores (Assuming 2 Core per server)
Ø  Total RAM Allocation and actual usage – 1600 GB (Assuming 16GB per server)
Ø  Disk Size on Servers (SAN/DAS) – 6000GB (Assuming 60GB per server)
Ø  Network Bandwidth usage – (10000 MBPS, 100 MBPS per server)
Ø  Consolidation Ratio = 1:10 (Just an example)

So for 10 virtual Machine the total capacity I need is as follows

Ø  CPU 2x10 = 20 Cores (Sizing on actuals , in real world although server has 2 cores allocated to it but peak hour utilization is just 1 cores of even half)
Ø  RAM 16GB x 10 =  160GB (Again you need to look at peak Hour utilization and adjust it accordingly with some buffer)
Ø  Disk 60x10 = 600GB (put some buffer for Page file & Swap space
Ø  Network 100x10 = 1000MBPS (Gig Adapter)
Having said that, the size of the Box will be
                    CPU = 2 Socket - (16 Core each)
                   RAM = 164GB
                   Disk = 600GB (Add buffer)
                   NIC = Dual Port 1gig
And then add 10/20 % Extra capacity for sudden burst depending on your budget and do think about Hypervisor penalties (Hyper-v guys would know what I am talking aboutJ)

When you are planning for HA or on demand provisioning you need to think about failover and spare capacity as well.

This topic is really huge and you can hear lot of debates on sizing but I believe this post can help you to some extent.

I will talk about some of the other factors to consider in upcoming post on virtualization planning…

Wish you all good weekend!!!

          Cheers!!
          Pankaj

1 comment: