This monitor tracks threshold breaches for the following metrics:
usedPct - percentage of space currently in use on the datastore cluster
freeGB - remaining un-used space in GB on the datastore cluster
Warning and Error thresholds are available for both metrics. Alert severity is calculated as the worst state of any metric.
This is a 'Top N' monitor - the top datastores for Free GB will be listed in the alert description.
The monitor is enabled by default. You can override the following parameters:
Name | Default Value | Description |
usedPctThresholdWarn | 90 | Specifies a threshold for the datastore cluster space usage. If the space usage value exceeds the threshold, the monitor will change its state to 'Warning'. |
usedPctThresholdCritical | 95 | Specifies a threshold for the datastore cluster space usage. If the space usage value exceeds the threshold, the monitor will change its state to 'Error'. |
FreeGBThresholdWarn | 50 | Specifies a threshold for the datastore cluster free space. If the free space value drops below the threshold, the monitor will change its state to 'Warning'. |
FreeGBThresholdCritical | 10 | Specifies a threshold for the datastore cluster free space. If the free space value drops below the threshold, the monitor will change its state to 'Error'. |
Instance Count | 5 | Defines the number of Top N child objects to display in the alert. |
Note: If you have configured several overrides of the same type, select the Enforced check box for an override that should have priority over all other overrides.
Threshold breach(es) for these metrics indicate that the datastore cluster is overall low on free space.
The usedPct metric shows the space taken on the datastore cluster by all files - VMDK files for VMs, swap files, snapshots, and other non-VMware files such as ISO, etc. Note this is an absolute metric and does not factor thin-provisioning.
The freeGB metric shows the remaining space on the datastore cluster available in GB. Note this is an absolute metric and does not factor thin-provisioning.
Availability of the VMFS datastore is critical for all operations related to virtual machines.
Below are the VMware-recommended minimal limits (per-datastore); this monitor can be overridden to accommodate your specific requirements.
200 Megabyte remaining: VMware suggests 200 MB as the threshold where there is increased risk of unexpected problems with VM operations.
100 Megabyte remaining: VMware defines 100MB free as a critical situation where problems will occur with VM operations.
If the datastore usage has breached these thresholds, then immediate action should be taken to free space, or disk corruption issues can occur.
Use the Alerts View to see all current open issues for this object. Use the Events View to review any error and warning events for this object. Open a Performance View to see the performance metrics for this object and all contained objects. Open a Diagram View to analyse the relationships of this object to other components.
Potential Issues
There follows a list of problems that can affect virtual machines when the datastore is full/approaching full:
Virtual machine startup failure: vSphere host may be unable to create the .vswp file that allows memory overcommitment, therefore the VM will not be able to start. For more information, see ESX Virtual Machine Won't Start (Insufficient Memory) (1330).
VMotion failures: Both HA- and DRS-based vMotion may fail without sufficient space on the datastore.
Snapshot creation/commit: Snapshots can quickly consume available datastore space. If the datastore is full, then snapshot creation, commit, or continued growth may fail causing VM corruption.
Poor performance: General performance issues can be seen on a datastore that is full or approaching full, as many file system commands perform poorly when space is limited.
Unpredictability: Various unpredictable issues of stability, performance and file corruption can occur when a datastore is full.
If a VMFS datastore is full, the following remedial actions can be taken:
Increase capacity: If the underlying storage system allows, the datastore size can be increased. For more information review this VMware article Guidelines for Extending a VMFS Volume (1884).
Move virtual machines to other storage: You can free space by relocating VMs to alternative storage. For more information on moving virtual machines, see Moving or copying a virtual machine within a VMware environment (1000936).
Add additional datastores: You can add additional datastores to hold VMs. To do so, refer to the VMware article SAN Configuration Guide.
Remove old snapshots: Commit and/or delete VM snapshots to free space. This should of course be reviewed with the VM owner to assess the requirement for the snapshot history. For more information, see the VMware document VMware Server Administration Guide. For more information on the topic of snapshots, see the VMware articles No more space for the redo log error when attempting to start a virtual machine (1002103) and Understanding virtual machine snapshots in VMware ESXi and ESX (1015180).
Clean up VMware VMFS: Files not related directly to host/VM operations may be stored on the datastore (for example, CD or DVD ISO images). Such files can be safely moved to another location to free space for host/VM files. Run the 'Scan Datastore' task to obtain a list of non-VMware files on this datastore.
See the Help Center for more information including reference lists of all Rules and Monitors and full set of User Guides for the Veeam MP for VMware.
See the VMware Online Documentation for more information on VMware vSphere, in particular:
Target | Veeam.Virt.Extensions.VMware.VMDSCLUSTER | ||
Parent Monitor | System.Health.AvailabilityState | ||
Category | AvailabilityHealth | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | MatchMonitorHealth | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Veeam.Virt.Extensions.VMware.AdvancedPerformance.DSClusterFreeSpace.3State2MetricMonitorType | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Veeam.Virt.Extensions.VMware.VMDSCLUSTER.Monitor.FreeSpace" Accessibility="Public" Enabled="onEssentialMonitoring" Target="VeeamVEVMwareLib!Veeam.Virt.Extensions.VMware.VMDSCLUSTER" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Veeam.Virt.Extensions.VMware.AdvancedPerformance.DSClusterFreeSpace.3State2MetricMonitorType" ConfirmDelivery="true">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Veeam.Virt.Extensions.VMware.VMDSCLUSTER.Monitor.FreeSpace_AlertMessageResourceID">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="System!System.Entity"]/DisplayName$</AlertParameter1>
<AlertParameter2>$Data/Context/DataItem/Property[@Name='Custom1']$</AlertParameter2>
<AlertParameter3>$Data/Context/DataItem/Property[@Name='RollupValue']$</AlertParameter3>
<AlertParameter4>$Data/Context/DataItem/Property[@Name='InstanceCount']$</AlertParameter4>
<AlertParameter5>$Data/Context/DataItem/Property[@Name='RelatedInstances']$</AlertParameter5>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Red" MonitorTypeStateID="Red" HealthState="Error"/>
<OperationalState ID="Yellow" MonitorTypeStateID="Yellow" HealthState="Warning"/>
<OperationalState ID="Green" MonitorTypeStateID="Green" HealthState="Success"/>
</OperationalStates>
<Configuration>
<usedPctThresholdWarn>90</usedPctThresholdWarn>
<usedPctThresholdCritical>95</usedPctThresholdCritical>
<FreeGBThresholdWarn>50</FreeGBThresholdWarn>
<FreeGBThresholdCritical>10</FreeGBThresholdCritical>
<FilterExpression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Property[@Name='entityId']</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">$Target/Property[Type="VeeamVEVMwareLib!Veeam.Virt.Extensions.VMware.VMDSCLUSTER"]/id$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<Value Type="String">$Target/Property[Type="VeeamVEVMwareLib!Veeam.Virt.Extensions.VMware.VMDSCLUSTER"]/capacity$</Value>
</ValueExpression>
<Operator>NotEqual</Operator>
<ValueExpression>
<Value Type="String">0</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</FilterExpression>
<InstanceCount>5</InstanceCount>
<DSClusterID>$Target/Property[Type="VeeamVEVMwareLib!Veeam.Virt.Extensions.VMware.VMDSCLUSTER"]/id$</DSClusterID>
</Configuration>
</UnitMonitor>