Files
windows_exporter/docs/runbooks/windowsclustersharedvolumealmostfull.md
T
Jan-Otto Kröpke d819362150 mixin: add alerts for the opt-in collectors
Every optional collector of the mixin now has alerts, generated only with
that collector enabled in _config.collectors: clock source, disk drive
status, page file usage, license status, scheduled task results, pending
updates, Hyper-V WMI and replication health, failover cluster nodes,
resources, groups and shared volumes, Storage Spaces pool and virtual disk
health, DHCP scope exhaustion and DNS zone transfer failures. The alerts
of the pagefile, diskdrive and license collectors join the memory, disk
and system groups; the other collectors get a group of their own.

New knobs: taskSelector, sharedVolumeSelector, pagefileUsageThreshold,
dhcpScopeFreeWarningThreshold, dhcpScopeFreeCriticalThreshold and
updatePendingDuration. The test configuration enables every optional
collector and tests/optional.test.yaml covers the new alerts.

Signed-off-by: Jan-Otto Kröpke <mail@jkroepke.de>
2026-10-17 02:28:35 +00:00

1.9 KiB

title
title
WindowsClusterSharedVolumeAlmostFull

Meaning

The Cluster Shared Volume shared_volume has less free space than the configured threshold for 15 minutes. The warning fires below diskFreeWarningThreshold (10 percent by default) and the critical alert below diskFreeCriticalThreshold (5 percent); both fire below the critical threshold, so inhibit the warning in Alertmanager. The alert needs the mscluster collector and fires once per reporting node, named by the instance label. sharedVolumeSelector excludes the ClusterPerformanceHistory volume of the cluster's own health history.

Impact

Virtual machines and databases on the volume cannot grow their files. Dynamic virtual hard disks pause the virtual machine when the volume is full, Hyper-V checkpoints and backups fail, and SQL Server stops writing.

Diagnosis

  1. Compare windows_mscluster_shared_volumes_free_bytes and windows_mscluster_shared_volumes_total_bytes over the last days to see whether the volume fills steadily or filled suddenly.

  2. On a cluster node, find the large files on the volume:

    Get-ClusterSharedVolume | Select-Object Name, @{n='FreeGB';e={[int]($_.SharedVolumeInfo.Partition.FreeSpace/1GB)}}, @{n='SizeGB';e={[int]($_.SharedVolumeInfo.Partition.Size/1GB)}}
    Get-ChildItem 'C:\ClusterStorage\<volume>' -Recurse -File | Sort-Object Length -Descending | Select-Object -First 20 FullName, @{n='GB';e={[int]($_.Length/1GB)}}
    
  3. Look for leftover checkpoints (.avhdx files), orphaned virtual hard disks, backup snapshots that were not cleaned up, and dynamic disks that grew.

Mitigation

Delete or merge checkpoints, remove orphaned files, move virtual machines to another volume with storage migration, or extend the volume on the storage array and then in the cluster with Resize-Partition. Confirm free space is above the threshold. Raise the thresholds only for volumes whose growth is known and planned.