Presentation on theme: "Capacity Planning in a Virtual Environment Chris Chesley, Sr. Systems Engineer"— Presentation transcript:
Capacity Planning in a Virtual Environment Chris Chesley, Sr. Systems Engineer
Todays Objectives 2 most important tasks in capacity planning Resource utilization Boundaries in a virtual environment Overview of the problems often encountered in a virtual environment. How to identify current performance bottlenecks How to find capacity in your environment How to optimize your virtual machines How to identify wasted storage
Capacity Planning Resolving performance bottlenecks Identify where you have performance issues (are VMs getting needed resources) Quickly resolve current problems Use proactive analysis to avoid future performance issues Optimize your virtual environment Insure that each VM is using the resources assigned to them Maximize your density of VMs per core or per host Find wasted storage
New vs. Old Data Center Pre-Virtualized Data Center One application – One server No sharing of memory and CPU Limited sharing of storage Virtualized Datacenter Shared memory and CPU Massively shared storage Performance = capacity Vmotion/DRS – Dynamic nature Change from known to unknown state when VM added or changed
Takeaway If not closely monitored and managed, sharing of resources will lead to performance problems and downtime.
Resource Utilization Whats shared Physical CPU / Cores (not sockets) Physical Memory Physical Disk Storage (how many GB am I using) I/O (reads, writes, disk latency, disk queue latency) Physical Network
Capacity issues occur at any level or resource type VMs Host Cluster Resource Pools (Vmware only) Data Center Boundaries in Virtual Environments
How to Identify Current Capacity Bottlenecks Out of the box Management consoles: vCenter client (Vmware) and Hyper-V Manager or Virtual Machine Manager (Hyper-V):Real time per-host stats, per- cluster, and per-VM statistics Esxtop (Vmware) or PerfMon (Hyper-V): per-host statistics VIM API and SDK: allows software to collect only the statistics they want
Performance Monitoring Options For every Cluster, Resource Pool, Host, and VM, using VirtualCenter to examine memory, storage, CPU and network utilization over a period of at least 1 week Very time consuming process – (Clusters + Resource Pools + Hosts + VMs) X 5 resources (CPU, storage, RAM, network, disk i/o) = # of charts to review – e.g. (3 Clusters +3 RPs+ 50 Hosts VMs) X 5 = 2,780 charts to examine Requires ongoing attention: at least several times a week
Select a Cluster, Resource Pool, or a Host Get info on available memory, storage, CPU, disk i/o, and network i/o Apply an average VM footprint to every resource type to see which resource you will run out of first Thats how many more VMs you can fit into Hosts, Clusters, or Resource Pools Where do I put new VMs? Identifying Available Resource Capacity
Apply an average VM footprint to every resource type to see which resource you will run out of first Thats how many more VMs you can fit into Hosts, Clusters, or Resource Pools Where do I place new VMs Data Center view – Active/Active DR Data Centers may have capacity Identifying Available Resource Capacity
Model additions of new VMs Understand current utilization on all resource types Make necessary changes to compensate for current and future growth Implement iron clad change control process Maintenance window and workload requirements Cluster failover configuration Resource Pool configuration Powered down VMs Predicting Future Capacity Bottlenecks
Optimize your virtual machines Very easy to create VMs, not easy to know how many resources to give them. No automated clean up According to the Information Technology Infrastructure Library (ITIL), capacity management is the discipline that ensures IT infrastructure is used in the most efficient, predictable and cost-effective manner.Information Technology Infrastructure Goal of capacity management: Finding the balance between density and performance.
Defining which Metrics to Monitor Allocated vs. consumed resources. CPU: The important metric to measure is CPU utilization. Memory: Use memory consumed in most cases when evaluating memory utilization. Memory consumed measures how much memory each VM is using on the physical host minus an memory that is shared by other VMs. Storage: The best way to monitor storage is to look at each vmdk file from the guest OS perspective and look at utilization.
Identifying Allocated Resources Allocated resources, limits and reservation info can be easily collected from vCenter or a 3 rd party solution.
Defining your Evaluation Period Time period: You need to decide how much data you need to analyze when computing the average or peak values to make sure that it captures your busy periods or is a good representation of your business cycles. Priority: Many administrators will divide up their systems into high, medium and low priorities with different metrics for each group.
Computing Resources Consumed The next step is to look at each resource and compute the average or peak utilization for your evaluation period.
Generate Recommendations The next step is to put all the pieces together and evaluate each resource for each VM and determine if the right amount of CPU, Memory and Storage has been assigned to the VM.
Wasted Storage Easy to create VMs VMs are large files Not always easy to find any files that are not being used.
Types of Wasted Storage Abandoned VMs – A virtual machine file that is on your datastore but is not attached to a VM listed in vCenter or the host. Powered off VMs Templates Not used in 30 days or more Snapshots Zombie VMs – A virtual machine that is running but not being used.
Wasted Storage Abandoned VMs Powered off VMs
Manual or Automated? VKernels Optimization Pack and Capacity Analyzer does this work for you.
Conclusion The goal of virtualization is to find the balance between correctly sizing your environment while achieving maximum performance with the least amount of resources. Download a trial of VKernels appliances to resolve Performance bottlenecks and optimize your environment!