Meilleur auteur de réponses
DFS遇到个别文件夹无法完全同步的情况

Question
-
有一台文件服务器,因系统是08R2。为了安全,迁移所有文件及权限到2016的系统上,我使用了DFS这种方式。
但在迁移过程中,发现有个别复制文件夹无法完全同步。这令人非常苦恼,且百思不的其解。此前我已将复制文件夹中的“文件筛选器”清空,且多次重构DFS复制组(怕是DFS数据库问题,重构DFS数据库)。如下为复制组和复制文件夹:
目前复制文件夹T-TEK有5个文件总是不能同步过来(FS3 TO FS1)。如下图,已经等了差不多一个星期。这此复制文件夹的总数据量也就400-500GB,比较小。
但通过命令,又发现他们是同步的。这让人很疑惑,明明是不同步,为何还显示同步,这样的问题该如何处理呢?
我将所有的复制文件夹全部查看了一下,均无囤积。
健康检测也用了。发现会有一些复制冲突。但通过实际查看,发现这样文件都是一模一样的。
这样的情况该如何处理呢?
Réponses
-
尊敬的客户,您好!
感谢您的回复。
您尝试下面的命令分别导出两个文件服务器上的D:\T-TEK路径下的文件,然后对比看下。
1.在服务器fs3上,以管理员身份打开PowerShell ISE,运行如下命令(第二个命令是文件保存的位置,您自己改下):
$path1 = "D:\T-TEK"
$file1 = "D:\docs\log1.csv"
get-childitem -Path $path -File -Recurse -force |Select-Object FullName | Export-Csv -Path $file1 -NoTypeInformation
2.在服务器fs1上,以管理员身份打开PowerShell ISE,运行如下命令(第二个命令是文件保存的位置,您自己改下):
$path2 = "D:\T-TEK"
$file2 = "D:\docs\log2.csv"
get-childitem -Path $path -File -Recurse -force |Select-Object FullName | Export-Csv -Path $file2 -NoTypeInformation
3.把上面两个服务器上生成的文件,都放到同一个服务器上,以管理员身份打开PowerShell ISE运行如下命令对比看下:
$filepath1 = 'D:\log1.csv'
$filepath2 = 'D:\log2.csv'
$content1 = Get-Content -Path $filepath1
$content2 = Get-Content -Path $filepath2
Compare-Object -ReferenceObject $content1 -DifferenceObject $content2
如果输出结果有列出文件,说明这些文件就是多出或者少的文件。
此致,
Daisy ZhouPlease remember to mark the replies as answers if they help.
If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com.- Marqué comme réponse volnno lundi 29 août 2022 03:42
Toutes les réponses
-
尊敬的客户,您好!
感谢您在我们的TechNet论坛。
根据您提供的截图,截图上有两个警告,建议您检查以下两个方面:
第一:
我建议您先去去检查下面的五个文件:
8月品质.xlsx
8月份.xls
638392B.tmp
9A89B6BE.tmp
J07出货明细08-10.xls
请到两个文件服务器上都去检查一下,如果两个服务器上都有这5个文件,那么您可以忽略这2个警告。
如果您的一个服务器上有这5个文件,另一个服务器上没有这5个文件,那么您可以把这5个文件备份一下,然后在有这5个文件的服务器上删除这5个文件。然后再检查是否还有这2个警告。
第二:
如果上面两个服务器上都有这5个文件,那说明不是这5个文件引起的警告,可能是另外的5个文件引起的警告。
请检查D:\T-TEK\DfsrPrivate\PreExisting里的文件和所有子文件夹里的文件是否一致。
请到两个文件服务器上都去检查一下,如果两个服务器上的这个文件路径下的所有文件和子文件夹以及子文件夹里的文件全部都是一样的,那么您可以忽略这2个警告。
如果您的一个服务器上多出5个文件,另一个服务器上没有多出的5个文件,那么您可以把多出5个文件的那5个文件备份一下,然后在有这5个文件的服务器上删除这5个文件夹。然后再检查是否还有这2个警告。
顺便问一下,您下面的几个文件是包含在D:\T-TEK\DfsrPrivate\PreExisting的吗?还是只是在D:\T-TEK里的其他文件夹下?
8月品质.xlsx
8月份.xls
638392B.tmp
9A89B6BE.tmp
J07出货明细08-10.xls
如有任何问题,欢迎您随时咨询我们。
此致,
Daisy ZhouPlease remember to mark the replies as answers if they help.
If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com. -
非常感谢周哥的指点和支持。回复如下。
第一:
我建议您先去去检查下面的五个文件:
8月品质.xlsx
8月份.xls
638392B.tmp
9A89B6BE.tmp
J07出货明细08-10.xls
请到两个文件服务器上都去检查一下,如果两个服务器上都有这5个文件,那么您可以忽略这2个警告。两台服务器均有都有这5个文件。确切的说,两个服务器均没有tmp文件(2个),均有excel文件(3个),因此忽略这2个警告。
请检查D:\T-TEK\DfsrPrivate\PreExisting里的文件和所有子文件夹里的文件是否一致。
FS1有此目录,但FS3没有。如下图:
注*FS1此前名为FS0。为被动服务器;FS3此前名为FS1,后改为FS3.
顺便问一下,您下面的几个文件是包含在D:\T-TEK\DfsrPrivate\PreExisting的吗?还是只是在D:\T-TEK里的其他文件夹下?
8月品质.xlsx
8月份.xls
638392B.tmp
9A89B6BE.tmp
J07出货明细08-10.xls不在。如下图:
-
尊敬的客户,您好!
感谢您的回复。
第一:请在没有这个文件夹(D:\T-TEK\DfsrPrivate\PreExisting)的服务器上,取消文件隐藏,看看是否有呢。因为根据您原始帖子中的第三种截图上的说明,它是隐藏的文件夹。
第二:我想知道您那5个文件是在下面的哪个路径(路径1还是路径2)还是两个路径都有呢?
路径1
D:\T-TEK\DfsrPrivate\PreExisting\*****\*****\File Exchange Zone-公共储存\生产部\品质\2022品质\8月品质(看完请关闭).xlsl
D:\T-TEK\DfsrPrivate\PreExisting\*****\*****\Public-公共只读\PMC\外发供应商对账清单\2011年对账单\湘临\8月份.xls
D:\T-TEK\DfsrPrivate\PreExisting\*****\*****\File Exchange Zone-公共储存\计划部\翟加正\出货明细\C71\8-10\638392B.tmp
D:\T-TEK\DfsrPrivate\PreExisting\*****\*****\File Exchange Zone-公共储存\计划部\翟加正\出货明细\C71\8-10\9A89BBE.tmp
D:\T-TEK\DfsrPrivate\PreExisting\*****\*****\File Exchange Zone-公共储存\计划部\翟加正\出货明细\J07\J07出货明细8-10.tmp
路径2
D:\T-TEK\File Exchange Zone-公共储存\生产部\品质\2022品质\8月品质(看完请关闭).xlsl
D:\T-TEK\\Public-公共只读\PMC\外发供应商对账清单\2011年对账单\湘临\8月份.xls
D:\T-TEK\File Exchange Zone-公共储存\计划部\翟加正\出货明细\C71\8-10\638392B.tmp
D:\T-TEK\File Exchange Zone-公共储存\计划部\翟加正\出货明细\C71\8-10\9A89BBE.tmp
D:\T-TEK\File Exchange Zone-公共储存\计划部\翟加正\出货明细\J07\J07出货明细8-10.xls
第三:或者您的那五个文件放在了服务器上的其他的路径吗?您都去找一下看看。
此致,
Daisy ZhouPlease remember to mark the replies as answers if they help.
If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com. -
感谢周哥一如既往的支持。现回复如下:
答一:取消了隐藏。而且取消勾选“隐藏受保护的操作系统文件(推荐)”。PreExiting应该只在被动服务器上才会有才对。现在FS3这种目录情况是对的(以前是主动服务器,名称为FS1,后改为FS3)。
答二:那5个文件是在路径2。确切的说,两个服务器均没有tmp文件(2个),均有excel文件(3个)
答三:那5个文件时是哪5个文件,目前还不知道。被动服务器(即现在名为FS1)所有文件都是从主动(即现在名为FS3)同步过来的。不清楚复制组在复制“复制文件夹”时为何会有文件的丢失?丢失的文件都有哪些及他们的路径。
-
尊敬的客户,您好!
感谢您的回复。
您可以手动在两个服务器上查找D:\T-TEK\DfsrPrivate\PreExisting这个路径下,他们的所有文件以及子文件夹里的文件,是不是全部是一样的?
如果是的话,我认为您可以暂时忽略那个警告。
此致,
Daisy ZhouPlease remember to mark the replies as answers if they help.
If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com. -
关键2台服务器,只有一台才存在D:\T-TEK\DfsrPrivate\PreExisting路径。另一台是没有的,没有的是FS3,不存在PreExisting文件夹。初始同步FS3是主服务器,FS1上所有的文件都是从FS3同步而来,观察到现在,FS3永远比FS1多5个文件。这5个文件是哪5个文件?目前我无法知道。健康诊断查看提示冲突的所有文件,发现他们均存在两台服务器之上。但实际就是有5个文件没有同步过来。
周哥,您可以试验。在DFS中,正常情况下,只有被动服务器才存在PreExisting文件夹。主动服务器是没有的。上面案例中,FS3是主动服务器,FS1是被动服务器。因此只有FS1才存在PreExisting文件夹。
-
尊敬的客户,您好!
感谢您的回复。
通过多次分析这个问题,我感觉有一些疑点如下:
1.Preexisting文件夹应该在主服务器SF3上才对。因为根据您之前的截图T-TEK这个根文件夹里包含的文件夹数量都是36725个文件夹(在两台服务器上都是36725个文件夹)。
PreExisting文件夹也是包含在T-TEK这个根文件夹里的一个文件夹。
2.根据您之前的截图PreExisting文件夹里有这么多文件,假设主服务器上不存在PreExisting,那么主服务器上也会少了PreExisting下面的这么多文件(根据您上面的截图看出),两台服务器上相差的文件就不是5个文件了。
3.您之前说取消了隐藏”取消了隐藏。而且取消勾选“隐藏受保护的操作系统文件(推荐)“,一定要取消隐藏文件夹,而不是隐藏文件,因为PreExisting是文件夹,不是文件。
4.在D:\T-TEK\DfsrPrivate路径下,我看到了sf1上多了preexistingmanifest这个文件。
您先尝试找看看主服务器上的这个文件夹。
实在找不到的话,然后您又非常在意这个问题,并且还是要尝试解决的话,您可以写一个脚本(或者找懂脚本的人写),脚本的功能是导出这个T-TEK文件夹里的所有文件和文件夹(两台都导出来),然后您对比一下看看。但是写脚本我们不支持的,这只是我的一个想法,跟您分享一下。
希望上述的回复对您有帮助。如有任何问题,欢迎您随时咨询我们。
此致,
Daisy Zhou
Please remember to mark the replies as answers if they help.
If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com.- Modifié Daisy ZhouMicrosoft contingent staff, Moderator vendredi 19 août 2022 07:46
-
-
尊敬的客户,您好!
感谢您的回复。
我仔细看了您的截图,我看到在SF3上,您查看了两个文件夹(T-TEK和T-TEK里的文件夹Public-公共只读)的属性,显示的文件的数量都是:453274,文件夹的数量都是:36992。
我看到在SF1上,您查看了两个文件夹(T-TEK和T-TEK里的文件夹Sales Group)的属性,显示的文件的数量都是:453269,文件夹的数量都是:36992。
我没有看出来操作系统并没有统计DfsrPrivate里面的文件夹和文件,我是不是哪里没看出来?
您要不点击DfsrPrivate这个文件夹的属性看下显示的文件和文件夹的数量呢?
此致,
Daisy ZhouPlease remember to mark the replies as answers if they help.
If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com. -
-
-
-
尊敬的客户,您好!
不好意思,这两天比较忙。
但是我也在考虑您这个问题,我在想,DfsrPrivate是在T-TEK这个文件夹里的,既然DfsrPrivate这个文件夹没有算在总文件夹T-TEK的文件的数量里,DfsrPrivate这个文件夹里的文件也没有算在总文件夹T-TEK的文件的数量里。那么您可以尝试手动检查T-TEK这个文件夹里的文件(包括T-TEK这个文件夹里的其他文件夹里的文件,但除了DfsrPrivate这个文件夹里的文件)在两台服务器上的文件的名字和文件的数量是不是一样的呢。
因为我可能猜测那5个文件不在DfsrPrivate这个文件夹里。
此致,
Daisy ZhouPlease remember to mark the replies as answers if they help.
If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com. -
-
尊敬的客户,您好!
感谢您的回复。
您尝试下面的命令分别导出两个文件服务器上的D:\T-TEK路径下的文件,然后对比看下。
1.在服务器fs3上,以管理员身份打开PowerShell ISE,运行如下命令(第二个命令是文件保存的位置,您自己改下):
$path1 = "D:\T-TEK"
$file1 = "D:\docs\log1.csv"
get-childitem -Path $path -File -Recurse -force |Select-Object FullName | Export-Csv -Path $file1 -NoTypeInformation
2.在服务器fs1上,以管理员身份打开PowerShell ISE,运行如下命令(第二个命令是文件保存的位置,您自己改下):
$path2 = "D:\T-TEK"
$file2 = "D:\docs\log2.csv"
get-childitem -Path $path -File -Recurse -force |Select-Object FullName | Export-Csv -Path $file2 -NoTypeInformation
3.把上面两个服务器上生成的文件,都放到同一个服务器上,以管理员身份打开PowerShell ISE运行如下命令对比看下:
$filepath1 = 'D:\log1.csv'
$filepath2 = 'D:\log2.csv'
$content1 = Get-Content -Path $filepath1
$content2 = Get-Content -Path $filepath2
Compare-Object -ReferenceObject $content1 -DifferenceObject $content2
如果输出结果有列出文件,说明这些文件就是多出或者少的文件。
此致,
Daisy ZhouPlease remember to mark the replies as answers if they help.
If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com.- Marqué comme réponse volnno lundi 29 août 2022 03:42
-
周哥,非常感谢您的指导。按照您的步骤1、2,从几十万文件中精准定位了这5个文件。这5个文件全部为FS3多出来的,FS1上没有。我仔细观察这5个文件,发现他们没有什么特别之处。如下图:5个文件在FS3上的本地路径,FS1同样路径下确实少了这5个文件。
我在FS3上,将这5个文件移出T-TEK文件夹后,文件夹数量、文件数量和总大小就完全保持一致了。如下图:
我再将这5个文件再放进去,依旧不能同步,不论是放在FS3上还是FS1上。重命名也不行。如下图:
我特别想知道这是这是什么原因造成的呢?我尝试从C\Windows\Debug\Dfsr0000x.log中查找答案。发现有这两个error,第一个已经解决了(黑色字体部份),第二个不知道什么原因。
* FRS Log Sequence:1 Index:1000 Computer:FS3 TimeZone:Unable To Determine (GMT+-8:00) Build:[Nov 19 2010 18:50:00 built by: win7sp1_rtm] Enterprise=1 DataCenter=0
* Configuration logLevel:4 maxEntryCount:200000 maxFileCount:1000 logPath:\\.\C:\Windows\debug\
20220826 03:19:20.217 1372 EVNT 1185 EventLog::Report Logging eventId:1314 parameterCount:1
20220826 03:19:20.217 1372 EVNT 1205 EventLog::Report eventId:1314 parameter1:C:\Windows\debug
20220826 03:19:20.342 1372 PDBX 6182 ReadLastInstanceValue SYSTEM\CurrentControlSet\Control\BackupRestore\SystemStateRestore\LastRestoreId value is not present.
20220826 03:19:20.342 1372 FREP 1773 BaseFrsReplicator::Initialize SlowSyncScheduler is kicked off.
20220826 03:19:20.357 1792 SSYN 104 SlowSyncScheduler::Step Schedule next run.
20220826 03:19:20.357 1792 SSYN 238 SlowSyncScheduler::ScheduleNext Scheduling slowsync session at Saturday mid-night:20220828 00:00:00.000
20220826 03:19:20.404 1372 SYSM 3971 [ERROR] Migration::SysVolUtil::GetDwordFromRegistry [MIG] Failed to Open() rKey:System\CurrentControlSet\Services\DFSR\Parameters\SysVols\Migrating SysVols. Cannot read value valueName:Local State
20220826 03:19:20.404 1372 REPS 1838 FrsReplicator::Initialize Initializing the VDS Service.
20220826 03:19:27.482 1372 VDSN 445 VdsAdviseSink::InitializeCache Fetched:1, Provider#:1
20220826 03:19:27.482 1372 VDSN 513 VdsAdviseSink::InitializeCache Fetched:1, Pack#:1
20220826 03:19:27.498 1372 VDSN 445 VdsAdviseSink::InitializeCache Fetched:1, Provider#:2
20220826 03:19:27.498 1372 VDSN 513 VdsAdviseSink::InitializeCache Fetched:1, Pack#:1
20220826 03:19:27.498 1372 VDSN 574 VdsAdviseSink::InitializeCache Fetched:1, Volume#:1
20220826 03:19:27.514 1372 CCTX 1311 VolumeIdTable::GetVolumeIdFromVolumeNotification VDS service supplied number of paths for this notification: 1
20220826 03:19:27.514 1372 CCTX 1338 VolumeIdTable::GetVolumeIdFromVolumeNotification This a clustered node and we are doing retry number:0
20220826 03:19:27.514 1372 CLUS 3988 Cluster::ClusterUtil::GetOwnedOnlinePhysicalDisks [CLUSTER] Get locally owned online physical disk list
20220826 03:19:27.514 1372 CCTX 1686 VolumeIdTable::GetClusteredVolumes [CLUSTER] Cluster service is not installed or configured. Skipping clustered volume query.
20220826 03:19:27.514 1372 CCTX 1875 [WARN] VolumeIdTable::GetNonClusteredVolumes (Ignored) Unable to retrieve the volume's serial number and filesystem name. Volume will not be added to the Volume Id Table. volPath:\\?\Volume{613a4361-9f6f-11e4-a29d-806e6f6e6963}\ Error:[Error:21(0x15) Util::GetVolumeInformationW fsutil.cpp:306 1372 W 设备未就绪。]
20220826 03:19:27.514 1372 CCTX 2370 VolumeIdTable::ProcessVolumes VolumeIdTable:
20220826 03:19:27.514 1372 CCTX 2376 VolumeIdTable::ProcessVolumes volId:{613A435D-9F6F-11E4-A29D-806E6F6E6963} volPath:\\?\Volume{613a435d-9f6f-11e4-a29d-806e6f6e6963} volPathIsMountPoint:false isClustered:false clusterDisk: serialNumber:245056727
20220826 03:19:27.514 1372 CCTX 2376 VolumeIdTable::ProcessVolumes volId:{613A435E-9F6F-11E4-A29D-806E6F6E6963} volPath:\\.\C: volPathIsMountPoint:false isClustered:false clusterDisk: serialNumber:916528695
20220826 03:19:27.514 1372 CCTX 2376 VolumeIdTable::ProcessVolumes volId:{941F492B-A055-11E4-B5B2-000C297B098B} volPath:\\.\D: volPathIsMountPoint:false isClustered:false clusterDisk: serialNumber:818661439
20220826 03:19:27.514 1372 CCTX 2386 VolumeIdTable::ProcessVolumes SVI Paths:
20220826 03:19:27.514 1372 CCTX 2388 VolumeIdTable::ProcessVolumes sviPath:\\?\Volume{613a435d-9f6f-11e4-a29d-806e6f6e6963}\System Volume Information
20220826 03:19:27.514 1372 CCTX 2388 VolumeIdTable::ProcessVolumes sviPath:\\.\C:\System Volume Information
20220826 03:19:27.514 1372 CCTX 2388 VolumeIdTable::ProcessVolumes sviPath:\\.\D:\System Volume Information
20220826 03:19:27.514 1372 CCTX 1374 VolumeIdTable::GetVolumeIdFromVolumeNotification Getting the volume guid for volume pathname:\\?\Volume{613a4361-9f6f-11e4-a29d-806e6f6e6963}\ index:0
20220826 03:19:27.514 1372 CCTX 1407 [WARN] VolumeIdTable::GetVolumeIdFromVolumeNotification [CLUSTER] (Ignored) Couldn't find the volume guid. guid:{613A4361-9F6F-11E4-A29D-806E6F6E6963}
20220826 03:19:27.514 1372 VDSN 649 [WARN] VdsAdviseSink::InitializeCache (Ignored) Unable to retrieve volume's GUID. Volume will not be added to the cache. This could be a CD ROM. Error:
+ [Error:9225(0x2409) VolumeIdTable::GetVolumeIdFromVolumeNotification context.cpp:1440 1372 C 找不到卷]
+ [Error:9225(0x2409) VolumeIdTable::GetVolumeIdFromVolumeNotification context.cpp:1437 1372 C 找不到卷]
20220826 03:19:27.514 1372 VDSN 513 VdsAdviseSink::InitializeCache Fetched:1, Pack#:2
20220826 03:19:27.514 1372 VDSN 574 VdsAdviseSink::InitializeCache Fetched:1, Volume#:1
20220826 03:19:27.545 1372 CCTX 1311 VolumeIdTable::GetVolumeIdFromVolumeNotification VDS service supplied number of paths for this notification: 1
20220826 03:19:27.545 1372 CCTX 1338 VolumeIdTable::GetVolumeIdFromVolumeNotification This a clustered node and we are doing retry number:0
20220826 03:19:27.545 1372 CLUS 3988 Cluster::ClusterUtil::GetOwnedOnlinePhysicalDisks [CLUSTER] Get locally owned online physical disk list
20220826 03:19:27.560 1372 CCTX 1686 VolumeIdTable::GetClusteredVolumes [CLUSTER] Cluster service is not installed or configured. Skipping clustered volume query.- Modifié volnno vendredi 26 août 2022 07:52 ?
-
尊敬的客户,您好!
感谢您的回复。
我非常高兴通过我上面提供的方法,您精准的找到了5个不复制的文件。
很抱歉,由于信息安全问题,日志信息一般都涉及到公司信息或者个人信息,对于分析日志,我们论坛不提供这样的服务支持的,也不方便在论坛上分析日志。
一如既往,如您还有其他疑问,欢迎您随时上贴,我们很高兴帮助您。
如果我的任何回答是是对您有帮助的,请将其标记为答案,这可以帮助其他社区成员快速找到有用的答复。
此致,
Daisy Zhou
Please remember to mark the replies as answers if they help.
If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com. -
非常感谢周哥的powershell指令,对这个问题的解决起到了关键性作用,由于大家操作系统不一定都是英文版本,操作上务必需要加一个参数 -Encoding。如下:
$path1 = "D:\T-TEK"
$file1 = "D:\docs\log1.csv"
get-childitem -Path $path -File -Recurse -force |Select-Object FullName | Export-Csv -Encoding UTF8 -Path $file1 -NoTypeInformation -
尊敬的客户,您好!
非常感谢您的补充和分享。
此致,
Daisy ZhouPlease remember to mark the replies as answers if they help.
If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com.