Windows Server 2012 重复数据删除功能是否适用于第三方碎片整理程序,尤其是 Auslogics Disk Defrag?我最近在驱动器上启用了重复数据删除功能进行测试,发现 Auslogics 报告该驱动器碎片率为 91%(哎呀!)。我想知道是否有可能(并且值得)在 Auslogics 中对其进行碎片整理,而不会带来高数据丢失风险。
答案1
如果它使用 Microsoft 碎片整理 API,它应该能够做到这一点,因为重复数据删除块和元数据作为纯文件存储在磁盘上。如果您担心数据丢失,只需在运行它之前禁用卷上的重复数据删除作业即可。我向 Microsoft 重复数据删除团队的 Ran Kalach 询问了这个问题,他表示,使用 Microsoft 碎片整理 API 的第三方碎片整理程序没有已知的数据完整性问题。尽管由于重复数据删除使用了大型稀疏文件,可能会出现性能问题。
我一直在使用 MyDefrag,因为它具有高度可配置性,并允许您编写脚本来确定文件放置和其他操作。重复数据删除块和元数据存储在 中?:\System Volume Information\Dedup
。此目录的安全权限设置为仅允许NT AUTHORITY\SYSTEM
访问,因此如果您希望能够对这些文件进行碎片整理,则需要在帐户下运行碎片整理程序NT AUTHORITY\SYSTEM
。这可以通过 Microsoft/SysInternal 的执行程序。只需运行psexec.exe -i -s -d C:\YourDefrag.exe
为了回应你关于对已删除重复数据的卷进行碎片整理没什么用的问题的评论,我不得不表示反对。首先,并非所有文件和目录都会被删除重复数据。在默认配置中,会排除几种文件类型,请参阅cmdlet 的ExcludeFolder
和属性。管理员可以进一步配置这一点,例如,由于我的环境中的重复率较低ExcludeFileType
,我排除了 .MKV 视频文件。另外ExcludeFileTypeDefault
Get-DedupVolume
超过 1TB 的文件即使在 Server 2016 中也不会进行重复数据删除,并且文件32KB 或更小也不会进行重复数据删除。其次,可用空间碎片会降低写入性能,并会增加未来文件碎片化的可能性。第三,即使重复数据删除的文件本身就存在碎片,碎片化的重复数据删除块也会进一步降低性能。最后,通过使用 MyDefrag 等程序将重复数据删除块组合在一起,您可以减少执行垃圾收集和清理作业所需的时间,从而减少磁盘查找所花费的时间。
另外,如果运行碎片整理,数据本身将不会重新水化,因为用户可见的重复数据删除文件作为重新解析点存储在磁盘上 - 一种类似于连接或目录挂载点的特殊类型的文件。