Critical State

Microsoft.SQLServerAppliance.PDW2.StorageExternal.VirtualDiskStateMonitor.Critical (UnitMonitor)

This monitor detects if Virtual Disk Component is in Critical state.

Knowledge Base article:

Summary

The storage spaces virtual disk status is critical (vendor status: 2-Unhealthy)!

The health of the mirror could be impacted by the loss of a single disk so another alert might have occured for the disk itself.

Causes

The status is reported in the component's 'virtual_disk_status' property. The Operational Status, shown in property 'virtual_disk_oper_status' might provide more information about the problem.

Resolutions

Review the node's events in log 'Application and Service Logs\Microsoft\Windows\StorageSpaces-Driver\Operational' for further details.

To resolve this issue, contact Microsoft support and provide them with the alert name and details. Microsoft Support will help you to understand the failure and help you to bring the node back online or into a healthy state.

Element properties:

TargetMicrosoft.SQLServerAppliance.PDW2.StorageExternal.VirtualDisk
Parent MonitorSystem.Health.AvailabilityState
CategoryAvailabilityHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServerAppliance.PDW2.ComponentTwoStateType
RemotableTrue
AccessibilityPublic
Alert Message
Virtual Disk has CRITICAL status
Appliance Name: {0}
Node Name: {1}
Component: {2}
Component Details: https://{3}/Topology/NodeDetails/{4}?compId={5}
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SQLServerAppliance.PDW2.StorageExternal.VirtualDiskStateMonitor.Critical" Target="PDWLibrary!Microsoft.SQLServerAppliance.PDW2.StorageExternal.VirtualDisk" ParentMonitorID="Health!System.Health.AvailabilityState" TypeID="Microsoft.SQLServerAppliance.PDW2.ComponentTwoStateType" Accessibility="Public" Enabled="true" Remotable="true" Priority="Normal" ConfirmDelivery="false">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServerAppliance.PDW2.StorageExternal.VirtualDiskStateMonitor.Critical.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="PDWLibrary!Microsoft.SQLServerAppliance.PDW2.Component"]/ApplianceID$</AlertParameter1>
<AlertParameter2>$Target/Property[Type="PDWLibrary!Microsoft.SQLServerAppliance.PDW2.Component"]/NodeName$</AlertParameter2>
<AlertParameter3>$Target/Property[Type="System!System.Entity"]/DisplayName$</AlertParameter3>
<AlertParameter4>$Target/Property[Type="PDWLibrary!Microsoft.SQLServerAppliance.PDW2.Component"]/ApplianceNetworkAddress$</AlertParameter4>
<AlertParameter5>$Target/Property[Type="PDWLibrary!Microsoft.SQLServerAppliance.PDW2.Component"]/NodeID$</AlertParameter5>
<AlertParameter6>$Target/Property[Type="PDWLibrary!Microsoft.SQLServerAppliance.PDW2.Component"]/ID$</AlertParameter6>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Good" MonitorTypeStateID="Good" HealthState="Success"/>
<OperationalState ID="Bad" MonitorTypeStateID="Bad" HealthState="Error"/>
</OperationalStates>
<Configuration>
<IntervalSeconds>900</IntervalSeconds>
<SyncTime/>
<TimeoutSeconds>600</TimeoutSeconds>
<ConnectionString>$Target/Property[Type="PDWLibrary!Microsoft.SQLServerAppliance.PDW2.Component"]/ApplianceID$</ConnectionString>
<NodeName>$Target/Property[Type="PDWLibrary!Microsoft.SQLServerAppliance.PDW2.Component"]/NodeName$</NodeName>
<GroupName>$Target/Property[Type="PDWLibrary!Microsoft.SQLServerAppliance.PDW2.Component"]/GroupName$</GroupName>
<ComponentName>$Target/Property[Type="System!System.Entity"]/DisplayName$</ComponentName>
<MonitoredState>Critical</MonitoredState>
</Configuration>
</UnitMonitor>