1 00:00:01,740 --> 00:00:05,710 Okay, in this demo, let's take a look at Storage Spaces Direct in a 2 00:00:05,710 --> 00:00:09,310 Windows Server Failover Cluster environment. Let me bring up my 3 00:00:09,310 --> 00:00:13,660 PowerShell ISE. I have an Active Directory domain called contoso.com, 4 00:00:13,660 --> 00:00:16,810 and I'm creating a cluster with two nodes. 5 00:00:16,810 --> 00:00:20,680 I've done a validation up here on line 1 with Test‑Cluster. 6 00:00:20,680 --> 00:00:24,630 Actually, I should let you know that I set up those two nodes 7 00:00:24,630 --> 00:00:26,580 with the appropriate Windows features. 8 00:00:26,580 --> 00:00:29,350 Let me paste in that code just to show you. We've got 9 00:00:29,350 --> 00:00:32,060 Install‑WindowsFeature Hyper‑V, Failover‑Clustering, 10 00:00:32,060 --> 00:00:35,960 Data‑Center‑Bridging, my RSAT PowerShell commands, 11 00:00:35,960 --> 00:00:39,540 Hyper‑V, so there's quite a bit there to lay down the binaries. 12 00:00:39,540 --> 00:00:43,060 And then I've done my validation, making sure to include Storage 13 00:00:43,060 --> 00:00:44,960 Spaces Direct in the test suite. 14 00:00:44,960 --> 00:00:49,080 Then I created the failover cluster with the two nodes. And notice that I've 15 00:00:49,080 --> 00:00:52,540 got no storage here. And if I go to Failover Cluster Manager, 16 00:00:52,540 --> 00:00:53,800 I've got my nodes, 17 00:00:53,800 --> 00:00:58,750 they're both up, but there's nothing by way of pools or disks in the Storage 18 00:00:58,750 --> 00:01:01,670 bucket yet, because I'm going to do that separately right now. 19 00:01:01,670 --> 00:01:04,150 I've also, because this is a two‑node cluster, set an 20 00:01:04,150 --> 00:01:07,670 Azure Storage Account as a CloudWitness. 21 00:01:07,670 --> 00:01:10,590 That's what this Set‑ClusterQuorum ‑CloudWitness is. 22 00:01:10,590 --> 00:01:13,180 I'm using a general‑purpose storage account called 23 00:01:13,180 --> 00:01:17,490 contosofiles001. And then the real important piece right here 24 00:01:17,490 --> 00:01:20,560 is the Enable‑ClusterStorageSpacesDirect. 25 00:01:20,560 --> 00:01:25,410 This is going to light up s2d and do a bunch of work for us automatically. 26 00:01:25,410 --> 00:01:30,030 You'll see what happens specifically after we run the command. It asks are 27 00:01:30,030 --> 00:01:33,740 you sure you want to enable cluster Storage Spaces Direct? 28 00:01:33,740 --> 00:01:35,600 I'm going to answer Yes to All here. 29 00:01:35,600 --> 00:01:38,040 Now you should know that this is going to be a long‑running 30 00:01:38,040 --> 00:01:41,350 operation, 10‑15 minutes, and you'll get a failure. 31 00:01:41,350 --> 00:01:45,240 It'll bomb out if you happen to have a domain controller as one 32 00:01:45,240 --> 00:01:48,170 of your nodes. You're not allowed to do that, so these are going 33 00:01:48,170 --> 00:01:51,860 to need to be domain member servers, which in my case they are. 34 00:01:51,860 --> 00:01:55,550 Once that command completes, we can come back to Failover Cluster 35 00:01:55,550 --> 00:02:00,240 Manager and we can see that that Enable‑ClusterStorageSpacesDirect 36 00:02:00,240 --> 00:02:04,130 created a default storage pool called Cluster Pool 1. 37 00:02:04,130 --> 00:02:05,860 We can change the name of it right here. 38 00:02:05,860 --> 00:02:10,780 I'll call this S2D‑Pool, click OK, and we can see that it consists of 39 00:02:10,780 --> 00:02:14,170 all detected disks from those nodes, in other words, 40 00:02:14,170 --> 00:02:18,750 those two SCSI disks I showed you in those nodes. I should have mentioned 41 00:02:18,750 --> 00:02:22,760 that if I went into Disk Management or Windows Admin Center, 42 00:02:22,760 --> 00:02:26,960 you would have seen that I had two disks on each node that were 43 00:02:26,960 --> 00:02:29,520 initialized, but I hadn't created a volume. 44 00:02:29,520 --> 00:02:30,130 In other words, 45 00:02:30,130 --> 00:02:34,100 they were in the same state as the disks were in the previous demo when 46 00:02:34,100 --> 00:02:37,100 I used Storage Spaces on a single server, alright. 47 00:02:37,100 --> 00:02:40,230 So that is the physical disk layout. And then to finish the 48 00:02:40,230 --> 00:02:43,420 configuration, just like we saw in the previous demo, we've got our 49 00:02:43,420 --> 00:02:46,250 pool and then we create new virtual disk. 50 00:02:46,250 --> 00:02:48,340 So let's go to New Virtual Disk. 51 00:02:48,340 --> 00:02:52,770 We select our S2D storage pool, click OK. This kicks open the 52 00:02:52,770 --> 00:02:55,880 Storage Spaces Direct New Virtual Disk Wizard. 53 00:02:55,880 --> 00:03:00,540 Next I'm going to call this workload1, click Next, specify our size. 54 00:03:00,540 --> 00:03:03,890 I'm going to make this 10 GB. It tells us under the hood that it's 55 00:03:03,890 --> 00:03:07,340 HDD storage in a Two‑Way Mirror configuration. 56 00:03:07,340 --> 00:03:10,990 And then let's click Create. And then I want to make sure, Create a 57 00:03:10,990 --> 00:03:14,760 volume when this wizard closes, because the virtual disk isn't going to 58 00:03:14,760 --> 00:03:16,960 get us very far unless we've got a volume. 59 00:03:16,960 --> 00:03:19,110 So now let's go through the New Volume Wizard. 60 00:03:19,110 --> 00:03:20,250 This should look familiar. 61 00:03:20,250 --> 00:03:22,770 We'll select the cluster as our server. 62 00:03:22,770 --> 00:03:26,640 There's our workload1 virtual disk. We'll use all of the storage. 63 00:03:26,640 --> 00:03:29,360 I'll not assign a drive letter right now, we'll click Next. 64 00:03:29,360 --> 00:03:32,590 We'll give the Volume label, workload1. 65 00:03:32,590 --> 00:03:36,530 I'll leave ReFS and the Allocation unit size alone, we won't do 66 00:03:36,530 --> 00:03:39,260 data dedup at this point, and then we'll Create. 67 00:03:39,260 --> 00:03:39,670 Alright, 68 00:03:39,670 --> 00:03:42,790 let's close out of that wizard, and if we head on over 69 00:03:42,790 --> 00:03:47,940 here under our Pool to Virtual Disks, we can see our workload1 volume. 70 00:03:47,940 --> 00:03:50,520 We can add a drive letter if we want to, but what I 71 00:03:50,520 --> 00:03:52,820 really want to do is come over to Disks, 72 00:03:52,820 --> 00:03:57,810 right‑click our new virtual disk, and Add to Cluster Shared Volumes to make 73 00:03:57,810 --> 00:04:03,110 sure that the cluster replicates the VHD that represents this virtual disk to 74 00:04:03,110 --> 00:04:06,960 all nodes in the cluster. And we can see down at the bottom that it's being 75 00:04:06,960 --> 00:04:10,440 copied to C:\ClusterStorage\workload1. 76 00:04:10,440 --> 00:04:15,920 Let me open up a path here on web3 to the c$ administrative share, 77 00:04:15,920 --> 00:04:19,900 and here we have our ClusterStorage, workload1, and eventually, 78 00:04:19,900 --> 00:04:23,910 that's where the virtual hard disk is going to appear. And check the 79 00:04:23,910 --> 00:04:27,940 exercise files for some additional info on ways that you can tweak 80 00:04:27,940 --> 00:04:36,000 your CSVs for performance, particularly things like creating an extra cache for I/O to and from that CSV.