1 00:00:00,740 --> 00:00:03,620 In this demonstration, we'll take a look at DFS. 2 00:00:03,620 --> 00:00:07,880 I'm on a Windows Server 2022 file server called localmem1. 3 00:00:07,880 --> 00:00:11,060 You can see my BGInfo info in the upper right corner. 4 00:00:11,060 --> 00:00:14,880 Let me go into Server Manager, and let me just review 5 00:00:14,880 --> 00:00:17,040 the role and feature installation. 6 00:00:17,040 --> 00:00:20,830 So in the wizard here we've got our role or feature‑based installation. 7 00:00:20,830 --> 00:00:22,560 I'm managing two servers here. 8 00:00:22,560 --> 00:00:26,540 I want to make sure to choose localmem1, the machine I'm on right now. 9 00:00:26,540 --> 00:00:29,980 And then let's take a look here. Particularly, I want us to look at the File and 10 00:00:29,980 --> 00:00:33,410 Storage Services role, and we've got the Storage Services. 11 00:00:33,410 --> 00:00:36,660 If we select this, it gives us a little description of what it means. 12 00:00:36,660 --> 00:00:41,060 We want File and iSCSI Services. And I've installed pretty much everything, 13 00:00:41,060 --> 00:00:44,400 more than what we need actually, but the main things I want you to see here 14 00:00:44,400 --> 00:00:47,870 for DFS is that you've got DFS Namespaces, 15 00:00:47,870 --> 00:00:51,810 this is for setting up a DFS tree on the server, and then 16 00:00:51,810 --> 00:00:54,490 if you're going to do DFS Replication, 17 00:00:54,490 --> 00:00:57,360 you also need to make sure that that's installed as well. 18 00:00:57,360 --> 00:01:01,270 So, you could just have a machine running the DFS Replication. 19 00:01:01,270 --> 00:01:04,540 Maybe you've got file servers that aren't going to host a namespace, 20 00:01:04,540 --> 00:01:07,170 but they're just going to replicate shared folders. 21 00:01:07,170 --> 00:01:10,620 In that case, you want DFS Replication. To do a namespace 22 00:01:10,620 --> 00:01:13,320 tree, we want the DFS Namespaces feature. 23 00:01:13,320 --> 00:01:15,500 We'll talk about those other features later. 24 00:01:15,500 --> 00:01:19,730 All right, I have my admin console up here, and I've got my DFS Management 25 00:01:19,730 --> 00:01:23,390 snap‑in loaded. Notice that there's Namespaces and Replication. 26 00:01:23,390 --> 00:01:26,430 We're going to create a namespace, so let's right‑click New 27 00:01:26,430 --> 00:01:31,690 Namespace, and the name of the server is localmem1, and the name of 28 00:01:31,690 --> 00:01:33,930 the namespace, I'm going to call it public. 29 00:01:33,930 --> 00:01:37,350 I know that's not very imaginative. And if we go to Edit Settings, 30 00:01:37,350 --> 00:01:42,170 the default local path for the shared folder is going to be C:\DFSRoots\public. 31 00:01:42,170 --> 00:01:43,310 Now if I don't want that, 32 00:01:43,310 --> 00:01:47,320 I can change it, or maybe I can change the drive letter to give me more space, 33 00:01:47,320 --> 00:01:47,740 whatever. 34 00:01:47,740 --> 00:01:50,920 And I'm going to customize the permissions. Administrators have 35 00:01:50,920 --> 00:01:53,810 full access. Other users have read and write. 36 00:01:53,810 --> 00:01:57,420 So you can customize those here or at the shared folder itself. 37 00:01:57,420 --> 00:02:00,980 Let's click OK and then Next. Now we want to do a domain‑based 38 00:02:00,980 --> 00:02:05,180 namespace because I want to use DFS Replication and take advantage of 39 00:02:05,180 --> 00:02:07,200 site awareness and all of that good stuff. 40 00:02:07,200 --> 00:02:10,970 We don't want standalone, so let's click Next and then Create and Close. 41 00:02:10,970 --> 00:02:13,970 So now we have a single universal naming convention 42 00:02:13,970 --> 00:02:16,770 path, contosolocal.int\public. 43 00:02:16,770 --> 00:02:18,950 However, we don't have any referrals, 44 00:02:18,950 --> 00:02:22,540 anything underneath that namespace, so let's go ahead and create that. 45 00:02:22,540 --> 00:02:27,630 Let's right‑click New Folder, and we can click Add to browse our local shares. 46 00:02:27,630 --> 00:02:32,040 I have a share called data and HR‑forms. Let me grab HR‑forms, click 47 00:02:32,040 --> 00:02:35,700 OK. And one nice thing about this is that although your shared 48 00:02:35,700 --> 00:02:38,120 folders may have really unintuitive names, 49 00:02:38,120 --> 00:02:42,830 you can get a do over here because you can just change this, human‑resources. 50 00:02:42,830 --> 00:02:46,270 You see? You can change the share name and click OK, and 51 00:02:46,270 --> 00:02:48,640 now we have ourselves a folder target. 52 00:02:48,640 --> 00:02:51,690 Now, remember that these folder targets are site aware. 53 00:02:51,690 --> 00:02:56,150 We can see Default‑First‑Site‑Name, which means that our users, 54 00:02:56,150 --> 00:03:00,520 if we've replicated these folder targets on multiple servers, 55 00:03:00,520 --> 00:03:04,710 the users will be connected to the instance that is within their site. 56 00:03:04,710 --> 00:03:06,480 You see some really nice engineering. 57 00:03:06,480 --> 00:03:10,260 Let's right‑click and create another folder, and we'll click Add, 58 00:03:10,260 --> 00:03:13,540 and this time let's browse to another server. 59 00:03:13,540 --> 00:03:16,570 Like I have LOCALDC1, for example, 60 00:03:16,570 --> 00:03:19,590 and it looks like there's a new‑hire‑paperwork shared folder. 61 00:03:19,590 --> 00:03:21,310 Let's bring that in, click OK. 62 00:03:21,310 --> 00:03:24,570 I'll just call this forms, and we'll click OK. 63 00:03:24,570 --> 00:03:27,710 And so now we have a couple folders with folder targets. 64 00:03:27,710 --> 00:03:32,000 We can test this by just going to the Universal Naming Convention path, 65 00:03:32,000 --> 00:03:36,950 \\constosolocal.int\public, and now we have our two 66 00:03:36,950 --> 00:03:39,390 resources, and they've got their data in it. 67 00:03:39,390 --> 00:03:42,550 Now in terms of high availability, we've got a couple options here. 68 00:03:42,550 --> 00:03:46,370 One, we can add an additional server to host the namespace. 69 00:03:46,370 --> 00:03:49,100 So let me right‑click the namespace and add a namespace 70 00:03:49,100 --> 00:03:51,620 server. That's going to be localdc1. 71 00:03:51,620 --> 00:03:56,280 Now that localdc1 is going to have to have the DFS role on 72 00:03:56,280 --> 00:03:58,020 it, and if we want to do replication, 73 00:03:58,020 --> 00:04:01,900 it's going to need to have the DFS Replication role service as well. 74 00:04:01,900 --> 00:04:05,120 I'm going to leave the local path here, Administrators, 75 00:04:05,120 --> 00:04:09,360 etc. bring that in. Now that operation does not 76 00:04:09,360 --> 00:04:11,960 replicate any of the folder targets. 77 00:04:11,960 --> 00:04:14,710 It simply makes the namespace highly available. 78 00:04:14,710 --> 00:04:17,330 So when we hit contosolocal.int\public, we might 79 00:04:17,330 --> 00:04:19,540 actually be hitting either server, 80 00:04:19,540 --> 00:04:22,880 you see. So if we took one of those name servers offline, 81 00:04:22,880 --> 00:04:24,680 the other one would still be available. 82 00:04:24,680 --> 00:04:25,060 And again, 83 00:04:25,060 --> 00:04:29,100 this is site aware. So we could hit that public route at either 84 00:04:29,100 --> 00:04:37,960 \\LOCALDC1.contosolocal.int or \\LOCALMEM1.contosolocal.int or contosolocal, 85 00:04:37,960 --> 00:04:38,430 you see? 86 00:04:38,430 --> 00:04:39,170 Good stuff. 87 00:04:39,170 --> 00:04:42,040 Now let's finish this demo by showing how to configure 88 00:04:42,040 --> 00:04:44,140 high availability for your folders. 89 00:04:44,140 --> 00:04:48,560 Now here we can see we've got our folder called forms that right now is mapping 90 00:04:48,560 --> 00:04:52,500 to a share on LOCALDC1. It's the new‑hire‑paperwork path, 91 00:04:52,500 --> 00:04:53,440 as you can see here. 92 00:04:53,440 --> 00:04:55,070 If we go over to Replication, 93 00:04:55,070 --> 00:04:57,750 it says that we're not configuring replication yet. To 94 00:04:57,750 --> 00:05:01,240 configure DFS Replication, start the Replicate Folder Wizard. 95 00:05:01,240 --> 00:05:04,700 And it tells us here you need at least two folder targets to 96 00:05:04,700 --> 00:05:06,730 configure replication on a folder. 97 00:05:06,730 --> 00:05:08,820 Do you want to add another folder target now? 98 00:05:08,820 --> 00:05:09,360 And I do. 99 00:05:09,360 --> 00:05:11,330 So we'll simply create that target. 100 00:05:11,330 --> 00:05:15,030 We'll browse on LOCALMEM1. Let's create a new shared folder, 101 00:05:15,030 --> 00:05:19,590 and I'll call this replicated‑forms where the local path is 102 00:05:19,590 --> 00:05:22,480 going to be e, replicated‑forms. 103 00:05:22,480 --> 00:05:27,320 OK. We'll set initial permissions here and then click OK and OK. 104 00:05:27,320 --> 00:05:30,970 So we now have two targets, one on each server, but 105 00:05:30,970 --> 00:05:32,620 we don't have replication yet. 106 00:05:32,620 --> 00:05:35,670 We can't really have one without the other, so we're going to answer 107 00:05:35,670 --> 00:05:40,240 this replication modal dialog by creating a replication group, Yes. I 108 00:05:40,240 --> 00:05:44,210 will leave the default replicated folder name alone, and it just tells 109 00:05:44,210 --> 00:05:48,540 us here what our two targets are, LOCALDC1\new‑hire‑paperwork, 110 00:05:48,540 --> 00:05:50,630 LOCALMEM1\replicated‑forms, 111 00:05:50,630 --> 00:05:54,530 which is the authoritative. In this case, the share is sourced on 112 00:05:54,530 --> 00:05:57,850 my DC1. Next, we've got a few topologies here. 113 00:05:57,850 --> 00:06:02,040 This would be full mesh because I want full bidirectional synchronization. 114 00:06:02,040 --> 00:06:06,270 If you have a one‑to‑many relationship, you can do hub and spoke. 115 00:06:06,270 --> 00:06:09,280 Full mesh is definitely what I want for high availability. 116 00:06:09,280 --> 00:06:12,300 We're going to replicate continuously with full bandwidth, and 117 00:06:12,300 --> 00:06:15,200 then we're going to Create and click Close. Tells us that 118 00:06:15,200 --> 00:06:18,500 replication won't begin until the configuration is picked up by 119 00:06:18,500 --> 00:06:20,420 all members of the replication group. 120 00:06:20,420 --> 00:06:21,430 That should be fine. 121 00:06:21,430 --> 00:06:24,940 So at this point, we have two layers of high availability for 122 00:06:24,940 --> 00:06:27,010 our shared folder structure. Number one, 123 00:06:27,010 --> 00:06:31,540 we've got our contosolocal.int\public namespace on more than one server. 124 00:06:31,540 --> 00:06:33,580 So if one of these namespace servers is 125 00:06:33,580 --> 00:06:36,640 unavailable, this UNC will still resolve. 126 00:06:36,640 --> 00:06:40,540 Next, we configure high availability for our folders and targets. 127 00:06:40,540 --> 00:06:44,740 And the way we did that is we created the folder and we created an additional 128 00:06:44,740 --> 00:06:49,920 target on another DFS server. Because we have Active Directory site awareness, 129 00:06:49,920 --> 00:06:52,430 notice we have a column property here for Site. 130 00:06:52,430 --> 00:06:56,810 This is going to ensure that any users connecting to that forms folder will 131 00:06:56,810 --> 00:07:00,060 be hitting their local instance that's in their site. 132 00:07:00,060 --> 00:07:05,060 And then on Replication, we can verify the properties of the DFS Replication. 133 00:07:05,060 --> 00:07:05,780 Ultimately, 134 00:07:05,780 --> 00:07:10,540 that means that we can hit contosolocal.int\public, and we can access 135 00:07:10,540 --> 00:07:20,000 that forms with its data in a nice convenient way, regardless of whether one of those two servers is available or unavailable.