これは私の最初の出版物です。将来、頻繁に執筆することを望みます。
何かが正しく設計されていない場合は、正しい方法で修正します。
DFSレプリケーションの興味深い機能を扱う必要がありました。 また、問題自体は新しいものではありませんが、多くの人がそれをコーンで埋めることができます。
したがって、DFSレプリケーションが正常に構成されて動作する安定した作業環境があります。 レプリケーショングループが作成され、必要なすべてのサーバーが追加され、トポロジが正しく、スケジュールが正常で、すべてが正常です...レプリケートフォルダーに追加された新しいファイルがリモートサーバーにコピーされなくなるまで。
たとえば、 LAB-DC1とLAB-FS1の 2つのサーバーしかないテスト環境を作成しました。 それぞれにフォルダーC:\ DFSRがあり 、その間で複製が行われます。
2つのテストファイルをLAB-DC1のこのフォルダーにコピーすると、1つだけが2番目のサーバーに複製されたことがわかります。
なんで?
DFSレプリケーションメカニズムは、 一時属性が設定されているファイルを設計上コピーしないように設計されているためです。 fsutilコマンドを使用して、両方のファイルの属性を確認します。
not-a-temporary-file.txtファイルの属性は0x20です。
temporary-file.txtファイルの属性は0x120です:
これらの16進数のデコードは非常に簡単です。 考えられる各ファイル属性には、独自の16進値があります。 すべてのオプションは次のとおりです。
読み取り専用 | 0x1 |
非表示 | 0x2 |
システム | 0x4 |
ディレクトリ | 0x10 |
アーカイブ | 0x20 |
装置 | 0x40 |
普通 | 0x80 |
仮設 | 0x100 |
SPARSE_FILE | 0x200 |
REPARSE_POINT | 0x400 |
圧縮された | 0x800 |
オフライン | 0x1000 |
NOT_CONTENT_INDEXED | 0x2000 |
暗号化 | 0x4000 |
このリストから、 not-a-temporary-file.txtには「Archive」属性のみがあり、 temporary-file.txtには 「Archive」および「Temporary」属性があることがわかります。
また、 「一時」が設定されているすべてのファイルは、 DFSレプリケーションメカニズムを使用してレプリケートされません。
小さなPowerShellスクリプトを使用して、すべての添付ファイルおよびフォルダーからこの属性を削除するのは非常に簡単です。
Get-ChildItem C:\DFSR -recurse | ForEach-Object -process {if (($_.attributes -band 0x100) -eq 0x100) {$_.attributes = ($_.attributes -band 0xFEFF)}}
属性と出来上がりを削除してください! 「問題のある」 temporary-file.txtファイルがリモートサーバーに正常にコピーされました。
「一時的な」ファイルがネットワーク内のどこから来たか-物語は沈黙しています。 どこかから来ました。 実験するために、ファイルの「一時」属性を手で設定できます。 これには、簡単なPowerShellスクリプトを使用することもできます。
$file = Get-Item C:\DFSR\temporary-file.txt $file.Attributes = 0x120
以上で、この記事がDFSレプリケーションの作業に関連する問題の解決に役立つことを願っています。
最後に、2008年にブログでこのトピックに関する包括的な記事を公開してくれたCraig Landisに感謝します。