Virtualization deployment projects involve several phases and substantial planning to account for an IT shop's existing technology environment. When executed correctly, these phases of virtualization deployment – which begin with planning and proceed to the building, configuration and post-implementation stages -- help you assess and measure your existing technology assets and determine your virtualization needs.
This tip covers the central tasks in the assessment and planning stages of a virtualization project; in subsequent parts of this series, we outline the next phases of the deployment process.
The phases of a virtualization project
In my book on implementing virtualization, I outline the sequence of a virtualization project. While almost every virtualization deployment begins with building a business case, I excluded this step from my book because the benefits of virtualization have become sufficiently obvious that building a business case for implementing it is now rather straightforward.
Once your virtualization project is approved and you're ready to proceed, you'll move through each of the following stages:
- Assessing your current environment
- Planning your virtual environment
- Building your virtual environment
- Configuring your virtual environment
- Securing your virtual environment
- Populating your virtual environment
- Monitoring your virtual environment
- Maintaining your virtual environment
- Backing up your virtual environment
- Troubleshooting your virtual environment
Assessing your current environment
Assessing your environment is one of the most critical steps in a virtualization project. When implementing a virtualization infrastructure, you'll probably convert existing physical servers to virtual machines (VMs). So it's important to understand the performance characteristics of your servers and applications.
To assess your current environment, use your performance monitoring tools to measure average and peak utilization of CPU, memory, network and disk resources on the servers to be virtualized. Gather this data for a minimum of a week, although a month is preferable. Gathering these metrics over a longer period of time gives you an understanding of the performance trends your systems experience that may not occur on a regular basis.
It's also important to gather performance metrics during critical business cycles (e.g., weekly payroll processing or a monthly reporting process), when performance and resource usage may spike. You should also consider specific tools such as VMware's Capacity Planner to collect this information and, thus, size virtual hosts. The old woodworking rule "Measure twice, cut once," also applies to computers. You can prevent costly mistakes by accurately measuring before you begin a project.
Other aspects of this process are deciding which applications to virtualize and understanding application vendors' support and licensing standards for running these applications in a virtual environment. Almost any application and workload can be virtualized these days, but vendor support statements and licensing may vary. Most vendors list this information on their websites or in knowledge bases, but if you can't find this information contact the vendor.
Finally, deploying virtualization in any environment has a ripple effect on components other than the servers you're virtualizing. Other infrastructure components and procedures are affected by virtualization and this impact must be noted. Standard procedures like monitoring, backups, patching and administration will be altered in some way by virtualization. As a result, you may need to consider purchasing products that are virtualization-aware and support virtual environments.
Planning your virtual environment
When planning a virtual environment, you have several decisions to make . First, choose a virtualization platform on which to host VMs. There are several virtualization vendors in the marketplace, and you need to choose a platform that fits your budget and has the features you need.
VMware is the current market leader in x86 virtualization, and the vSphere release is compelling because it's feature-rich and has solid performance metrics and broad guest OS support. But it should be noted that these features come at a cost. Some of VMware's editions can be costly, especially those with a greater number of features.
In addition, when selecting a virtualization vendor, you should consider the makeup of your existing environment. For example, if the majority of your environment's components are built by Microsoft, Hyper-V may be a good fit. That said, however, be wary of vendor claims –particularly when it comes to comparisons of their products with those of other providers. To that end, perform your own product evaluations and research to determine which product best suits your needs.
Hardware considerations for virtual deployments
Designing and sizing your hardware is another crucial step in a virtualization project because you'll most likely have to purchase new server hardware for virtual hosts. The majority of modern servers have built-in features (e.g., AMD-V, Intel-VT) that are specifically designed for virtual hosts and provide better performance.
Choosing storage for your virtual hosts is another important decision because it will have a significant impact on your VM performance and the kinds of features that you can use. Shared storage solutions such as Fibre Channel, iSCSI and Network File System (NFS) are necessary to take advantage of certain advanced features such as High Availability (HA) and Live Migration. Each of these storage options can have a different impact on your environment, so do your homework. For more information, check out this recent series on selecting hardware for virtual hosts.
When sizing your virtual hosts, consider leaving space to accommodate additional VMs in case of a host failure. In addition, leave space available for future growth of the infrastructure. Typically, you'll want to achieve 75% to 80% resource usage on your host servers for maximum efficiency. If your utilization rate is lower than that, you're wasting resources and defeating the purpose of virtualization. Further, you risk performance issues and limited failover capacity. It's crucial to balance your hardware so you're not maxing out a single resource (e.g., memory) while plenty of the other resources are available (e.g., CPU, disk, network).
In the next tip in this series, we'll cover the aspects of building and configuring virtual environments of which you should be aware.
For more on launching a virtual deployment:
- Building and configuring in a virtualization deployment project
- Virtualization infrastructure monitoring: Eating your veggies
- Patching, backing up and troubleshooting virtual machines : Necessary evils
|Eric Siebert, is a 25-year IT veteran who specializes in Windows and VMware system administration. He is a guru-status moderator on the VMware community VMTN forums and maintains VMware-land.com, a VI3 information site. He is also the author of the upcoming book VI3 Implementation and Administration , which is due out in June 2009 from Pearson Publishing. Siebert is also a regular on VMware's weekly VMTN Roundtable podcast.|