Storage Spaces concepts and fundamentals
Storage Spaces is the innovation in Windows 8 designed to increase the efficiency and flexibility of disk space management
in the newest Windows operating systems.
Storage Spaces operates on the level between hardware and virtual drives.
Pool is a set of physical drives, on top of which you can create various virtual disks, known as spaces.
Slab is a quantum of disk space of 256 MB. All the physical drives in the pool are "sliced" into slabs which are then given to
the Storage Spaces driver on request.
The driver then assigns slabs to a particular virtual disk (known as space).
A virtual disk created from a set of slabs on the physical drives of the pool is called Space. The main characteristics of a space are:
- layout - there are simple, mirror, three-way mirror, parity, and double parity spaces;
- type - fixed or thinly provisioned;
- if a single logical volume is created on the space, the filesystem type (ReFS or NTFS) is also relevant.
Fixed vs. thinly provisioned spaces. Advertised capacity vs. physical capacity.
A space can be either fixed or thinly provisioned.
In a fixed provisioned space, the storage capacity for a space is allocated immediately when the space is created.
Even if you do not use all the space capacity for the data, allocated disk space on the physical drives is still reserved for
the fixed-provisioned space and cannot be given to any other space.
With thin provisioning, space capacity can exceed the amount of physically available disk space in the pool because
disk space for such a space is allocated on an as-needed basis.
The total capacity of a thinly provisioned space is called advertised size. If at some time disk space is exhausted,
a thinly provisioned space is automatically taken offline until user either adds more physical drives to the pool or frees disk space
by deleting data from the other spaces of the same pool.
Thus, a space has two sizes - advertised capacity and physical capacity which depending on the provisioning type used can either be
the same (fixed provisioning) or different (thin provisioning).
Simple, mirror, three-way mirror, parity, and double parity layouts
When creating a space, you should specify what type of redundancy it will utilize.
Note that Microsoft uses the term resiliency instead of more common redundancy.
Simple means no redundancy; slabs are distributed among the drives in the pool in a way similar to a technique used in RAID0.
If any drive assigned to such a space is missing, the entire space becomes unrecoverable.
In the mirror storage layout data from each slab is duplicated on some other drive of the pool.
A mirrored space, similar to a RAID1, survives a single disk failure.
The three-way mirror storage layout can only be created on no less than five physical drives.
In such a space there are three copies of each slab stored on different pool member disks.
A three-way mirrored space survives a failure of up to two physical drives.
In a parity space, as in a RAID 5, data and parity information are striped across pool member disks.
Similar to a RAID5, parity spaces survive a single disk failure.
To create a double parity space, you need at least 7 disks.
Double parity space layout is similar to a traditional RAID6 layout where for every certain number of data blocks there are two "calculated" blocks.
In case of failure, those blocks are used to restore missing data blocks.