1 00:00:01,040 --> 00:00:02,060 In this demonstration, 2 00:00:02,060 --> 00:00:04,230 I'm going to teach you how to set up and configure 3 00:00:04,230 --> 00:00:07,040 Quorum for our Windows Server cluster. 4 00:00:07,040 --> 00:00:09,240 We'll also cover Cluster‑Aware Updating, 5 00:00:09,240 --> 00:00:12,670 and by the end of this demo, we will have set up also, 6 00:00:12,670 --> 00:00:16,980 but wait, there's more, we'll also have set up Storage Spaces Direct, 7 00:00:16,980 --> 00:00:18,980 as well as a highly available VM. 8 00:00:18,980 --> 00:00:21,660 Yeah, a lot to do for sure, so let's get right to it. 9 00:00:21,660 --> 00:00:24,540 I am still on my cluster node MEM1, 10 00:00:24,540 --> 00:00:27,410 and hopefully you've got your screen set at a 11 00:00:27,410 --> 00:00:29,810 resolution to where this isn't too small. 12 00:00:29,810 --> 00:00:33,040 Unfortunately, we record at 1080 resolution, 13 00:00:33,040 --> 00:00:35,810 which can make things a bit small for old 14 00:00:35,810 --> 00:00:39,890 non‑responsive applications like MMC consoles. 15 00:00:39,890 --> 00:00:44,190 But I created a custom console where I've brought in a whole bunch of 16 00:00:44,190 --> 00:00:47,540 snap‑ins that I think are relevant to our interests. 17 00:00:47,540 --> 00:00:50,920 So first of all, let's open up my Failover Cluster Manager, 18 00:00:50,920 --> 00:00:56,000 and let's take a look at my az801cluster cluster. 19 00:00:56,000 --> 00:00:59,000 And specifically, I'm going to right‑click that cluster node, 20 00:00:59,000 --> 00:01:02,460 and notice that you can always validate your cluster, 21 00:01:02,460 --> 00:01:06,740 view the most recent validation report, add a node. 22 00:01:06,740 --> 00:01:09,590 But what I want to do is go to More Actions, 23 00:01:09,590 --> 00:01:14,940 Configure Cluster Quorum Settings, and this launches yet another wizard. 24 00:01:14,940 --> 00:01:19,560 And what I'm going to do here is not let the cluster decide what the majority 25 00:01:19,560 --> 00:01:23,440 should be or just jump directly to configuring a witness. 26 00:01:23,440 --> 00:01:27,510 I'm going to go to Advanced quorum configuration so we can have the 27 00:01:27,510 --> 00:01:31,130 most flexibility over the entire Quorum setup process. 28 00:01:31,130 --> 00:01:32,820 So let me click Next. 29 00:01:32,820 --> 00:01:36,330 First, we're asked nodewise who is going to have a vote. 30 00:01:36,330 --> 00:01:40,290 In this case, I just have two nodes, mem1 and mem2. 31 00:01:40,290 --> 00:01:40,830 That's fine. 32 00:01:40,830 --> 00:01:41,840 They're both up. 33 00:01:41,840 --> 00:01:45,020 The big question here is what kind of witness do I want? 34 00:01:45,020 --> 00:01:47,730 I think I already told you I want to do a cloud witness, 35 00:01:47,730 --> 00:01:51,540 but notice that we've got disk and file share and do not 36 00:01:51,540 --> 00:01:53,950 configure as other possible options. 37 00:01:53,950 --> 00:01:59,740 Now when we configure a cloud witness, we need to connect to a storage account. 38 00:01:59,740 --> 00:02:02,910 So that presumes, let me jump over to the Azure portal, 39 00:02:02,910 --> 00:02:07,130 that you have a general purpose v2 storage account created, 40 00:02:07,130 --> 00:02:12,540 and you also need to use the access key authorization method. 41 00:02:12,540 --> 00:02:16,250 Now the good news about access keys is that they're 42 00:02:16,250 --> 00:02:18,540 convenient and that you can rotate them, 43 00:02:18,540 --> 00:02:19,490 as you can see. 44 00:02:19,490 --> 00:02:25,140 This would invalidate any leaked keys that may be out there in the world. 45 00:02:25,140 --> 00:02:28,860 And you can also, oh well, I noticed this for the first time, 46 00:02:28,860 --> 00:02:30,410 set a rotation reminder. 47 00:02:30,410 --> 00:02:31,670 I've never seen that before. 48 00:02:31,670 --> 00:02:32,740 Cool. 49 00:02:32,740 --> 00:02:36,340 But I was looking up here because there's normally a bit of verbiage 50 00:02:36,340 --> 00:02:40,340 that you can also store your access keys in Key Vault. 51 00:02:40,340 --> 00:02:42,180 But anyway, those are some points. 52 00:02:42,180 --> 00:02:43,760 Good news is convenience. 53 00:02:43,760 --> 00:02:47,960 Bad news is that if the plain text of an access key leaks, 54 00:02:47,960 --> 00:02:51,040 you really want to remediate that immediately. 55 00:02:51,040 --> 00:02:53,990 Doesn't matter whether you use key1 or key2 here, 56 00:02:53,990 --> 00:02:56,140 but we'll need one of those values. 57 00:02:56,140 --> 00:02:58,080 So we need the name of the storage account, 58 00:02:58,080 --> 00:03:03,110 the key, and then the service endpoint is core.windows.net. 59 00:03:03,110 --> 00:03:07,840 That's the public DNS that Microsoft uses in Azure for Azure Storage. 60 00:03:07,840 --> 00:03:11,080 So if I go over to my PowerShell script file, 61 00:03:11,080 --> 00:03:14,570 I can verify here because this is doing the same thing in PowerShell, 62 00:03:14,570 --> 00:03:16,700 Set‑ClusterQuorum‑‑CloudWitness. 63 00:03:16,700 --> 00:03:20,940 Timstorage001 is the name of my storage account. 64 00:03:20,940 --> 00:03:24,550 I'm going to copy out the key, and yes, 65 00:03:24,550 --> 00:03:29,210 I'm regenerating the key after I'm finished here because I certainly 66 00:03:29,210 --> 00:03:33,310 don't want a real‑live key in my Pluralsight course. 67 00:03:33,310 --> 00:03:37,670 So my storage account name, timstorage001. 68 00:03:37,670 --> 00:03:45,060 Let me Ctrl+V that key in there and click Next, Next, and here we go. 69 00:03:45,060 --> 00:03:50,540 So now we've got node majority plus witness as our forum type. 70 00:03:50,540 --> 00:03:50,940 Good. 71 00:03:50,940 --> 00:03:54,510 Now we're not going to really be able to do much of anything 72 00:03:54,510 --> 00:03:57,050 on this cluster until we've got storage, 73 00:03:57,050 --> 00:04:00,380 so we might as well take care of that next actually. 74 00:04:00,380 --> 00:04:03,750 So, I'm going to do Storage Spaces Direct. 75 00:04:03,750 --> 00:04:06,780 And I know that we haven't gotten to that module yet, 76 00:04:06,780 --> 00:04:09,590 so I'm kind of letting the cat out of the bag, 77 00:04:09,590 --> 00:04:14,030 but that's good because I found that when I first learned Storage Spaces Direct, 78 00:04:14,030 --> 00:04:16,940 it was kind of difficult to wrap my mind around it. 79 00:04:16,940 --> 00:04:19,080 So I'm just going to have us jump into the pool, 80 00:04:19,080 --> 00:04:22,400 and then when we circle back and formally cover the subject, 81 00:04:22,400 --> 00:04:25,140 you'll already have some familiarity with it. 82 00:04:25,140 --> 00:04:26,450 Now, what I've got here, 83 00:04:26,450 --> 00:04:30,470 notice I've got my Disk Management console set up for both mem1, 84 00:04:30,470 --> 00:04:34,660 the local box, as well as mem2, the other member of this cluster. 85 00:04:34,660 --> 00:04:36,780 With Storage Spaces Direct, 86 00:04:36,780 --> 00:04:42,260 the value prop is that you can use the server's own disks as shared storage. 87 00:04:42,260 --> 00:04:43,440 You see what I mean? 88 00:04:43,440 --> 00:04:48,300 The catch to that though is that the disks need to be unallocated, 89 00:04:48,300 --> 00:04:53,620 in other words, there can be no partition or volume structure on those disks. 90 00:04:53,620 --> 00:04:58,940 And number two, they need to be online and initialized. 91 00:04:58,940 --> 00:05:03,680 So as you can see, I've got two disks, 127 GB each. 92 00:05:03,680 --> 00:05:06,740 And when I connected them, of course, they were offline, 93 00:05:06,740 --> 00:05:09,510 so I right‑clicked in here and went Online. 94 00:05:09,510 --> 00:05:12,420 Then I right‑clicked, and I did initialize. 95 00:05:12,420 --> 00:05:15,910 And you can use either Master Boot Record or GUID 96 00:05:15,910 --> 00:05:17,900 Partition Table for your disk layout. 97 00:05:17,900 --> 00:05:19,350 I'm using MBR here. 98 00:05:19,350 --> 00:05:20,830 I'm kicking it old school. 99 00:05:20,830 --> 00:05:24,840 And I've got that same configuration from mem2. 100 00:05:24,840 --> 00:05:26,750 As a good best practice, 101 00:05:26,750 --> 00:05:31,010 you want to do everything you can to make sure that the storage topology, 102 00:05:31,010 --> 00:05:34,410 that is the disk geometry and topology, 103 00:05:34,410 --> 00:05:37,580 whatever term you want to use for your cluster nodes, 104 00:05:37,580 --> 00:05:38,080 matches. 105 00:05:38,080 --> 00:05:39,740 It's easiest that way. 106 00:05:39,740 --> 00:05:40,520 All right, 107 00:05:40,520 --> 00:05:43,750 so we've got a total of four disks that we're going to 108 00:05:43,750 --> 00:05:46,390 give over entirely to the cluster. 109 00:05:46,390 --> 00:05:50,090 And we can do that with one simple line of PowerShell. 110 00:05:50,090 --> 00:05:53,870 Let me show you right here, Enable‑ClusterStorageSpacesDirect. 111 00:05:53,870 --> 00:05:58,600 And then for CimSession, it's 801cluster. 112 00:05:58,600 --> 00:06:01,900 And the command does a lot of heavy lifting, 113 00:06:01,900 --> 00:06:06,640 and it's got a high impact here because by answering yes here, 114 00:06:06,640 --> 00:06:09,540 I'm actually going to do A, whoops, not in here, 115 00:06:09,540 --> 00:06:11,470 down in the output, I'm going to type A, 116 00:06:11,470 --> 00:06:13,620 meaning Yes to all. 117 00:06:13,620 --> 00:06:18,170 This is not only enabling Storage Spaces Direct on the cluster, 118 00:06:18,170 --> 00:06:23,030 but the cmdlet now is going to go out to each node and try 119 00:06:23,030 --> 00:06:27,630 to grab hold of every eligible disk and bring those disks 120 00:06:27,630 --> 00:06:31,040 in for use as a shared pool. 121 00:06:31,040 --> 00:06:35,560 And this means that going forward, if you add more storage to your servers, 122 00:06:35,560 --> 00:06:40,310 those disks are going to be snapped up by Storage Spaces Direct as well. 123 00:06:40,310 --> 00:06:44,850 So again, it's a pretty high‑impact operation here, as you can see. 124 00:06:44,850 --> 00:06:47,310 So that didn't take long to do. 125 00:06:47,310 --> 00:06:49,940 I know that in future lessons, 126 00:06:49,940 --> 00:06:52,900 I'll show you how to report on Storage Spaces Direct, 127 00:06:52,900 --> 00:06:55,210 but we don't need to worry about that right now. 128 00:06:55,210 --> 00:06:57,580 I just wanted that operation to complete. 129 00:06:57,580 --> 00:07:00,120 And you'll notice that if we go back to Failover 130 00:07:00,120 --> 00:07:08,180 Cluster Manager and if I go to Storage, we now have Cluster Pool 1 defined. 131 00:07:08,180 --> 00:07:12,120 It has the logical name S2D on az801cluster. 132 00:07:12,120 --> 00:07:14,630 And if I go to Physical Disks, 133 00:07:14,630 --> 00:07:19,440 you can see that it's enlisted both disks from each server. 134 00:07:19,440 --> 00:07:20,630 Now then from here, 135 00:07:20,630 --> 00:07:23,630 we can then start to create virtual disks that have 136 00:07:23,630 --> 00:07:28,470 different types of redundancy, like a mirror or a stripe set with parity. 137 00:07:28,470 --> 00:07:30,340 But again, that's all for the future. 138 00:07:30,340 --> 00:07:31,310 One thing at a time. 139 00:07:31,310 --> 00:07:33,930 I just wanted to make sure to have that here. 140 00:07:33,930 --> 00:07:38,780 Now about Cluster‑Aware Updating, let's go back to the cluster node here, 141 00:07:38,780 --> 00:07:44,230 right‑click, More Actions, and go to Cluster‑Aware Updating. 142 00:07:44,230 --> 00:07:49,640 This invokes a separate graphical user interface, as you can see here. 143 00:07:49,640 --> 00:07:53,540 And the idea here is that we can connect to our cluster, and you 144 00:07:53,540 --> 00:07:55,690 might have more than one cluster available, 145 00:07:55,690 --> 00:07:59,360 so you can use the single GUI to manage a multi‑cluster 146 00:07:59,360 --> 00:08:01,180 infrastructure like a cluster set, 147 00:08:01,180 --> 00:08:05,240 for example, and we can preview updates for this cluster. 148 00:08:05,240 --> 00:08:08,460 Now the plugin is either going to be WindowsUpdate, 149 00:08:08,460 --> 00:08:14,340 which is really Microsoft Update, just Microsoft hotfixes, 150 00:08:14,340 --> 00:08:16,220 or there's RollingUpgradePlugin. 151 00:08:16,220 --> 00:08:20,070 And depending upon whether you want to use the internet, 152 00:08:20,070 --> 00:08:22,490 that is Microsoft Update online, 153 00:08:22,490 --> 00:08:25,290 or if you want to use Windows Server Update Services, 154 00:08:25,290 --> 00:08:27,840 you also could do that as well. 155 00:08:27,840 --> 00:08:30,690 Now I'm just going to run an Update preview against the 156 00:08:30,690 --> 00:08:34,080 standard internet‑based Microsoft Update, 157 00:08:34,080 --> 00:08:39,300 and this is going to show any outstanding updates that those nodes don't have. 158 00:08:39,300 --> 00:08:41,660 And it looks like they're pretty well patched. 159 00:08:41,660 --> 00:08:45,320 It looks like we just have a Security Intelligence Update for 160 00:08:45,320 --> 00:08:47,800 Microsoft Defender on each of those nodes. 161 00:08:47,800 --> 00:08:49,540 Not too bad. 162 00:08:49,540 --> 00:08:52,740 Now we can apply updates to this cluster. 163 00:08:52,740 --> 00:08:55,570 We can configure cluster self‑updating options, 164 00:08:55,570 --> 00:08:58,570 but the catch with that is in order to configure 165 00:08:58,570 --> 00:09:00,630 your cluster to do self‑updating, 166 00:09:00,630 --> 00:09:05,720 you need to have the Cluster‑Aware Updating role running in your cluster. 167 00:09:05,720 --> 00:09:08,520 And I've found that works better with PowerShell. 168 00:09:08,520 --> 00:09:13,010 So here on line 23, we could do Add‑CauClusterRole, 169 00:09:13,010 --> 00:09:19,390 providing the name of the cluster, and then you define the auto‑update schedule. 170 00:09:19,390 --> 00:09:24,940 This example says that every Tuesday and Saturday for every three weeks, 171 00:09:24,940 --> 00:09:29,110 the cluster will do an automatic cluster run, 172 00:09:29,110 --> 00:09:32,880 and this highly available role is that Engine of Creation, 173 00:09:32,880 --> 00:09:34,760 if that makes sense. 174 00:09:34,760 --> 00:09:36,340 So let me right‑click. 175 00:09:36,340 --> 00:09:40,530 And this is going to create our first highly available role on the cluster. 176 00:09:40,530 --> 00:09:43,960 And it's going to take care of self‑updating this 177 00:09:43,960 --> 00:09:50,000 cluster on two days every three weeks. Well that was pretty easy, wasn't it?