The classic NAS use case was one of users accessing relatively small files, typically office productivity data, over a relatively slow network. Over time, this use case expanded to larger quantities of users accessing larger files, often from applications like Oracle that were being served from a NAS back-end. NAS, as an access method, continued to prove itself as a simple, reliable and easy-to-protect method of delivering data. Server virtualization, although it is more than just another application, fundamentally changes the way data is being accessed.


In the traditional NAS use case, and even when NAS was being used to serve databases, there was typically a single requester coming from a single physical machine. In server virtualization there can be dozens of requesters coming from a single physical machine and those requests are typically highly random in nature. This means that it’s not uncommon for the majority of the virtual machines on a physical server to be very idle for a period of time and then for a majority of them to suddenly need data from storage. When multiplied across many virtual hosts each supporting dozens of virtual machines, a storage I/O bottleneck can quickly develop.


Beyond its ease of use, one of the advantages of a NAS-based shared storage system is the ease at which it can make use of higher bandwidth connectivity like 10Gb Ethernet. These cards often include the capability to take advantage of QoS or a channeling capability so that even in a virtualized environment the cards can transfer storage I/O requests at near line-speed.


This means that the storage performance bottleneck then moves from the host to the storage controllers. Traditionally NAS systems were sold with two controllers, also called “heads”. Each controller was assigned to specific file systems. If the I/O demands being placed on those file systems couldn’t be met by the single head, the only option was to either manually divide up the file system onto other heads or buy a higher performing, more expensive NAS head. Both of these scenarios placed extra work on the storage managers. As a result most NAS purchases were significantly underutilized, or under-subscribed, from a performance perspective.


This under-subscribed model is particularly challenging in a virtualized server environment. Most virtualization implementations tend to grow very quickly and trying to predict how much storage performance will be required is almost impossible. Additionally, managing multiple heads or file systems is not desirable because it adds complexity by taking away the single access point, originally one of the great simplifiers of NAS based storage for virtualized server environments. Finally, it’s simply not cost effective to buy excess performance today that may not be needed for years. Processing will continue to get less expensive over time. Waiting until that processing is actually needed is the most efficient use of capital. 


A potential cure for NAS performance issues in virtualized server environments is leveraging a scale-out NAS platform provided by companies like Isilon Systems. A scale-out NAS architecture typically involves a clustered or grid storage system. These clusters are assembled by using industry-standard servers as nodes. Each node has its own processing power, storage and I/O bandwidth. In the case of Isilon the interconnect bandwidth is a private Infiniband network, leaving the IP connectivity available to inbound storage requests.


Capacity is added a node at a time to the cluster. As this capacity is added, processing power and storage I/O bandwidth increase as well. This creates a linear scale of performance, compared to many NAS systems that reach their maximum performance capability when about 50% of the drives are added to the array. Beyond that, each additional drive begins to either degrade performance or at best, it remains flatlined.


The scale-out architecture allows a storage manager to manage costs and performance at the same time. They only need to buy the exact performance that is required at initial project rollout and then add nodes as the virtualization project begins to scale. In cases where performance demands are growing faster than capacity, some scale-out architectures will allow performance-only nodes to be added to the environment. As a result this makes both storage capacity and storage performance a pay-as-you-grow decision.


This type of scalability can also bring simplicity to the environment. If a traditional system has met its limits of capacity or performance, administrators will more often have to add another complete system, as opposed to upgrading the current one. This presents sharing and storage management challenges that are exacerbated in virtualized server implementations. For capabilities like live migration, automated load balancing and remote DR to work, storage in these environments must be heavily shared - since it is ideal for all the physical servers to see each other’s volumes.


Some scale-out NAS systems will allow for a single file system to grow to multiple PBs and expand across many nodes within the cluster, reducing the storage management to a single point. This saves time when adding new physical hosts to the virtual infrastructure as well as configuring virtual machines.


Finally, one of the great pains in virtual infrastructures is protecting the data on that infrastructure. While NFS-based systems bring some advantages to the data protection process through the use of snapshots and off-host NDMP backups, they’re also susceptible to those same bottlenecks. Scale-out NAS can address this in two ways. First, by the very nature of the NAS cluster, there’s more available storage I/O to handle high-speed backup operations while maintaining acceptable system performance. Second, companies like Isilon have taken the data protection capabilities a step further by optionally providing backup accelerator nodes that remove the storage I/O processing requirements of backup off of the other nodes in the cluster. This allows backups to run at maximum speed while not affecting front-end storage I/O responsiveness.


In many ways scale-out NAS can be an ideal storage solution for the virtual server infrastructure. It provides the ease of use that has made NAS-based virtual server implementations so popular, while at the same time eliminating much of the ‘performance wall’ that traditional NAS environments have run into. Scale-out NAS can start small as the project begins and then grow to meet the requirements of the environment as it grows, striking a balance between affordable and scalable.

George Crump, Senior Analyst

This Article Sponsored by Isilon Systems