Powershell
在重複數據卷上,如何使用 Measure-DedupFileMetadata 確定文件夾中使用的空間
我試圖了解它是如何
Measure-DedupFileMetadata
工作的,因此我可以遞歸地瀏覽一些文件夾來報告實際使用了多少空間。我不知道如何解釋輸出。如果我正確理解文件,DedupDistinctSize 應該告訴我如果我刪除這些文件(在垃圾收集之後)釋放了多少空間。這些數字對於我的大多數文件夾來說都是準確的。但在尚未進行重複數據刪除的文件夾上,它顯示為 0。
我也不確定如何理解 SizeOnDisk 資訊。
這是兩個文件夾的輸出:
Path : {E:\veeam\folder1} 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:\veeam\folder2} 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)}}, @{label="TotalGB"; expression={[math]::Round(($_.SizeOnDisk + $_.DedupDistinctSize) / 1GB, 0)}} | Sort TotalGB -Descending | Format-Table -AutoSize | Out-File -FilePath 'Dedup_Summary.txt' -Append
輸出如下所示:
$_.Path[0] DedupDistinctSizeGB SizeonDiskGB TotalGB ---------- ------------------- ------------ ------- E:\veeam\xxxxxxx 3868 2178 6045 E:\veeam\xxxxx 840 3712 4553 E:\veeam\xxx 801 3244 4044 E:\veeam\xxxxxxxxxx 683 1213 1896 E:\veeam\xxxxxxxxxxxxxx 41 1636 1678 E:\StorageCraft\xxxxxxx 1537 56 1593
我不知道為什麼這個命令這麼慢,但是我在 50TB 的捲上執行了一個多星期。