Okay, in this demo, let's take a look at Storage Spaces Direct in a
Windows Server Failover Cluster environment. Let me bring up my
PowerShell ISE. I have an Active Directory domain called contoso.com,
and I'm creating a cluster with two nodes.
I've done a validation up here on line 1 with Test‑Cluster.
Actually, I should let you know that I set up those two nodes
with the appropriate Windows features.
Let me paste in that code just to show you. We've got
Install‑WindowsFeature Hyper‑V, Failover‑Clustering,
Data‑Center‑Bridging, my RSAT PowerShell commands,
Hyper‑V, so there's quite a bit there to lay down the binaries.
And then I've done my validation, making sure to include Storage
Spaces Direct in the test suite.
Then I created the failover cluster with the two nodes. And notice that I've
got no storage here. And if I go to Failover Cluster Manager,
I've got my nodes,
they're both up, but there's nothing by way of pools or disks in the Storage
bucket yet, because I'm going to do that separately right now.
I've also, because this is a two‑node cluster, set an
Azure Storage Account as a CloudWitness.
That's what this Set‑ClusterQuorum ‑CloudWitness is.
I'm using a general‑purpose storage account called
contosofiles001. And then the real important piece right here
is the Enable‑ClusterStorageSpacesDirect.
This is going to light up s2d and do a bunch of work for us automatically.
You'll see what happens specifically after we run the command. It asks are
you sure you want to enable cluster Storage Spaces Direct?
I'm going to answer Yes to All here.
Now you should know that this is going to be a long‑running
operation, 10‑15 minutes, and you'll get a failure.
It'll bomb out if you happen to have a domain controller as one
of your nodes. You're not allowed to do that, so these are going
to need to be domain member servers, which in my case they are.
Once that command completes, we can come back to Failover Cluster
Manager and we can see that that Enable‑ClusterStorageSpacesDirect
created a default storage pool called Cluster Pool 1.
We can change the name of it right here.
I'll call this S2D‑Pool, click OK, and we can see that it consists of
all detected disks from those nodes, in other words,
those two SCSI disks I showed you in those nodes. I should have mentioned
that if I went into Disk Management or Windows Admin Center,
you would have seen that I had two disks on each node that were
initialized, but I hadn't created a volume.
In other words,
they were in the same state as the disks were in the previous demo when
I used Storage Spaces on a single server, alright.
So that is the physical disk layout. And then to finish the
configuration, just like we saw in the previous demo, we've got our
pool and then we create new virtual disk.
So let's go to New Virtual Disk.
We select our S2D storage pool, click OK. This kicks open the
Storage Spaces Direct New Virtual Disk Wizard.
Next I'm going to call this workload1, click Next, specify our size.
I'm going to make this 10 GB. It tells us under the hood that it's
HDD storage in a Two‑Way Mirror configuration.
And then let's click Create. And then I want to make sure, Create a
volume when this wizard closes, because the virtual disk isn't going to
get us very far unless we've got a volume.
So now let's go through the New Volume Wizard.
This should look familiar.
We'll select the cluster as our server.
There's our workload1 virtual disk. We'll use all of the storage.
I'll not assign a drive letter right now, we'll click Next.
We'll give the Volume label, workload1.
I'll leave ReFS and the Allocation unit size alone, we won't do
data dedup at this point, and then we'll Create.
Alright,
let's close out of that wizard, and if we head on over
here under our Pool to Virtual Disks, we can see our workload1 volume.
We can add a drive letter if we want to, but what I
really want to do is come over to Disks,
right‑click our new virtual disk, and Add to Cluster Shared Volumes to make
sure that the cluster replicates the VHD that represents this virtual disk to
all nodes in the cluster. And we can see down at the bottom that it's being
copied to C:\ClusterStorage\workload1.
Let me open up a path here on web3 to the c$ administrative share,
and here we have our ClusterStorage, workload1, and eventually,
that's where the virtual hard disk is going to appear. And check the
exercise files for some additional info on ways that you can tweak
your CSVs for performance, particularly things like creating an extra cache for I/O to and from that CSV.