To that point,
our goal here is to understand Storage Spaces and
Storage Replica in Windows Server.
Here's the use case.
Dynamic disks and Windows Server deprecated,
but we still want to do more advanced operations,
like being able to expand a volume across physical disks and set up
mirroring and parity and hot spares and that kind of stuff.
In the absence of dynamic disks, what is available?
Well, the answer to that question is Storage Spaces.
And if you recognize that floppy disk icon, you're old like me.
Congratulations!
Storage Spaces is a storage virtualization and volume
management technology built into Windows Server.
It has, as its great advantage, no additional cost.
You don't have to buy extra hardware.
Now, of course,
there's a tradeoff always when you're doing some kind of operation
in software as opposed to dedicated hardware.
But this is what we're dealing with.
Now.
We've got the JBOD paradigm, in other words, just a bunch of disks.
You don't have to necessarily buy a separate direct attached storage enclosure,
although Storage Spaces does work just fine with external storage enclosures.
But it was built by Microsoft with the idea in mind that a
server has N number of fixed drives,
maybe some direct attached storage using SATA,
SAS, USB, could be Fibre Channel,
and we want to do more advanced volume management
operations like tiered storage, that is combining SSD,
solid‑state disk, and non‑SSD mechanical storage,
and being able to have that separation of duties such
that we can target high input/output, or I/O,
workloads on the SSD and keep more static assets on the non‑SSD drives because
presumably they are less expensive and so on and so forth.
We also can do both fixed and thin volume provisioning with Storage Spaces.
So we can create a 120‑GB virtual disk that
actually doesn't consume that 120 GB,
but only consumes as much spaces that you're actually using on that volume.
Now I mentioned RAID‑like mirroring and parity because with Storage Spaces,
those mirroring and parity and hot spare options aren't technically RAID.
It's proprietary to the Storage Spaces product,
but they kind of mirror, pun intended, the classic RAID levels like RAID 0,
just a simple stripe set, RAID 1, which would be simple mirroring,
RAID 5 that allows the failure of one disk in the array,
and you can dynamically rebuild it after you replace the failed disk.
It has that capability still, it's just implemented in a more proprietary way.
Because we're talking about Windows, we have integration with Volume Shadow Copy,
so there's no problem backing up your workloads that are on Storage Spaces.
And we also have, very importantly, integration with failover clustering.
Now you can use Storage Spaces itself to manage volumes in
Windows Server independent of a failover cluster.
In fact, if you don't know, Storage Spaces is also available on Windows client.
But when we use Storage Spaces in a failover cluster,
this is called Storage Spaces Direct, or S2D,
and its value proposition, again,
mainly it's cost savings that you don't have to have a
dedicated external shared storage array,
like a storage area network.
In other words,
you can have each node in the cluster contribute
its own storage to a shared pool, and then using Cluster Shared Volumes,
or CSVs, each server will have a local representation of that volume.
This makes it much easier to pass the torch,
as it were, when you have a clustered workload that needs a new host.
There are three Storage Spaces resiliency types that you
should be aware of for your career, as well as for clearing AZ‑800.
There's mirror.
This is where you, in a sense,
give up 50% of the storage space on your volume because Storage
Spaces and Windows Server will do a bit‑by‑bit copy on the
primary virtual disk to the secondary.
And you can do both two and three‑way mirrors.
This is particularly important, for instance,
for protecting your operating system disk so that if you
do have a failure on your system drive, that is the physical drive,
you can point to a mirror copy to keep that server up and running,
so it's a high availability technique.
We also have single and dual parity.
This deals with not only striping,
which improves I/O because you're doing reads and
writes across two or more virtual disks,
but then you have the ability, as I mentioned,
to lose a physical disk and swap in a replacement and then have Storage
Spaces dynamically rebuild the data that was on that failed disk because it's
redundantly stored on other members in the array.
That's the idea of parity.
And you can survive one or even two members of that array to go down
depending upon the parity type that you choose.
And simple is RAID 0 striping, again, where you're combining multiple
physical disks and you're striping data. In other words,
your data reads and data writes are going in parallel. So hopefully you
can see that you can dramatically increase disk I/O as opposed to doing all your reads and writes on a single disk.