The expression, “everything old is new again”, certainly applies to the renewed interest in server-side storage. Due to the widespread adoption of server virtualization technology, internal server storage is once again being hailed as a simple way to bring performance closer to where virtualized applications reside – on the hypervisor.
Now with VMware’s recent launch of their VSAN offering, which utilizes server-side storage capacity configured across a network of clustered hypervisor nodes, this seems to add further validation to this methodology. While there are some instances where server-side storage adds value, there are also some drawbacks that need to be considered.
Server-Side Tiered Storage
The appeal of PCI-e flash and drive form factor SSD offerings is that they can easily be coupled with conventional hard disk drives to build a multi-tiered storage configuration directly inside the server chassis. This allows system planners to tailor performance according to the varied application needs of their physical and virtual server platforms. For example, flash and SSD can be configured for performance demanding applications, like transactional databases, while HDD may be allocated for user files and home directories.
Less Scaling Flexibility
But the biggest drawback with deploying a server-side storage architecture is its inherent lack of flexibility in independently scaling computational and storage resources. The need for and benefits of this were why SANs appeared in the first place. As environments grow, compute and storage resources rarely need to be added at the same time.
Some servers may have excess compute but a lack of storage capacity, while other servers may have a lack of compute and an excess of storage resources. In either scenario, an additional server with discrete storage resources has to be purchased, racked and configured to scale the application environment. In fact, administrators will typically find that storage requirements scale at a much higher rate than computing; if you’re locked into a scenario where they scale linearly, you are almost certain to be out of step in one or more variables.
According to various industry sources, over the past decade, computational workloads have increased by 16% year over year. During this same timeframe, the annual growth rate of storage has been close to 50% or about 3X the rate of CPU growth. A server-side storage deployment that utilizes a 3-way replica (N+2 protection) could end up growing the server infrastructure 9X faster than needed.
Considering that one of the greatest drivers of virtualization has been server consolidation, returning to the days of rapid server proliferation seems like a step backwards.
Taking A Step Back?
The goal of reducing storage costs is a worthy goal. In fact, storage has become the most expensive element in the data center. The answer to what has become known as the I/O blender – caused by the architectural mismatch between the virtualized data center and traditional storage – has been to throw more storage and more expensive storage at the problem. But if you combine this with growing servers at the same time, the result is a very expensive proposition. So clearly, the goal of driving better storage performance at less cost is worthy, but not at the cost of growing servers.
The manner by which storage capacity scales out in a server-side storage environment runs contrary to how virtualized infrastructure is designed to work. Virtual servers are a software abstraction of hardware resources. It enables administrators to quickly and seamlessly provision virtual machines (VMs) on-demand without cracking open a server. Only occasionally do new servers have to be deployed to meet demands for new application computing power and even then, it doesn’t disrupt existing applications.
The server-side storage scaling model, on the other hand, is too reliant on a physical “push” of hardware – whether it is adding storage devices inside a server chassis or dropping an entire server node on to the data center floor to increase the available storage pool. This is not a sustainable architectural model for either private data centers or service providers that need a “low touch” environment to help drive down operational costs.
One obvious challenge with this approach, depending if your server can hot add drives, is that capacity or performance upgrade requires scheduling a maintenance window to populate a given server with the required storage resource. VMs would also have to be VMotioned to another hypervisor prior to the upgrade and then VMotioned back afterwards. This adds a fair amount of complexity, management overhead and risk to what should otherwise be a simple storage upgrade.
In the VSAN architecture specifically, upgrades such as those described above, could force a data protection rebuild. This is because VSAN typically requires that three copies of all data exist. When the server is brought down for the upgrade, VSAN must scramble to re-create the third copy of data that was on that server.
The Cost of Scaling Servers
While the promise of VSAN or server side storage is to reduce cost by using internal storage, this may be just the tip of the iceberg. When you start to grow servers at 9X the rate needed, you need to add the cost of the license stack on each of these physical hosts. Ultimately, the efficiencies enterprises have gained through consolidation of physical servers will be wiped out if servers are forced to grow at 9X their normal growth rate.
Another perceived benefit to implementing server-side storage is it eliminates the need to deploy costly and complex SAN switching infrastructure like host bus adapters (HBAs) and fiber channel switches. The fact is, while application data is stored locally on the host, a storage network is still required so that data can be replicated across server nodes for data sharing and resiliency. As with any clustered environment, the network complexity rises as the number of nodes, and in the case of VSAN, hosts increase.
Distributed Storage Provisioning
To ease virtual infrastructure management, administrators need a solution that enables storage resources to be seamlessly provisioned out to virtual applications as they are needed. By decoupling the storage hardware from the physical server layer, organizations can more efficiently utilize storage capacity and actually increase VM density – increasing the return on their investment in virtual server infrastructure.
One way to accomplish this is by implementing a grid storage architecture alongside the virtual server environment. For example, independent storage nodes configured in a grid, could be attached to an existing GbE or 10 GbE network so that physical and virtual servers could access storage resources on-demand. Commodity NICs and Ethernet switches would be utilized to build the storage network – saving organizations money and reducing storage networking management complexity.
More importantly, physical storage resources are not captive to any individual server; instead, they are managed on a shared grid. This is an important distinction because unlike server-side storage solutions like VSAN, that force servers offline to add capacity, with a grid you simply add nodes to your network and storage resources are transparently added non-disruptively.
For server-side storage, this means scheduling a maintenance window, migrating VMs to another server, etc. This is far more disruptive from an operational perspective and introduces undue risk to the environment as a whole. What happens if the upgrade fails or worse, the upgraded hypervisor server fails to come back online?
SLA Driven Provisioning
Intelligent storage grid technologies, like those from Gridstore, don’t have any impact to the virtual server environment because the storage is a pooled resource (of physical storage nodes) segregated from the server infrastructure. By utilizing a virtual storage controller, these solutions optimize the I/O path between the VM and the backend storage resource. For example, Hyper-V virtual administrators can set the specific service level agreement (SLA) performance policy for a particular virtualized application and the virtual storage controller will dynamically marry the application up with the appropriate storage resource on the grid – flash, SSD or HDD.
What’s critically important is these storage performance SLAs remain bound to the VM regardless if it is migrated to another hypervisor. So if a business critical application suddenly needs to be migrated to another hypervisor server to gain access to additional compute resources, its active hot data sets will not need to be evicted first from cache. Instead, the application’s storage SLA will migrate along with it to the new hypervisor and it will maintain access to its previously assigned storage resources.
One of the most beneficial aspects of storage grid architectures is that they can start small and then non-disruptively expand out over time as application performance and storage capacity needs grow. Unlike server-side storage architectures where one may be compelled to pre-emptively add storage capacity to avoid future service disruptions, there is no need to over-provision storage capacity up-front. It’s more of a true, pay-as-you-grow model. This is an especially important capability for service providers since they need to keep a tight rein on cash flow. Most importantly, this pooled resource can be scaled independently from the server infrastructure.
Server-side flash and SSD storage technologies can be beneficial when there is a sudden need to accelerate application performance on a select set of physical servers or hypervisors. The challenge is one of scale. Data centers that need the scalability and ease of management that virtualized infrastructure offers, need storage solutions that are capable of integrating seamlessly into these environments.
While trying to lower the cost of storage, the unintended consequence is that server-side storage really drives both capital and operating costs in the wrong direction, while increasing risk. Server-side storage architectures are hampered by the need to physically install storage resources into the hypervisor itself whenever there is a need for additional storage capacity. And the frequency of this event is now multiplied by 9 due to the growth rate of storage and the server side storage architecture. While infrastructure planners could pre-seed their virtualized server infrastructure with a complement of flash, SSD and HDD capacity, this could require a large up-front investment. Since the price of storage has typically dropped over time, it behooves IT planners to deploy resources only as they are needed, “just-in-time”.
Grid storage solutions, like those offered by Gridstore, give data centers the ability to economically scale-out pooled storage resources in lock-step with, and yet independently of, their virtualized server environments. Since storage is managed across independent nodes that attach directly into the same network as the virtualized infrastructure, there is never a need to disrupt applications when it comes time to add storage capacity or additional storage I/O for performance demanding applications. Instead, it’s simply a building-block or “lego” style approach to adding storage resources. This allows organizations to quickly and easily provision storage resources as they are needed; helping to conserve capital and simplify operational management.
Gridstore is a client of Storage Switzerland