What you'll learn in this tip: Managing data in a virtual server environment can be challenging for data storage managers. The ratio of virtual servers and desktops to storage devices often creates performance issues and bottlenecks. Follow these top five tips to better manage your virtual servers.
Virtual server environments and desktop virtualization have made it easier for users to consolidate their data, conserve energy and reduce their physical systems. However, enterprise data storage managers have run into problems with managing data in a virtual server environment. Server virtualization consolidates several servers on just a few storage devices, but that often creates bottlenecks as virtual machines (VMs) compete for storage resources. Desktop virtualization can also create bottlenecks because so many desktops run on a single host. Therefore, successfully managing virtual servers often takes a joint effort from storage administrators, as well as desktop and server administrators. To help data storage professionals make the most of these challenging environments, we've collected our top five tips on managing storage in a virtual server environment.
Tip 1. Know your storage workloads. The storage workloads for virtual desktops and virtual servers can be very different. If you place a virtual machine on a host without considering its disk I/O usage, you might create instant resource bottlenecks.
To avoid this, you should have a basic understanding of how much disk I/O a virtual machine will generate based on the applications and workloads it will host. Also, high disk I/O virtual machines should be equal among both physical hosts and data resources. Too many VMs with high disk I/O on a single host might overwork the host's storage controller. At the same time, too many high disk I/O VMs accessing one storage system or LUN can also create performance bottlenecks. So even if you know a lot about your virtual machine's disk I/O workloads, you should still use performance monitoring tools to get a more in-depth look at your environment such as average and peak usage statistics.
Also, keep in mind that virtual machines may not always be on the same host. VMs are mobile and might be moved to another physical host. It's risky having a group of Exchange servers end up on the same host; it could bring the whole disk subsystem down. Many storage managers use VMware Distributed Resource Scheduler (VMware DRS) to balance workload among hosts, but be careful when using it; it only balances the workload based on CPU and memory usage, not virtual machine I/O disk usage. In cases where you do use VMware DRS, make sure you use DRS rules that keep specific virtual machines on different hosts.
Tip 2. Avoid intense disk I/O. Certain scenarios with your VMs may create periods of very intense disk I/O, which can create such high resource contention that all of your virtual machines will slow to a crawl. For virtual desktops this can be caused by time-specific events, like all of your users turning on their desktops at approximately the same time each morning -- often referred to as a boot storm. While that kind of situation may be unavoidable, there are ways to deal with it such as by adding large cache controllers like NetApp's Performance Acceleration Module (PAM) to your storage device, or by using automated storage tiering technologies that can leverage faster storage devices like solid-state drives (SSDs) during periods of high disk I/O.
Other scenarios -- like virtual machine backup windows and scheduled VM activities such as antivirus scans or patching -- are controllable. Having concurrent backups running on multiple virtual machines on a host or data store can cause high disk I/O that will impact the performance of other VMs running on the host or data store. Try to schedule your backups evenly so you don't have too many backups occurring simultaneously on the same host or storage resource. You should also consider backup applications that avoid using host resources by accessing the VM data stores directly to back up VM disks. And some specific virtualization disk-to-disk backup products can shorten backup windows and allow tape backups of the disk repositories to occur afterwards without impacting hosts and virtual machines. For scheduled operations like patching and antivirus scanning, enable randomization or create staggered schedules to spread the operations over a period of time so they don't run simultaneously. You should also be careful when running disk defragmentation operations; defragmentation generates high disk I/O and can cause thin disks to rapidly increase in size.
Tip 3. Use space efficiently. It's easy to use up disk space with virtual machines, but there are ways to control and limit the amount of space they take up on your storage devices. For virtual desktops or lab-type server environments, using linked clones can save a great deal of disk space. Linked clones are similar to VM snapshots where a virtual machine's virtual disk file is made read-only and a smaller delta disk is created for any disk writes that may occur. Linked clones work by creating a master virtual disk image that's read by many VMs but all writes occur on each virtual machine's own delta disk. For example, if you create 100 virtual machines with 40 GB virtual disks, they would consume 4 TB of disk space without linked clones. If you used linked clones, however, you would have a single 40 GB virtual disk for all VMs to read from and smaller 1 GB to 2 GB virtual disks for writes -- a huge space savings.
Thin provisioning can also help manage storage space in virtual server environments. It can be implemented at the virtualization layer or the storage layer. Almost all VMs are given more disk space than they usually need; thin provisioning allows you to overprovision storage by allowing virtual disk files to only take up the space they're actually using and not the full disk space they were allocated. The use of thin provisioning can greatly reduce the amount of disk space your virtual machines consume and will give you more control over costly storage capacity upgrades.
Tip 4. Avoid unnecessary I/O operations. Why generate excessive disk I/O if you don't have to? You should always try to limit the amount of disk I/O that virtual servers and virtual desktops create. This includes disabling any Windows services that aren't needed, uninstalling unnecessary applications, disabling file indexing, and limiting the amount of logging that both the operating system and applications generate. There are many other smaller things that can be tweaked and they can add up to greatly reduced disk I/O across your virtual machines. You can use end-point management tools or Active Directory group policy to help manage and control the configurations. You'll not only reduce virtual machine disk I/O, you'll reduce consumption of other host resources. Reducing the amount of unnecessary disk I/O that VMs generate is always a smart move as it allows your storage subsystem to operate at maximum efficiency.
Tip 5. Use the right storage for your workloads. Most hosts have local storage available in addition to being connected to shared storage for virtual machines. The types of storage available to your hosts will often have different performance characteristics, such as an 8 Gb Fibre Channel (FC) SAN and a 1 Gb iSCSI or NFS storage device. Besides different storage protocols, you may have hard drives with different speeds (e.g., 10K rpm, 15K rpm) and interfaces (e.g., SAS, SATA, solid state). With so many different storage options to choose from, it makes sense to fit the VM to the right type of storage. Place less-critical virtual machines on the slower storage tiers and your more critical VMs with higher I/O requirements on the faster tiers. You can also use an automated storage tiering system like Compellent Technologies Inc.'s Fluid Data architecture or EMC Corp.'s Fast technology that moves data between storage tiers based on demand.
You can go a step further by splitting a VM into multiple disk partitions whose virtual disk files reside on multiple storage tiers according to their performance needs. One common way to do this is to create separate disk partitions for the operating system, Windows pagefile, applications and data. The faster storage tiers can be used for the data's higher I/O requirements, while slower tiers can be used for everything else. Even if you don't do that, you can still specify slower or local storage for the large virtual machine virtual swap file created for each VM and used when a host exhausts its physical memory. This also helps ensure that your virtual machine uses less disk space on the more expensive storage tiers.
Overall, simply understanding your storage environment is a crucial step in better management of your virtual server environment. And following these five tips will make managing virtual servers easier for the future.
BIO: Eric Siebert is an IT industry veteran with more than 25 years of experience who now focuses on server administration and virtualization. He's the author of VMware VI3 Implementation and Administration (Prentice Hall, 2009) and Maximum vSphere (Prentice Hall, 2010).