Когда есть 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: {ВерсияVectorTombstone}
Похоже, он пытается воспроизвести VersionVectorTombstone
обратно в хаб. Может ли кто-нибудь пролить свет на то, что это за «файл», который пытается воспроизвести обратно?
В FullPathName
собственность BacklogIdRecords
поскольку файл пуст, но я ожидал, что, поскольку я предполагаю, что это специальный системный файл DFSR, который может находиться в папке с информацией о системном томе.
Versionvectortombstone - это способ пометки конкретного dbguid как устаревшего / присутствующего для сбора мусора из базы данных одноранговых узлов.
Когда вы получаете исходящие файлы с помощью метода GetOutboundBacklogFileIdRecords (), посмотрите на UID объекта DfsrIdRecordInfo. Это будет похоже на {guid} -v2.
{Guid} получен из логического И предыдущего UID (который представляет dbguid) и csID / replicatedfolderguid. Если вы выполните логическое И текущего {guid}, как указано в UID, с помощью replicatedfolderguid, вы получите обратно исходный dbguid.
Это будет реальный dbguid, принадлежащий партнеру сейчас или в прошлом. Он может быть, а может и не использоваться. Если он используется, посмотрите на текущую стоимость. Если он равен нулю, то либо владелец, либо другой партнер, который знает, что dbguid должен присутствовать, обновит GVSN и позже отправит тот же «логический ANDED» {guid} обратно с present = 1.
См. "3.3.4.6.2 Обработка обновлений" в MS-FRS2 для получения подробной информации о "UID векторных надгробий версии".