Accelerating Application Performance in the Virtualized Environment

Hyper-V, like any other virtualized server environment, puts specific strains on (some say it breaks) the traditional storage infrastructure. While a variety of designs have been created to address that issue few systems actually get at the heart of the problem. Virtualized server environments can scale rapidly, both in number of virtual machines (VMs) and in VM density (number of VMs per host). This can create highly randomized storage I/O demands and unpredictable capacity requirements, difficult things for most storage systems to accommodate. The result is often degraded application performance.

Hyper-V, like any other virtualized server environment, puts specific strains on (some say it breaks) the traditional storage infrastructure. While a variety of designs have been created to address that issue few systems actually get at the heart of the problem. Virtualized server environments can scale rapidly, both in number of virtual machines (VMs) and in VM density (number of VMs per host). This can create highly randomized storage I/O demands and unpredictable capacity requirements, difficult things for most storage systems to accommodate. The result is often degraded application performance.

Scale-up or Scale-out

Most storage systems can scale only in one ‘direction’, they scale-up or scale-out. Scale-up systems add disk space, usually in drive shelves, behind a static controller architecture. These storage controllers could have dual, independent processors for increased availability and better performance, but they still have a relatively fixed processing capacity. This makes it difficult to maintain consistent throughput and IOPS performance as the number of VMs increases.

Scale-out systems are a networked cluster of storage modules or ‘nodes’, each containing storage capacity, processing power and network connectivity. They expand by adding storage nodes, which increases processing power in conjunction with storage capacity. Scale-out storage is often considered to be better for supporting multiple virtual server hosts and virtualization clusters, as it scales capacity while maintaining performance.

But the scale-out architecture also introduces bottleneck issues of its own since data is typically sent to a controller node first before being distributed to storage nodes. Even if this function is distributed, as with some scale-out systems, a bottleneck still exists at the storage node level since each I/O transaction is initially handled by a single node. In either case, an entire data segment has to be received by one node, which needs to parse the data and push it back across the storage network so that each node gets its appropriate share of data. That means at least one extra network trip for all data, and even more if there is a RAID-like data protection scheme involved.

Scale-out can also be inefficient. Because of the responsibility to segment and distribute data, storage nodes are typically server-class systems that bring significant CPU and memory resources to the cluster. But most scale-out architectures aren’t designed to allow for the granular tuning of I/O bandwidth, processing power or storage capacity when clustered and often run out of one resource before the others as they scale.

Rethinking Scale-out Storage

Grid storage allows a ‘rethinking’ of scale-out architectures to help address the problem of ‘two dimensional scaling’, where growth occurs in both VM quantity and VM density. By moving part of this controller function to the virtualization host in the form of a software-defined or ‘virtual’ controller, companies like Gridstore are creating a virtual storage stack for each VM and breaking up the I/O bottleneck that many scale-out storage systems face in virtual environments. These virtual controllers can do the hard work of segmenting data streams prior to sending data out to the storage grid. Then, only the data that’s going to be stored on each node is actually sent across the network, reducing traffic to that node and to the back end network overall.

Efficiency and Performance

This distributed architecture can also improve performance and increase storage efficiency. The virtual controllers running on each hypervisor isolate the I/O into lanes for each VM. Each of these data paths can be configured to write to a number of storage nodes, creating a highly parallel storage infrastructure to support the performance demands of an individual VM. The distribution of the resource load for each VM can likewise be tailored to match the resources available on specific nodes, resulting in greater utilization and better storage efficiency.

Storage Configuration and Tuning

There’s also a dynamic nature to the demands each storage system faces, created by the number of VMs and the variability of VM workloads that are run on each virtualization host. Individual VMs can have very different requirements for storage so adding VMs can alter the overall storage demand for that host. Storage systems are typically tuned to address this issue, but since VMs can be created in a few minutes, storage tuning could become a full time job – assuming the storage system has the ability to sustain those requirements to begin with. As a result, configurations are most often set to a ‘happy medium’; one that’s not ideal for any VMs and often compromises the performance for all.

Software-defined Storage

Storage performance tuning done in software at run time, based on a predefined set of parameters instead of being done manually, can be the answer. Using software to configure the virtual storage stack or ‘define’ the parameters of the storage to match the characteristics of the workload can help address the challenges mentioned above. Software-defined storage systems like Gridstore can actually analyze I/O traffic to each VM to determine its profile, which is typically one of a half dozen most common profiles.

Using this information the virtual controller can take steps to dynamically tailor the storage stack to the individual VM workload. These include allocating cache to secure the capacity needed and setting queue depths to accommodate write patterns. They can also create LUNs and configure the number of nodes to support the capacity and performance needed by each VM, allowing the scale-out storage system to provide massively parallel performance and match its ability for capacity growth. These software-defined storage systems can custom fit storage to maximize performance for every application on every VM and even provide end-to-end QoS on a per-VM basis.

Conclusion

Supporting virtual server environments, like Hyper-V, is a challenge for most storage systems. Growth in VM density as well as the total number of VMs creates a ‘two-dimensional’ scaling issue that can break traditional storage architectures. Scale-up storage can’t provide the performance at higher capacities and scale-out storage, while offering more consistent performance, can also suffer bottlenecks and inefficiency as it scales. Plus, the dynamic nature of the aggregated workloads in these environments presents yet another challenge in storage tuning and configuration.

Scale-out architectures that distribute part of the storage controller function to the virtualization host may offer a solution to this problem. By leveraging the concept of ‘software-defined storage’ they enable users to configure the storage stack to match the demand parameters of the workloads running on each particular host. The result is more efficient, better performing storage systems that maintain application performance as they scale.

Click Here to watch our webinar “Guarantee Hyper-V App Performance With Hyper-V Software Defined Storage”

Gridstore is a client of Storage Switzerland

 

Eric is an Analyst with Storage Switzerland and has over 25 years experience in high-technology industries. He’s held technical, management and marketing positions in the computer storage, instrumentation, digital imaging and test equipment fields. He has spent the past 15 years in the data storage field, with storage hardware manufacturers and as a national storage integrator, designing and implementing open systems storage solutions for companies in the Western United States.  Eric earned degrees in electrical/computer engineering from the University of Colorado and marketing from California State University, Humboldt.  He and his wife live in Colorado and have twins in college.

Tagged with: , , , , , ,
Posted in Article

Enter your email address to follow this blog and receive notifications of new posts by email.

Join 22,215 other followers

Blog Stats
  • 1,603,294 views
%d bloggers like this: