Storage pools could contain a mixture of traditional and solid-state hard disks. The reason why Microsoft allows you to do this is because Windows Server 2012 R2 supports the creation of storage tiers.
Tiered storage automatically places the most frequently read storage blocks on solid-state storage so that those blocks can be read with maximum efficiency. Less-frequently accessed blocks remain on traditional storage. Storage tiers also reserve a portion of the solid-state storage capacity for use as a write-back cache. The write back cache smoothens out write operations by allowing data to be first written to high-speed storage, and then copied to the slower, but higher capacity storage when the I/O load decreases.
What Makes Software-Defined Storage So Special?
Now that I’ve spent a considerable amount of time talking about storage virtualization, let’s talk about SDS. Let me say right off the bat that SDS sometimes refers to storage virtualization. The two terms are often used interchangeably. Even though storage virtualization tends to have a fairly narrow definition, SDS does not. The term has been used to describe a wide variety of approaches to storage management.
I’m not even going to try to delve into an exhaustive and fully comprehensive list of every technology that has been referred to as SDS. There are so many different ways the term has been used that I think building a comprehensive list would probably be a futile effort. Even so, I want to tell you about some of the more common ways the term has been used.
Although I personally disagree with this one, I’ve heard the term SDS used to refer to virtual disks or to VMware virtual disk volumes. I’m assuming the basis behind this is that virtual disks do create a layer of abstraction between a physical or a virtual server and the underlying physical storage. Even so, referring to a virtual disk as SDS seems like a bit of a stretch.
Another usage for the term SDS is that it sometimes applies to clustered file systems. At first, this one might seem a little bit counter-intuitive because it doesn’t really have much to do with virtualization in the traditional sense, and yet this definition still somehow seems more plausible than simply referring to a standard virtual disk as SDS.
The basis behind a clustered file system is that technologies such as the Microsoft Distributed File System (DFS) present users with a completely different view of a file system than what exists in the physical world. The view the user sees might include files and folders scattered across a variety of resources. In some cases, the underlying servers might also use redundant copies of data as a way of providing fault tolerance or performance improvements through load balancing.
I’ve also heard the use of technologies such as storage profiles or Storage QoS referred to as SDS. In case you aren’t familiar with storage profiles, they’re a mechanism offered by both VMware and Microsoft as a way of classifying storage. The basic idea is that by implementing these storage classifications, it becomes easier to place a VM on the most appropriate storage type. For example, in a vSphere environment, there’s a feature called Policy Driven Storage that helps an administrator select a datastore based on a VM’s storage requirements.
Storage QoS is a Microsoft feature that can be used to throttle storage I/O as a way of preventing a VM from consuming a disproportionate share of the hardware’s IOPS capabilities. In my opinion, features such as storage profiles and storage QoS do not constitute SDS by themselves, although those features could conceivably be aspects of SDS.
As you can see, there’s quite a bit of disagreement within the industry as to what SDS really means. I think some of the uses I’ve mentioned in this article get it partially right, but are too narrow in scope.
In my opinion (which you might disagree with), storage virtualization refers to the pooling of storage resources in a way that allows the capacity to be used on an as-needed basis. SDS, on the other hand, seems to be more about abstracting storage capabilities rather than storage capacity. As such, storage QoS, storage profiles and clustered file systems might be considered SDS features, but they’re not the very definition of SDS.
It’s All in the Capabilities
Although I’ve weighed in on the differences I perceive between storage virtualization and SDS, the IT industry has yet to adopt a solid definition for SDS. Of course, I think this will change over time. Even so, I think that there will always be a degree of overlap between SDS and storage virtualization.
If you consider my definition in which storage virtualization refers to capacity, while SDS is more about storage capabilities, the overlap seems completely natural. But over time, I think these two terms will become far less ambiguous as new possibilities are explored and more features are derived.