大佬教程收集整理的这篇文章主要介绍了windows-server-2008-r2 – 为什么在使用DFSR复制后文件最终会被完全填充空字节?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
使用System.IO.File.WriteAllText
编写文件,并且可以在同一个文件上快速连续写入.
大多数情况下复制工作正常,但有时文件最终会在复制后完全填充空字节.
我们在所有涉及的机器上检查了DFSR日志,并在读者身上找到了以下类型的usn日志条目报告:
20150302 11:05:00.498 2512 USNC 2202 UsnConsumer::updatEIDRecord ID record updated from USN_RECORD: + USN_RECORD: + RecordLength: 80 + MajorVersion: 2 + MinorVersion: 0 + FileRefnumber: 0x800000000f7c8 + ParentFileRefnumber: 0x31000000152806 + USN: 0x872e876720 + timestamp: 20150302 11:05:00.498 CET + Reason: Basic Info Change Close Rename New Name + sourceInfo: 0x4 + SecurityId: 0xebe + FileAttributes: 0x2220 + FilenameLength: 18 + FilenameOffset: 60 + Filename: xyz.txt
让我们感到疑惑的是,根本没有日记帐分录报告
(读者应该阅读但不要修改任何东西)
以及设置稀疏属性的事实.
找出是否有某些进程执行意外写入或执行可疑操作
我们使用Process Monitor监视文件系统活动.
阅读器上的下一个空字节文件的出现给我们带来了以下内容:
10:59:55,2311121 Dfsr.exe 1584 760 IRP_MJ_CREATE path\to\xyz.txt-{GUID}-vVERSION succesS Desired Access: Generic Read/Write/Execute,Write DAC,Write owner,Access System Security,Disposition: Create,Options: Sequential Access,Synchronous IO Non-Alert,Complete If Oplocked,Open For BACkup,Open No Recall,Attributes: N,ShareMode: Read,Write,delete,AlLOCATIOnSize: 0,OpenResult: Created 10:59:55,2312485 Dfsr.exe 1584 760 IRP_MJ_CLEANUP path\to\xyz.txt-{GUID}-vVERSION succesS 10:59:55,2313007 Dfsr.exe 1584 760 IRP_MJ_CLOSE path\to\xyz.txt-{GUID}-vVERSION succesS 10:59:55,2314394 Dfsr.exe 1584 760 IRP_MJ_CREATE path\to\xyz.txt-{GUID}-vVERSION succesS Desired Access: Read Attributes,Write Attributes,Synchronize,Disposition: Open,Open Reparse Point,AlLOCATIOnSize: n/a,OpenResult: Opened 10:59:55,2314626 Dfsr.exe 1584 760 IRP_MJ_FILE_SYstem_CONTROL path\to\xyz.txt-{GUID}-vVERSION succesS Control: FSCTL_MARK_HANDLE 10:59:55,2314780 Dfsr.exe 1584 760 IRP_MJ_QUERY_INFORMATION path\to\xyz.txt-{GUID}-vVERSION succesS Type: QueryNameInformationFile,Name: path\to\xyz.txt-{GUID}-vVERSION 10:59:55,2314996 Dfsr.exe 1584 760 FASTIO_QUERY_INFORMATION path\to\xyz.txt-{GUID}-vVERSION succesS Type: QueryBasicInformationFile,CreationTime: 10.03.2015 10:59:55,LastAccessTime: 10.03.2015 10:59:55,LastWriteTime: 10.03.2015 10:59:55,ChangeTime: 10.03.2015 10:59:55,FileAttributes: ANCI 10:59:55,2315081 Dfsr.exe 1584 760 IRP_MJ_QUERY_INFORMATION path\to\xyz.txt-{GUID}-vVERSION succesS Type: QueryAttributeTagFile,Attributes: ANCI,ReparseTag: 0x0 10:59:55,2315194 Dfsr.exe 1584 760 IRP_MJ_QUERY_INFORMATION path\to\xyz.txt-{GUID}-vVERSION succesS Type: QueryCompressionInformationFile 10:59:55,2315391 Dfsr.exe 1584 760 IRP_MJ_QUERY_VOLUME_INFORMATION path\to\xyz.txt-{GUID}-vVERSION BUFFER OVERFLOW Type: QueryInformationVolume,VolumeCreationTime: 14.07.2014 14:59:54,Volumeserialnumber: 88F0-15DC,SupportsObjects: True,VolumeLabel: uvw 10:59:55,2315481 Dfsr.exe 1584 760 IRP_MJ_QUERY_INFORMATION path\to\xyz.txt-{GUID}-vVERSION BUFFER OVERFLOW Type: QueryAllInformationFile,FileAttributes: ANCI,EndOfFile: 0,numberOfLinks: 1,deletePending: false,Directory: false,Indexnumber: 0xe00000001589e,EaSize: 0,Access: Read Attributes,Position: 0,Mode: Sequential Access,Alignmentrequirement: Long 10:59:55,2316459 Dfsr.exe 1584 760 IRP_MJ_CREATE path\to\xyz.txt-{GUID}-vVERSION succesS Desired Access: Generic Read/Write/Execute,2316691 Dfsr.exe 1584 760 IRP_MJ_FILE_SYstem_CONTROL path\to\xyz.txt-{GUID}-vVERSION succesS Control: FSCTL_MARK_HANDLE 10:59:55,2316796 Dfsr.exe 1584 760 IRP_MJ_CLEANUP path\to\xyz.txt-{GUID}-vVERSION succesS 10:59:55,2316876 Dfsr.exe 1584 760 IRP_MJ_CLOSE path\to\xyz.txt-{GUID}-vVERSION succesS 10:59:55,2317891 Dfsr.exe 1584 760 IRP_MJ_SET_Security path\to\xyz.txt-{GUID}-vVERSION succesS Information: owner,Group,DACL 10:59:55,2318748 Dfsr.exe 1584 760 IRP_MJ_FILE_SYstem_CONTROL path\to\xyz.txt-{GUID}-vVERSION succesS Control: FSCTL_SET_SPARSE 10:59:55,2319307 Dfsr.exe 1584 760 IRP_MJ_WRITE path\to\xyz.txt-{GUID}-vVERSION succesS Offset: 0,Length: 0 10:59:55,2319442 Dfsr.exe 1584 760 IRP_MJ_SET_INFORMATION path\to\xyz.txt-{GUID}-vVERSION succesS Type: SetEndOfFileInformationFile,EndOfFile: 240 10:59:55,2320066 Dfsr.exe 1584 760 IRP_MJ_SET_INFORMATION path\to\xyz.txt-{GUID}-vVERSION succesS Type: SetAlLOCATIOnInformationFile,AlLOCATIOnSize: 240 10:59:55,2320382 Dfsr.exe 1584 760 IRP_MJ_WRITE path\to\xyz.txt-{GUID}-vVERSION succesS Offset: 240,2320505 Dfsr.exe 1584 760 IRP_MJ_SET_INFORMATION path\to\xyz.txt-{GUID}-vVERSION succesS Type: SetBasicInformationFile,CreationTime: 16.12.2013 10:57:23,LastAccessTime: 19.02.2015 11:00:25,2320688 Dfsr.exe 1584 760 IRP_MJ_FILE_SYstem_CONTROL path\to\xyz.txt-{GUID}-vVERSION succesS Control: FSCTL_WRITE_USN_CLOSE_RECORD 10:59:55,2321256 Dfsr.exe 1584 760 IRP_MJ_CLEANUP path\to\xyz.txt-{GUID}-vVERSION succesS 10:59:55,2321506 Dfsr.exe 1584 760 IRP_MJ_CLOSE path\to\xyz.txt-{GUID}-vVERSION succesS
通过这种观察,看起来DFSR就是产生它们的人.
它为什么这样做?
另外,为什么它将文件标记为稀疏?
除了使用上面概述的技术编写文件之外,作者不会弄乱文件.
请注意,移动EOF标记的偏移量与编写器创建的文件大小相匹配.
这就是猜测的结果.可能是在这个复制操作期间,DFS-R正在创建一个稀疏文件,然后填充块,并在完成时“解除”它.如果有什么东西中断了这个过程(比如防病毒软件,Undelete或扫描DfsrPrivate文件夹的其他文件过滤器驱动程序),那么你最终可能会得到一个没有填充其内容的临时稀疏文件.
您可以通过在正确复制的文件上使用Process Monitor来检测此行为,并查看它们是否在过程中的任何位置标记为/未标记为稀疏.
在谈到DFS-R时,我不喜欢混合2008年和2003年.我很高兴能从我们的DFS树上获得2003年的最后一台机器.
以上是大佬教程为你收集整理的windows-server-2008-r2 – 为什么在使用DFSR复制后文件最终会被完全填充空字节?全部内容,希望文章能够帮你解决windows-server-2008-r2 – 为什么在使用DFSR复制后文件最终会被完全填充空字节?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。