Storage Spaces are a new Microsoft innovation introduced a year ago in Windows Server 2012. As of now, a second version of Storage Spaces is released in Windows Server 2012 R2. Using Storage Spaces, you can combine completely different drives into the pools and then create virtual volumes (Microsoft calls them “spaces”).
Many people know that a technology allowing to combine several drives into a single storage has been available for a very long time, just remember RAIDs (Redundant Array of Independent Disks). So the reasonable question arises – what is so new about Storage Spaces? Let’s see.
Really different drives
Storage Spaces allow to pool drives with different characteristics such as vendor and model, capacity, the way of connection (SATA, USB, and SAS), the type (SSD and rotational), and form-factor (laptop and desktop drives).
In RAID, it is recommended to use identical drives since even drives of the same model within different series may slightly differ resulting in performance degradation. More than that, using drives of different capacity in RAID is quite impractical due to loss of some capacity. The RAID capacity is determined by the smallest member drive. As for the connection type, it is impossible to create a RAID, say in Windows, using drives connected via USB.
The developers of Storage Spaces managed to take into account these difficulties and propose technology of combining different drives into a single storage without loss of capacity and without significant loss of performance.
Almost unlimited capacity
With Storage Spaces, you can create a storage of almost unlimited capacity, to be precise up to half a petabyte (500 TB) in a single pool, whereas the number of pools is unlimited.
As for a RAID, imaginable volume of a home or small business RAID does not usually exceed a few dozen terabytes.
Additionally, in Storage Spaces there is a new feature – thin provisioning – which allows to create spaces larger than physical available disk space. When a thin-provisioned space runs out of physical disk space, you can easily add new drives to the pool without rebuilding the entire storage system.
[Read also: How Big Do You Think Hard Drives Can Go?]
To draw an analogy with RAID, in practice the expansion of RAID is not usually applied because it is very long, tedious, and expensive task. If you need, for example, to expand a RAID 5 of five 1 TB drives you should do one of the following:
- Create a new larger RAID and then copy data from the old RAID. To do this you need to buy a full set of drives for the new RAID, most likely, along with a new controller.
- Replace drives one by one with larger ones and after each replacement rebuild the array. That usually takes several hours per drive.
In this case, the gain of the capacity is not that significant. Thus, in our example replacing 1 TB drives with 2 TB brings you just 4 x (2TB – 1TB) = 4 TB (the capacity of one drive goes to ensure redundancy).
In fairness to previous storage technologies it should be noted than an analog of thin provisioning has been known for a long time and used in some proprietary RAIDs, for example in Drobo Beyond RAID technology.
Operation along with ReFS
Microsoft introduced Storage Spaces as a part of unified storage system where a new ReFS (Resilient File System) file system is used as well, rather than a standalone capability. Storage Spaces are at its best when these two components work together.
One of the indisputable advantages of such an alliance is the ability to detect and correct (transparent to the user) metadata errors on the mandatory basis. Also there is a possibility to enable error correction in user data. All this is possible thanks to both the ReFS driver which checksums all the metadata and Storage Spaces providing data redundancy. When reading a data block, the filesystem driver detects the incorrect checksum and requests the Storage Spaces driver to read all the available copies of this block and to find out the correct one. Then the ReFS driver commands to fix the bad copy so that all the copies contain the correct data. All this is done transparent to the user.
Write-hole protection
As it is known, there is a problem both in a software RAID and hardware RAID without BBU (battery backup unit) when the part of data being written is lost, for example when power failure occurs (such a phenomenon is called “write-hole”). If this happens, the disk contains both new and previous data and there is no way to detect correct data.
To avoid this you can either use a hardware RAID controller equipped with a battery, which is able to store data being written for some time. Once the power is on again, data stored in cache unit is flushed to the disk.
Storage Spaces fight write holes using journaling meaning that you will not lose the data in case of power failure.
Conclusion
As you see, Storage Spaces technology is certainly not a replacement for RAID, but by far it is the most flexible, easy to build and maintain, and relatively inexpensive storage solution. Try it and you will like it.
[Image credit: Steve Tron, Flickr]
So Elena, what you’re saying is storing all your MP3s and the complete series of Sex and The City and Dexter would be pretty easy to accomplish, huh? 🙂
Jennifer yes, you are right. However, do not forget about backup – you still need it for important data. Also, big configurations, say 10 TB or lagrer require planning even with Storage Spaces.
Hi Elena, I have a new HP server on my bench – 8x1TB drives in it and I don’t know if I should be using RAID5 or RAID10. Any suggestions?
Hi Andrew,
Google for a “RAID triangle”, which gives you overall idea of the balance between RAID 5 and RAID 10. The exact answer however depends much on the intended use of the array. For a linear-write-once backup system, use RAID 5. For a random-write database server, use RAID 10. Anything in between you might consider testing and taking performance measurements before you commit to one or other.
Thanks Elena, I have done some reading and I am on the fence between the two. I think you are right – I may have to try both and do some testing.
Are Storage Spaces the same as the Windows Home Server? I was under the impression it was the same thing. Also, would Storage Spaces be good for storing large image files? I’m a photographer and have many of images that take up a lot of memory. They’re currently stored on a plethora of different devices I’ve collected over the years.
WHS Drive Extender and Storage Spaces are different things. With Drive Extender, you can use any part of the disk set on its own, because each disk effectively holds its own self-contained filesystem (NTFS). With Storage Spaces, each disk stores a part of data, so you need all disks available (or at least some kind of quorum depending on fault tolerance levels) to access the data.
The idea of combining a plethora of different devices into a Storage Spaces pool is not good, for the reasons too large to fit on the margin here.
It is pretty frustrating every time we upgrade our company’s RAID, having to re-transfer everything. An upgrade takes us practically an entire day to complete the transfer, and any potential disruption to the transfer simply makes me go bonkers.
In your case Storage Spaces is actually more convenient option because you just need to add disks. However, when creating Storage Spaces you should think about the number of columns since if you are going to upgrade Storage Spaces you will need to add the number of disks equal to the number of columns. Remember that for Storage Spaces as well as for RAID there is a chance that expansion fails, so in both cases you must have a working backup of your storage system.
Saw this storage space at an exhibition a while back. I was pretty impressed with its flexibility to combine so many different drives. Looks like a great platform to store all my huge chunk of HD movies and playlists!
I’m studying for the 070-410 exam so this is quite an informative post for me. Is it possible to use iSCSI drives to create storage spaces?
Sorry, never tried that with iSCSI so don’t know.