Migrating from FRS to DFS-R

Everyone that is using a domain based DFS namespace with more than one target most certainly is using FRS to replicate the data between the replica's. R2 provides a new state-based replication mechanism called 'DFS Replication'.



A summarization of its very cool features and characteristics:

  • Unlike NTFRS (which is event-based), a state-based multimaster replication mechanism
  • 'DFS Management' MMC for configuration and management
  • Replication Group Characteristics:
    • Set of servers that are members of the replication group and participate in the replication of 1 or more replicated folders
    • Set of replicated folders
    • Replication topology (ring, full mesh, custom)
    • Schedule (days and hours) and bandwidth usage
  • Replication Folder Characteristics:
    • Replicated between a number of replication group members
    • ‘File’ and ‘Subfolder’ replication filters
    • Staging folder to cache new and changed files for replication, with its own quota that governs when files are purged
  • DFS-R uses ‘last writer wins’. Losing file is stored in the ‘ConflictAndDeleted’ folder that resolves the conflict. ‘ConflictAndDeleted’ folder also has its own quota that governs when files are purged and cleaned
  • Remote Differential Compression (RDC):
    • By default enabled!
    • Only changes (at bit level!) are replicated between members
    • Data is compressed during replication
    • Not used on files <>
    • On high-speed LANs/WANs it might NOT be beneficial. RDC can be disabled on a per connection basis
    • CROSS-FILE RDC: identifies files that are similar to the file that needs to be replicated from one server to another by using portions from files that are similar. One of the end-point servers must be R2 enterprise or R2 datacenter or R2 Storage edition!
  • Scheduling and bandwidth throttling:
    • When configuring the interval you need to specify a start and stop time and the bandwidth usage
    • Schedules in 15 min. increments during 7 period
    • Schedules are based upon: ‘UTC’ or ‘Local time of receiving member’
    • Bandwidth usage options: ‘Full’, ‘No replication’, ‘16Kbps’, ’64Kbps’, ‘128Kbps’, ‘256Kbps’, ‘512Kbps’, ‘1Mbps’, ‘2Mbps’, ‘4Mbps’, ‘8Mbps’, ‘16Mbps’, ‘32Mbps’, ‘64Mbps’, ‘128Mbps’, ‘256Mbps’
    • Schedules and bandwidth usage can be defined for the replication group that applies to all connections or on a per connection basis a custom schedule and bandwidth usage can be defined
  • DFS Replication can be used for:
    • Domain based DFS namespaces
    • Stand alone based DFS namespaces
    • Individual folders not part of a DFS namespace
  • DFS Replication self-healing
    • For USN journal wrap errors (journal wrap errors can occur when changes are not recorded or are occuring to fast without being recorded)
    • For jet database corruption: Replication is halted but service is still available (unlike NTFRS)
  • Member recovery and prestaging
    • DFS-R stores configuration in AD and the server caches same info locally in XML file. File is rebuild easily
    • Servers can be prestaged easily by just copying or restoring the data. Differences are checked…
    • Outdated files are updated by just replication the changes from the source server
    • Files on the prestaged server that do not exist on the source server are moved to the PreExisting folder
    • Unlike NTFRS which needed a non-authoritative restore of the replica set
  • Built-in health metrics and diagnostic events
  • Built-in WMI providers are available for monitoring DFS Replication
  • Separate DFS Replication event log available
  • Built-in diagnostic reports can be created with the 'DFS Management' snap-in (watch out for the RPC bug! -->

With the legacy 'Distributed File System' a namespace was created with underlying DFS folders. When one of the DFS folders had two or more DFS folder targets, replication could be setup using FRS and by choosing one of the DFS folder targets as primary master replica to start replication from that same replica to the other replicas.

With the new 'DFS Namespaces' a namespace was created with underlying DFS folders. When one of the DFS folders had two or more DFS folder targets, replication could be setup using DFS-R by creating a NEW replication group that contain the DFS folder targets a replication group members and contain the DFS folder as a replicated folder. Unfortunately, when working from the 'DFS Namespaces' node it is not possible to add the DFS folder as a replicated folder to an existing replication group. To be able to do that you first select an existing replication group, add a new replicated folder and select the replication group members that host that replicated folder. Last step is to SHARE and PUBLISH the replicated folder as a DFS folder in a DFS namespace. For the last part to succeed that DFS folder must not yet exist in the desired DFS namespace (very important!). Each replication group can contain one or more replicated folders.

So what is different in the concept between FRS and DFS-R? The main difference here is that each DFS folder using FRS for replication can be compared to ONE replication group only having ONE replicated folder. And as you just have read DFS-R can have replication groups with MULTIPLE replicated folders.

When migrating from FRS to DFS-R you have to possibilties:

(1) Configure each existing DFS folder using FRS replication within A SEPARATE DFS-R replication group with one replicated folder

(2) Configure each existing DFS folder using FRS replication within A SEPARATE OR EXISTING DFS-R replication group. This way one replication group can contain one or more DFS folders as replicated folders that share the same replication topology, replication schema and bandwidth usage.



Before starting with the migration from FRS to DFS-R, I do recommend that one first reads the following document as it contains information on how to setup/design DFS Namespaces and DFS Replication:

The high-level steps to migrate from FRS to DFS-R are:

REMARK: from this point the DFS folder is available through the DFS namespace and replication is working. However when looking from the DFS Namespaces node by selecting the DFS folder and then the Replication TAB it will show: "Replication status: not configured". And when looking from the DFS Replication node by selecting the replication group and then the replicated folders TAB it will show: "Publication status: not published". The main reason for this is because an attribute is not populated (we will take care of that later!)



REMARK: sharing and publishing the folder into the desired DFS namespace will not work because the DFS folder already exists in the DFS namespace

0 comments:

Post a Comment