何时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 成员的任何活动。当我对该类
GetOutboundBacklogFileIdRecords()
的方法DfsrReplicatedFolderInfo
针对有问题的 DFSR 成员进行操作时,我会获得有关他们尝试复制回集线器的文件的更多信息。
执行此操作时GetOutboundBacklogFileIdRecords()
我得到的结果是:
IdRecordIndex:1
BacklogIdRecords:{版本向量墓碑}
因此看起来它正在尝试将其复制VersionVectorTombstone
回集线器。有人能解释一下它试图复制回来的这个“文件”是什么吗?
FullPathName
该文件的属性为BacklogIdRecords
空白,但我希望如此,因为我假设这是一个特殊的 DFSR 系统文件,可能位于系统卷信息文件夹中。
答案1
Versionvectortombstone 是将特定 dbguid 标记为陈旧/存在以便从对等数据库中进行垃圾收集的方式。
当您使用 GetOutboundBacklogFileIdRecords() 方法检索出站文件时,请查看 DfsrIdRecordInfo 对象的 UID。它将类似于 {guid}-v2。
{guid} 源自先前 UID(代表 dbguid)与 csID/replicatedfolderguid 的逻辑与。如果您对 UID 中报告的当前 {guid} 与 replicatedfolderguid 进行逻辑与,您将获得原始 dbguid。
这将表示现在或过去由某个合作伙伴拥有的真实 dbguid。它可能正在使用,也可能没有。如果正在使用,请查看当前值。如果为零,则所有者或知道该 dbguid 存在的另一个合作伙伴将更新 GVSN,并在稍后以 present=1 发送相同的“逻辑 ANDED”{guid}。
有关“版本向量墓碑的 UID”的详细信息,请参阅 MS-FRS2 中的“3.3.4.6.2 处理更新”。