AWS – Making AWS FSx for Windows Highly Available through Multi AZ Resilience – Part 5: Configure Namespace for Multi AZ FSx for Windows

As replication is now setup and working, we need to configure a namespace path for our users to use. This will allow end users to use a single UNC path and automatically be directed to whichever copy of the filesystem is available and failover to the other automatically without intervention.

For example, if we create the namespace: \\testdomain.thecloudwolf.com\CloudwolfDocuments and then publish our replication groups folder (FSXFolder) into it, this would provide the user to our filesystems through the following UNC path:

\\testdomain.thecloudwolf.com\CloudwolfDocuments\FSXFolder

Users would invisibly be redirected to our AZ B filesystem as this was the primary set in the replication group:

\\amznfsxmrrpnij7.testdomain.thecloudwolf.com\share

If our filesystem in AZ were to become unavailable, users would still access the same path they did previously, but this time they would be redirected to the remaining active filesystem in AZ C:

\\amznfsxeooygyqt.testdomain.thecloudwolf.com\share

The below diagram outlines the above.

Configuring the namespace for automatic filesystem failover

To achieve the above, we can configure the namespace from a single server. In this section, will configure it from our main namespace server in availability zone B. We can then simply add the secondary namespace server into this configuration without needing to log onto it.

In DFS Management (through the start menu), right click on the “Namespace” branch of the navigation tree, and then select “New Namespace”:

On the first page of the “New Namespace Wizard”, click browse and add the name of the namespace server you are currently on, or want to be the primary server in the namespace, this will be our namespace server in AZ B. Click “Next”.

On the “Namespace Name and Settings” page, enter a name you want to be the root folder for your users to access, this can be anything. We will publish our fileservers replication folder into here. You can publish multiple folders, or multiple filesystems into a folder, to its important to come up with a good structure. This will form the \CloudwolfDocuments\ section of the below UNC path. The Filesystems are the final \FSXFolder\ section of ” \\testdomain.thecloudwolf.com\CloudwolfDocuments\FSXFolder “.

Before clicking next, click “Edit Settings” to configure share permissions on the namespace share. It is always important to remember that NTFS permissions will take priority when it comes to restricting access over share permissions (they cannot allow more access than the share permissions allow, only less). It is also important to make sure that when setting up the secondary namespace server, we configure the same share permissions so that the users get the same experience regardless of which namespace server is controlling the share.

Note that although this shared permissions says “Administrators have full access”, I have found that this means local administrator accounts on the filesystem instances. It would be best to click “Use Custom Permissions” and configure your access appropriately. Permissions can be changed at a later date. Once configured, click “Next”

On the “Namespace Type” page, click “Domain-based namespace” and click “Next”.

On the final page, it will display a summary of the settings selected, once you are happy with the settings click “Create” to begin the creation of the namespace.

Once successfully completed, click “Close”

In the namespace menu, you should now see your newly created namespace and its details.

Now that we have our namespace, we need to add our secondary DFS namespace server so that if the primary does offline, the secondary can still provide and control the namespace.

On the namespace, click to the “Namespace Servers” tab. This will show that we currently only have one server for this namespace. To add our secondary, click “Add Namespace Server” on the actions menu on the right.

This will bring up a menu similar to when we added our first server when creating the namespace. Click browse to find and select the secondary namespace server, this is our namespace server in AZ C “TE-FSazC”.

Before clicking ok and completing the addition, click “Edit Settings” to configure share permissions on the namespace share for this new server. It is important to make sure to set the same settings as previously set when initially setting up the other server. Once set, click “ok” to add the server.

The namespace should now show that there are 2 servers (TE-FSazB and TE-FSazC)

Now that we have setup our namespace, we can test browsing to it using the path to our namespace (\\testdomain.thecloudwolf.com\CloudwolfDocuments\). However as we have not yet published any local or remote folders into it, it is empty. The next step will be to add our filesystems into our namespace.

Publish the FSx replication group into the Namespace

In DFS Management (through the start menu), navigate to our replication group we created previously, if its not showing in under the replication branch, click “add replication groups to display” from the actions menu on the right.

On the replication group, navigate to the “Replicated Folders” tab, right click the replicated folder in our FSx multi AZ deployment and select “Share and Publish to Namespace” to open the publishing wizard.

On the publishing wizard’s first page, select “Share and publish the replicated folder in a namespace” and then click “Next”.

The will now show the member details of the replication group, these are the servers and directories that this publish will provide access too. Ensure both filesystems are added and click “Next”.

On the “Namespace” path page, click browse to select the namespace we have just configured. In this page we can also change the name of the folder users will see if we don’t want the user to see the same name as the actual replicated folder. For ease of use, it’s probably best to leave this so it matches. You can see a preview of the namespace path that users will be able to access the files from. Once configured, click “Next”.

The next page of the wizard is a summary page showing the settings selected through the wizard, check the settings are correct and click “Share” to add our replicated folder to the namespace.

Once complete, you will get a confirmation page confirming the folder has been published.

Under our namespace in the DFS management tools, it will now show our published folder and also show the target folders of the published folder which are our FSx Filesystems.

Now if we browse to our namespace UNC path as we did before, \\testdomain.thecloudwolf.com\CloudwolfDocuments it will no longer be empty, and will have the directory (FSXFolder) we have published into it.

Navigating into this, we will see the file we placed into our FSx filesystems to test the replication, showing that this is correctly redirecting us to our FSx filesystems without any changes to the UNC path.

To double check this, we will browse to our DFS namespace and both of our FSx filesystems directly to show that the contents of all match exactly. Creating a file on the namespace UNC path, the file instantly shows up in the FSx filesystem within AZ B (as this is our primary) and then almost immediately behind this, shows up in our FSx filesystem within AZ C, which shows that not only does the namespace work correctly, but also the backend replication.

Continue to Part 6, where we will test our setup in a scenario where one of the availability zones becomes inaccessible.