Microsoft DFSR:一些 DFSR 輻條的 VersionVectorTombstone 積壓
何時
DFSR
為複製文件夾設置“中心輻射”。對文件夾設置了權限,因此最終使用者無法修改內容。
令我驚訝的是,在集線器上執行健康報告時,我發現一些輻條有一個出站文件積壓。
- 當我使用 dfsrdiag.exe 檢查積壓的輻條時,我看到一個明顯無名的文件:
F:\>dfsrdiag.exe backlog /ReceivingMember:dfsrhub /SendingMember:spoke123 /RGName:myRG /RFName:myRF Member <dfsrhub> Backlog File Count: 1 Backlog File Names (first 1 files) 1. Operation Succeeded
- 檢查時
dfsrdiag.exe ReplicationState
,我沒有看到有關 DFSR 成員的任何活動。- 當我對有問題的 DFSR 成員使用該類的
GetOutboundBacklogFileIdRecords()
方法時,DfsrReplicatedFolderInfo
我會獲得有關他們試圖複製回集線器的文件的更多資訊。執行時
GetOutboundBacklogFileIdRecords()
這是我得到的:IdRecordIndex : 1
BacklogIdRecords : { VersionVectorTombstone }
所以看起來它正在嘗試將
VersionVectorTombstone
背面複製到集線器。有人可以闡明這個“文件”是什麼,它試圖複製回來嗎?該文件的
FullPathName
屬性BacklogIdRecords
是空白的,但我希望這是因為我假設這是一個特殊的 DFSR 系統文件,它可能位於系統卷資訊文件夾中。
versionvectortombstone 是特定 dbguid 被標記為過時/存在以從對等數據庫中進行垃圾收集的方式。
當您使用 GetOutboundBacklogFileIdRecords() 方法檢索出站文件時,請查看 DfsrIdRecordInfo 對象的 UID。它將類似於 {guid}-v2。
{guid} 派生自前一個 UID(表示 dbguid)和 csID/replicatedfolderguid 的邏輯與。如果您對 UID 中報告的目前 {guid} 進行邏輯與運算,您將獲得原始 dbguid。
這將代表某個合作夥伴現在或過去擁有的真實 dbguid。它可能是也可能不是一個正在使用的。如果它正在使用中,請查看目前值。如果它的值為零,那麼知道 dbguid 存在的所有者或其他合作夥伴將更新 GVSN 並稍後將相同的“邏輯 ANDED”{guid} 發送回來,並帶有 present=1。
有關“版本向量墓碑的 UID”的詳細資訊,請參閱 MS-FRS2 中的“3.3.4.6.2 處理更新”。