Quantcast
Channel: File Services and Storage forum
Viewing all articles
Browse latest Browse all 395

Forum FAQ: Temporary files are not replicated by DFSR

$
0
0

Summary

 

Someone may notice that DFS Replication (DFSR) is not replicating certain files even if most of the other files can be replicated successfully; the reason is that the temporary attribute is set on these un-replicated file.

 

By design, DFSR does not replicate files if they have the temporary attribute set on them, and it cannot be configured to replicate it. The reason DFSR does not replicate files with the temporary attribute set is that they are considered short-lived files that you would never actually want to replicate. Using the temporary attribute on a file keeps that file in memory and saves on disk I/O. Therefore applications can use it on short-lived files to improve performance.

 

Symptom

 

Supposed you have setup DFS shares and DFS replication group between 2 or more DFS replication servers. Most of the content under the DFS target folder can be replicated to another DFS server; however, only a few of files cannot be replicated.

 

When you use Fsutil to check the un-replicated file, you will see Temporary Attribute on the File.

For example: Checking the Temporary Attribute on a File

fsutil usn readdata c:\data\test.txt

 

Major Version : 0x2
Minor Version : 0x0
FileRef# : 0x0021000000002350
Parent FileRef# : 0x0003000000005f5e
Usn : 0x000000004d431000
Time Stamp : 0x0000000000000000 12:00:00 AM 1/1/1601
Reason : 0x0
Source Info : 0x0
Security Id : 0x5fb
File Attributes : 0x120
File Name Length : 0x10
File Name Offset : 0x3c
FileName : test.txt

File Attributes is a bitmask that indicates which attributes are set. In the above example, 0x120 indicates the temporary attribute is set because that is 0x100 and 0x20 (Archive) = 0x120.

Here are the possible values:

READONLY

0x1

HIDDEN

0x2

SYSTEM

0x4

DIRECTORY

0x10

ARCHIVE

0x20

DEVICE

0x40

NORMAL

0x80

TEMPORARY

0x100

SPARSE_FILE

0x200

REPARSE_POINT

0x400

COMPRESSED

0x800

OFFLINE

0x1000

NOT_CONTENT_INDEXED

0x2000

ENCRYPTED

0x4000

 

Resolution

 

Removing the Temporary Attribute from Multiple Files with Powershell

 

To remove the temporary attribute, we can use PowerShell which can be installed from here. After PowerShell is installed, please open Powershell prompt (Start, Run, Powershell or from the Programs menu) and run this command to remove the temporary attribute from all files in the specified directory, including subdirectories (in this example, D:\Data):

 

Get-childitem D:\Data -recurse | ForEach-Object -process {if (($_.attributes -band 0x100) -eq 0x100) {$_.attributes = ($_.attributes -band 0xFEFF)}}

 

Note: If you don’t want it to work against subdirectories just remove the -recurse parameter.

 

More Information

 

DFSR Does Not Replicate Temporary Files

http://blogs.technet.com/askds/archive/2008/11/11/dfsr-does-not-replicate-temporary-files.aspx

 

Applies to

 

Windows Server 2008, Windows Server 2008 R2

Viewing all articles
Browse latest Browse all 395

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>