Working in a virtual machine environment: VM-aware storage
A comprehensive collection of articles, videos and more, hand-picked by our editors
Virtualization has dramatically improved the efficient use of computing resources, often allowing processor cycles...
and memory to be provisioned or adjusted for any workload on the fly. But as systems and automation tools become increasingly aware of virtualized environments, storage and the greater storage infrastructure have fallen behind, relying on traditional logical unit number provisioning and management. Storage developers have taken note, and a new generation of virtualization-aware storage technologies is poised to bolster virtualization and facilitate the drive toward data center automation.
What VM-aware storage offers to the enterprise
First, let's step back and remember that storage was really the first computing component to benefit from virtualization. After all, we cannot use storage until some physical disk space is translated into logical disk space, such as partitions or LUNs using storage protocols established long before modern virtualization. The C: drive on your computer is a logical space that has been provisioned from the underlying disk.
Unfortunately, as modern virtualization took hold, server resources became managed separately from storage and this led to a disconnect in virtualization management. CPU cycles and memory allocation can be adjusted for virtual machines (VMs) with sliders in a management dialog, but storage LUNs and volumes have almost nothing to do with VMs.
For example, LUN and volume creation and destruction is largely a manual process, so a single LUN may hold multiple VMs to simplify storage tasks. But this also means that the LUN can easily become overwhelmed with simultaneous I/O requests from the constituent VMs along with supporting tasks like snapshots, replication, performance monitoring, quality of service (QoS) requirements and so on. This is sometimes referred to as the "I/O blender." As a result of this cumbersome and comingled state of affairs, it is almost impossible to optimize storage tasks or performance on a per-VM basis.
So the goal of virtualization-aware (or VM-aware) storage is to improve the communication between hypervisors and storage arrays. Ideally, this allows the virtualized enterprise to handle tasks like automatic provisioning and performance tuning on a per-VM basis -- creating, optimizing and removing VM storage space as needed with minimal administrative overhead.
VM-aware storage tasks and how it differs from VAAI
VM-aware storage is not the same as storage acceleration, though the two ideas can complement each other. Storage acceleration (sometimes called storage offload) is another emerging technology designed to speed storage performance by allowing the storage array to handle certain tasks, such as copying or migrating data between locations on the same array.
The idea is that copying a file or LUN directly within the array produces far less network traffic, which is a lot more efficient than moving data from the array to a server first, and then simply shuttling that data from the server back to another location at the storage array. VStorage APIs for Array Integration (VAAI) provides the software interface that allows hypervisors like VMware ESXi to direct storage arrays that support pluggable storage architecture features. Microsoft offers similar capabilities with offload data transfer compliant storage arrays.
By comparison, VM-aware storage requires a broader view -- seeing storage as a more versatile computing resource and implementing the tools to manage storage with the same flexibility enjoyed with processor and memory provisioning. Storage acceleration typically relies on a hypervisor (such as ESXi) to offload a number of storage tasks from the server, but that does not make the storage "virtualization-aware" in the context here.
Factors to consider when choosing a VM-aware storage product
Virtualization-aware storage is often implemented as software that serves as a front end for existing storage systems. This eliminates the need to replace existing storage array investments. Two software products include NexentaStor from Nexenta Systems, Inc. and Maxta Storage Platform from Maxta, Inc. A third company, Infinio Systems Inc., offers Infinio Accelerator to boost NAS performance in virtual environments. It is also possible to find storage subsystems that incorporate virtualization-aware capabilities, such as Tintri's VMstore T540, T620 and T650 systems.
There are several key issues to keep in mind when evaluating a potential VM-aware storage product. One of the core arguments for VM-aware storage is the ability to handle storage on a per-VM basis, so consider how well the product allows storage provisioning and management for individual VMs -- storage provisioning and management at the LUN level is less desirable.
Performance is also a critical consideration. The VM-aware storage product will need to support the required level of IOPS (and offer headroom for anticipated IOPS growth) using storage technologies like flash (solid-state) storage and tiering combined with QoS enhancements. The VM-aware storage product must also be scalable to support a large number of workloads. For software-based products, scalability is often dependent on upgrading or replacing the underlying storage subsystems. For hardware-based products, scalability is typically accomplished by adding VM-aware storage subsystems.
Look at hypervisor and API support to ensure that the VM-aware storage product is compatible with your hypervisor. APIs such as VAAI typically allow storage acceleration features and support array management from within the hypervisor's management tools. This also requires a look at the product roadmap to see if future versions and upgrades of the product will remain compatible with your anticipated environment.
Finally, the VM-aware storage product should support data protection features like snapshots, replication and continuous data protection. Organizations that employ converged infrastructure (CI) products may need to evaluate the impact of VM-aware storage on CI behaviors -- adding a VM-aware storage subsystem might not be compatible with the rest of the CI or CI management console, which can complicate management tasks for IT administrators.
Possible disadvantages or drawbacks to VM-aware storage
One potential snag can occur when a VM-aware storage array no longer supports physical (non-virtualized) workloads. It's not a problem if the organization is only running VMs, but it can pose a problem if the business needs support for mixed (virtualized and non-virtualized) workloads. Understand the workloads that must be supported and select a storage product that will accommodate those workloads accordingly. This will become less of an issue as organizations continue to adopt virtualization-only policies in the years ahead.
Also, don't overlook the importance of product feature roadmaps, and consider how future product iterations will support the changes you expect in the environment. For example, if you foresee a wholesale shift from one hypervisor to another, it's important to verify that the VM-aware storage product will support the future hypervisor, not just the current one.
The move to virtualization-aware storage will have a substantial impact on the way that storage is provisioned and managed in the enterprise, so it's not an initiative to be undertaken lightly. Careful testing and extended proof-of-principle projects are extremely valuable to verify the suitability of VM-aware technologies and allow time for the organization to adjust policies and practices needed to integrate the new storage successfully -- or find workarounds to address unexpected issues.