Logical Disk \% Free Inodes

Microsoft.Linux.SLES.12.LogicalDisk.PercentFreeInodes.Monitor (UnitMonitor)

SUSE Linux Enterprise Server 12 Logical Disk \% Free Inodes 监视器

Knowledge Base article:

摘要

逻辑磁盘(文件系统)上的可用 Inode 的百分比低。系统性能可能会受到负面影响,在提供其他 Inode 之前,在文件系统上添加文件的功能可能有风险。

如果文件系统不使用 Inode,则返回的 Percent Free Inodes 值为 100%。文件系统 Inode 使用率是使用当前的可用值和总值计算的,这可能未准确表示动态分配 Inode 的文件系统(例如 JFS)的真实使用率。

此监视器阈值是按照轮询过程中返回给代理的平均值分析的,其中“样本数”参数控制平均值计算中所包含的样本数。

配置

默认配置

参数

默认值

阈值

5

间隔(秒)

300

样本数

1

替代可用于更改以上为所有实例或为特定实例或组定义的参数值。

原因

不正常状态表示可用 Inode 的百分比当前较低。这可能是由于文件系统上存储的文件数过多所引起的。

解决方法

Inode 存储有关文件和目录的元数据。如果分配了文件系统的所有可用 Inode,则无法创建新文件和目录,即使有可用空间也不例外。要解决可用 Inode 百分比低的情况,请检查文件系统并查找可以删除或移动到备用文件系统的未使用过的文件和目录。

若要查看最近的文件系统容量历史记录,你可以使用以下视图:

磁盘容量

Element properties:

TargetMicrosoft.Linux.SLES.12.LogicalDisk
Parent MonitorSystem.Health.AvailabilityState
CategoryAvailabilityHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.Unix.WSMan.Performance.Filtered.Average.Threshold.MonitorType
RemotableTrue
AccessibilityPublic
Alert Message
\% Free Inodes 太低
已超过 Logical Disk\\% Free inodes 性能计数器的阈值。超过了阈值的值是:{0}\% Free Inodes。
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.Linux.SLES.12.LogicalDisk.PercentFreeInodes.Monitor" Accessibility="Public" Enabled="true" Target="Microsoft.Linux.SLES.12.LogicalDisk" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Unix!Microsoft.Unix.WSMan.Performance.Filtered.Average.Threshold.MonitorType" ConfirmDelivery="false">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.Linux.SLES.12.LogicalDisk.PercentFreeInodes.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/Value$</AlertParameter1>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="UnderThreshold" MonitorTypeStateID="UnderThreshold" HealthState="Error"/>
<OperationalState ID="OverThreshold" MonitorTypeStateID="OverThreshold" HealthState="Success"/>
</OperationalStates>
<Configuration>
<TargetSystem>$Target/Host/Property[Type="Unix!Microsoft.Unix.Computer"]/NetworkName$</TargetSystem>
<Uri>http://schemas.microsoft.com/wbem/wscim/1/cim-schema/2/SCX_FileSystemStatisticalInformation?__cimnamespace=root/scx</Uri>
<Filter/>
<SplitItems>true</SplitItems>
<Interval>300</Interval>
<ObjectName>Logical Disk</ObjectName>
<CounterName>% Free Inodes</CounterName>
<InstanceName>$Target/Property[Type="Unix!Microsoft.Unix.LogicalDevice"]/DeviceID$</InstanceName>
<InstanceProperty>/DataItem/WsManData/*[local-name(.)='SCX_FileSystemStatisticalInformation']/*[local-name(.)='Name']</InstanceProperty>
<Value>$Data/WsManData/*[local-name(.)='SCX_FileSystemStatisticalInformation']/*[local-name(.)='PercentFreeInodes']$</Value>
<Threshold>5</Threshold>
<NumSamples>1</NumSamples>
<PreMapperFilter>
<RegExExpression>
<ValueExpression>
<XPathQuery Type="String">/DataItem/WsManData/*[local-name(.)='SCX_FileSystemStatisticalInformation']/*[local-name(.)='PercentUsedInodes']</XPathQuery>
</ValueExpression>
<Operator>MatchesRegularExpression</Operator>
<Pattern>^[-]?([0-9]*\.[0-9]+|[0-9]+)$</Pattern>
</RegExExpression>
</PreMapperFilter>
</Configuration>
</UnitMonitor>