Storage Spaces is a new virtualization capability in Windows 8 and Windows Server 2012 which enables users to dramatically reduce the cost of highly available storage for virtualized or physical deployments, while also providing high resiliency and operational
Storage spaces come with features that provide resiliency, scalability, high availability and ease of administrative operations.
With this platform storage virtualization are introduced two new virtualization primitives: storage pool, and storage space:
The mirror and parity resiliency delivered by Storage Spaces allows administrators to still have access to their data even after a drive failure has occurred.
This allows enterprises to deploy industry-standard storage hardware and save costs, without any degradation in tolerance to drive failures and power loss events.
Apart from mirror spaces and parity spaces, admins also have the option of spaces which only need performance and do not need resiliency:
Mirror spaces have the following crash resiliency features:
Parity spaces have the following crash resiliency feature:
If the pool has a
hot spare drive, Storage Spaces will automatically use it to provide capacity for repairing degraded storage spaces.
given a single server scenario with a two node cluster, if one fails, Storage Spaces makes it possible for the administrator to be able to quickly access the data in all spaces via the one remaining cluster node. Upon failing over to another cluster node,
the space comes online and recovery actions happen in the background, enabling quick failover processing in a cluster.
For more information on Failover Clustering, see the following topic:
Regardless of the number of servers, the number of JBOD enclosures, or the number of provisioned virtual disks, Cluster Shared Volumes (CSV) atop of NTFS unifies storage access into
a single namespace for ease of management, where all servers in the cluster can concurrently access all of the cluster shared volumes. This unified namespace enables highly available workloads to be transparently failed-over to another server in the event
of a server failure, or simply moved off a server to allow for a maintenance operation.
By using the simple building blocks like the Deployment Element, administrators can easily build a cluster for their workloads, either physically running on the servers, or those virtualized
through Hyper-V. In either case, running workloads that support high availability can quickly failover to another server in the event of a server failure or maintenance need.
Storage spaces with clustering and CSV while using commodity storage can allow admins to have a cost-effective, scalable, and manageable solution.
The below diagram illustrates a simple deployment with a single deployment element:
Scalability and Continuous Availability
With Storage Spaces, capacity exhaustion is an avoidable condition. Administrators are given capacity consumption notifications at a configurable threshold,
which, by default, is 70%, before the entire pool capacity is consumed. This allows administrators to add drives in advance of the pool’s capacity becoming fully consumed.
Storage Spaces provides elastic capacity expansion. To increase capacity, all the admin has to do is to add more drives. The diagram below illustrates this.
The pooling model used in Storage Spaces enables flexible and granular administrative control. Administration can be defined and delegated on a per-pool basis. This allows for different
administrators to be assigned to different pools and different spaces. Storage Spaces fully integrates with Active Directory and the Windows security model, providing a familiar model and tools for administration.
Under title Administrative Ease and Simplicity and subheading Optimized and Flexible Capacity Utilization there are two diagrams...appears the bottom diagram should be labeled 48 TB across 96 disks, not 36 TB across 72 drives which is the correct label for the top diagram BEFORE the new 24 drive enclosure is added below. Admittedly this is a nit but threw me off as currently both labeled the same.
Does this provide the ability to assign per-VM service levels (e.g. Gold, Silver, Bronze)? If using both SSDs and magnetic disks, can you configure the SSDs for any type of read/write caching that can be set at the VM level? How about the ability to do "sub-space" data tiering, meaning moving hot spot chucks of data to SSD but not the entire VHDX file?
@vDerekS: If you want to assign a VM a certain level of storage you create a Storage Pool->Storage Space->Virtual Disk->Volume for each level of storage and then store the VM on the appropriate Volume.
Write Back Cache is automatically enabled for any Storage Pool with SSD in it. You can turn it off but it can, as far as I know, not be configured in detail though.
The auto-tiering works with 1 MB large chunks so unless you manually assign a file to either the SSD tier or the HDD tier only the active data rounded up to the nearest 1 MB chunk will be on SSD.