In this demonstration, we'll take a look at DFS.
I'm on a Windows Server 2022 file server called localmem1.
You can see my BGInfo info in the upper right corner.
Let me go into Server Manager, and let me just review
the role and feature installation.
So in the wizard here we've got our role or feature‑based installation.
I'm managing two servers here.
I want to make sure to choose localmem1, the machine I'm on right now.
And then let's take a look here. Particularly, I want us to look at the File and
Storage Services role, and we've got the Storage Services.
If we select this, it gives us a little description of what it means.
We want File and iSCSI Services. And I've installed pretty much everything,
more than what we need actually, but the main things I want you to see here
for DFS is that you've got DFS Namespaces,
this is for setting up a DFS tree on the server, and then
if you're going to do DFS Replication,
you also need to make sure that that's installed as well.
So, you could just have a machine running the DFS Replication.
Maybe you've got file servers that aren't going to host a namespace,
but they're just going to replicate shared folders.
In that case, you want DFS Replication. To do a namespace
tree, we want the DFS Namespaces feature.
We'll talk about those other features later.
All right, I have my admin console up here, and I've got my DFS Management
snap‑in loaded. Notice that there's Namespaces and Replication.
We're going to create a namespace, so let's right‑click New
Namespace, and the name of the server is localmem1, and the name of
the namespace, I'm going to call it public.
I know that's not very imaginative. And if we go to Edit Settings,
the default local path for the shared folder is going to be C:\DFSRoots\public.
Now if I don't want that,
I can change it, or maybe I can change the drive letter to give me more space,
whatever.
And I'm going to customize the permissions. Administrators have
full access. Other users have read and write.
So you can customize those here or at the shared folder itself.
Let's click OK and then Next. Now we want to do a domain‑based
namespace because I want to use DFS Replication and take advantage of
site awareness and all of that good stuff.
We don't want standalone, so let's click Next and then Create and Close.
So now we have a single universal naming convention
path, contosolocal.int\public.
However, we don't have any referrals,
anything underneath that namespace, so let's go ahead and create that.
Let's right‑click New Folder, and we can click Add to browse our local shares.
I have a share called data and HR‑forms. Let me grab HR‑forms, click
OK. And one nice thing about this is that although your shared
folders may have really unintuitive names,
you can get a do over here because you can just change this, human‑resources.
You see? You can change the share name and click OK, and
now we have ourselves a folder target.
Now, remember that these folder targets are site aware.
We can see Default‑First‑Site‑Name, which means that our users,
if we've replicated these folder targets on multiple servers,
the users will be connected to the instance that is within their site.
You see some really nice engineering.
Let's right‑click and create another folder, and we'll click Add,
and this time let's browse to another server.
Like I have LOCALDC1, for example,
and it looks like there's a new‑hire‑paperwork shared folder.
Let's bring that in, click OK.
I'll just call this forms, and we'll click OK.
And so now we have a couple folders with folder targets.
We can test this by just going to the Universal Naming Convention path,
\\constosolocal.int\public, and now we have our two
resources, and they've got their data in it.
Now in terms of high availability, we've got a couple options here.
One, we can add an additional server to host the namespace.
So let me right‑click the namespace and add a namespace
server. That's going to be localdc1.
Now that localdc1 is going to have to have the DFS role on
it, and if we want to do replication,
it's going to need to have the DFS Replication role service as well.
I'm going to leave the local path here, Administrators,
etc. bring that in. Now that operation does not
replicate any of the folder targets.
It simply makes the namespace highly available.
So when we hit contosolocal.int\public, we might
actually be hitting either server,
you see. So if we took one of those name servers offline,
the other one would still be available.
And again,
this is site aware. So we could hit that public route at either
\\LOCALDC1.contosolocal.int or \\LOCALMEM1.contosolocal.int or contosolocal,
you see?
Good stuff.
Now let's finish this demo by showing how to configure
high availability for your folders.
Now here we can see we've got our folder called forms that right now is mapping
to a share on LOCALDC1. It's the new‑hire‑paperwork path,
as you can see here.
If we go over to Replication,
it says that we're not configuring replication yet. To
configure DFS Replication, start the Replicate Folder Wizard.
And it tells us here you need at least two folder targets to
configure replication on a folder.
Do you want to add another folder target now?
And I do.
So we'll simply create that target.
We'll browse on LOCALMEM1. Let's create a new shared folder,
and I'll call this replicated‑forms where the local path is
going to be e, replicated‑forms.
OK. We'll set initial permissions here and then click OK and OK.
So we now have two targets, one on each server, but
we don't have replication yet.
We can't really have one without the other, so we're going to answer
this replication modal dialog by creating a replication group, Yes. I
will leave the default replicated folder name alone, and it just tells
us here what our two targets are, LOCALDC1\new‑hire‑paperwork,
LOCALMEM1\replicated‑forms,
which is the authoritative. In this case, the share is sourced on
my DC1. Next, we've got a few topologies here.
This would be full mesh because I want full bidirectional synchronization.
If you have a one‑to‑many relationship, you can do hub and spoke.
Full mesh is definitely what I want for high availability.
We're going to replicate continuously with full bandwidth, and
then we're going to Create and click Close. Tells us that
replication won't begin until the configuration is picked up by
all members of the replication group.
That should be fine.
So at this point, we have two layers of high availability for
our shared folder structure. Number one,
we've got our contosolocal.int\public namespace on more than one server.
So if one of these namespace servers is
unavailable, this UNC will still resolve.
Next, we configure high availability for our folders and targets.
And the way we did that is we created the folder and we created an additional
target on another DFS server. Because we have Active Directory site awareness,
notice we have a column property here for Site.
This is going to ensure that any users connecting to that forms folder will
be hitting their local instance that's in their site.
And then on Replication, we can verify the properties of the DFS Replication.
Ultimately,
that means that we can hit contosolocal.int\public, and we can access
that forms with its data in a nice convenient way, regardless of whether one of those two servers is available or unavailable.