SCOM 2007 R2 添加了一个碎片分析健康检查,它在我的许多服务器上产生警告。为了尝试了解 SCOM 如何确定碎片级别,我创建了以下重现相同数据的 Powershell 脚本:
$vols = Get-WmiObject -computername "Z002" Win32_Volume -filter "DriveType=3"
$defragInfo = $vols | %{$_.DefragAnalysis() | add-member -membertype noteproperty vname $_.name -passThru}
$defragInfo | %{$_.DefragAnalysis | add-member -membertype noteproperty DefragRecommended $_.DefragRecommended -passThru | add-member -membertype noteproperty vname $_.vname -passThru} | out-file ./tmp.txt
下面的示例输出。SCOM 使用 FilePercentFragmentation 数字警告超过 10% 的任何内容,我想知道百分比是如何计算的,因为它肯定不是碎片文件除以总文件。
碎片整理推荐:真
虚拟名称:我:\
平均文件大小:20277223990
AverageFragmentsPerFile:1.11
集群大小:4096
多余的文件夹片段:0
文件百分比碎片:54
碎片文件夹:1
自由空间:131237363712
自由空间百分比:24
可用空间百分比碎片:0
MFTPPercentInUse : 10
MFTRecordCount : 65
页面文件大小:0
TotalExcessFragments : 4
文件总数:35
文件夹总数:14
TotalFragmentedFiles : 2
总MFTF片段:2
总MFTSize:606208
总页文件片段:0
TotalPercentFragmentation : 27
已用空间:405626204160
卷名:
体积大小:53686356787
我在这里做出有根据的猜测,但我认为这与平均碎片文件大小(例如有多少文件是碎片的)以及它们的大小占总文件的百分比有关。
例如,在我的一台生产服务器上,我对所有文件都有 0% 的碎片,除了一个,它恰好是数据库 MDF 文件。60GB 文件分为两个碎片,但总碎片报告显示 73%。
希望这是有道理的。