加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

powershell – 在重复数据删除卷上,如何使用Measure-DedupFileMe

发布时间:2020-12-14 00:20:34 所属栏目:Windows 来源:网络整理
导读:我试图理解Measure-DedupFileMetadata如何工作,所以我可以递归地浏览一些文件夹来报告实际使用了多少空间.我不知道如何解释输出. 如果我正确理解文档,DedupDistinctSize应该告诉我如果删除这些文件(垃圾收集后)释放了多少空间.这些数字对于我的大多数文件夹
我试图理解Measure-DedupFileMetadata如何工作,所以我可以递归地浏览一些文件夹来报告实际使用了多少空间.我不知道如何解释输出.

如果我正确理解文档,DedupDistinctSize应该告诉我如果删除这些文件(垃圾收集后)释放了多少空间.这些数字对于我的大多数文件夹都是准确的.但是在尚未进行重复数据删除的文件夹中,它显示为0.

我也不确定如何理解SizeOnDisk信息.

这是两个文件夹的输出:

Path                    : {E:veeamfolder1}
Volume                  : E:
VolumeId                : ?Volume{77da8d6d-1416-4d2a-8c85-75c91f980398}
FilesCount              : 19
OptimizedFilesCount     : 3
Size                    : 2.38 TB
SizeOnDisk              : 1.81 TB
DedupSize               : 491.38 GB
DedupChunkCount         : 6786488
DedupDistinctSize       : 475.59 GB
DedupDistinctChunkCount : 6561011

Path                    : {E:veeamfolder2}
Volume                  : E:
VolumeId                : ?Volume{77da8d6d-1416-4d2a-8c85-75c91f980398}
FilesCount              : 18
OptimizedFilesCount     : 0
Size                    : 332.7 GB
SizeOnDisk              : 332.7 GB
DedupSize               : 0 B
DedupChunkCount         : 0
DedupDistinctSize       : 0 B
DedupDistinctChunkCount : 0
我通过推导各种类型的数据做了一些测试,我的结论是实际使用的空间是SizeOnDisk DedupDistinctSize.

因此,为了使它看起来漂亮并在GB中显示它使用计算属性:

Measure-DedupFileMetadata -Path e:folder1 | Select Path,@{label="TotalGB"; expression={[math]::Round(($_.SizeOnDisk + $_.DedupDistinctSize) / 1GB,0)}}

以下是如何编写脚本并在文本文件中创建排序表:

$Folders = @()
foreach ($folder in (Get-ChildItem -Path E: -Directory))
{
    Write-Host -NoNewline "Calcuating $($folder.FullName): "
    $Result = Measure-DedupFileMetadata -ErrorAction Continue -Path $folder.FullName
    $Folders += $Result
    Write-Host $Result.DedupDistinctSize
}

$Folders | Select {$_.Path[0]},@{label='DedupDistinctSizeGB'; expression={[math]::Round($_.DedupDistinctSize / 1GB,0)}},@{label='SizeOnDiskGB'; expression={[math]::Round($_.SizeOnDisk / 1GB,0)}} | Sort TotalGB -Descending | Format-Table -AutoSize | Out-File -FilePath 'Dedup_Summary.txt' -Append

输出如下:

$_.Path[0]                                       DedupDistinctSizeGB SizeonDiskGB TotalGB
----------                                       ------------------- ------------ -------
E:veeamxxxxxxx                                                3868         2178    6045
E:veeamxxxxx                                                   840         3712    4553
E:veeamxxx                                                     801         3244    4044
E:veeamxxxxxxxxxx                                              683         1213    1896
E:veeamxxxxxxxxxxxxxx                                           41         1636    1678
E:StorageCraftxxxxxxx                                         1537           56    1593

我不确定为什么这个命令如此缓慢,但是在50TB的音量上花了一个多星期的时间来运行.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读