Поделиться через


Просмотр ошибок службы работоспособности

Область применения: Azure Stack HCI версий 23H2 и 22H2; Windows Server 2022, Windows Server 2019

Служба работоспособности постоянно отслеживает кластер Локальные дисковые пространства для обнаружения проблем и создания "ошибок". Один командлет отображает все текущие ошибки, что позволяет легко проверить работоспособность развертывания, не просматривая каждую сущность или функцию по очереди. Все сообщения об ошибках дают точную информацию, которую легко понять и по которой можно выполнить конкретные действия.

Каждая ошибка содержит пять важных полей:

  • Статус
  • Описание проблемы
  • Рекомендуемые дальнейшие действия для решения проблемы
  • Сведения для идентификации сущности, вызвавшей сбой
  • Физическое расположение (если применимо)

Вот пример распространенной ошибки:

Severity: MINOR
Reason: Connectivity has been lost to the physical disk.
Recommendation: Check that the physical disk is working and properly connected.
Part: Manufacturer Contoso, Model XYZ9000, Serial 123456789
Location: Seattle DC, Rack B07, Node 4, Slot 11

Примечание

Физическое расположение основывается на конфигурации домена сбоя. Дополнительные сведения о доменах сбоя см. в разделе Сведения о доменах сбоя. Если не указать эти сведения, поле расположения будет менее полезным. Например, в нем может отображаться только номер слота.

Анализ первопричин

Служба работоспособности может оценить потенциальную причинно-следственность между сущностями сбоя для выявления и объединения ошибок, которые являются последствиями одной и той же базовой проблемы. Выявление таких цепочек влияния позволяет снизить объемы выводимой информации. Например, если сервер не работает, ожидается, что все диски на сервере также не подключены. Таким образом, для первопричины будет вызвана только одна ошибка — в данном случае это сервер.

Использование в PowerShell

Чтобы просмотреть текущие ошибки в PowerShell, выполните следующий командлет:

Get-HealthFault

При этом будут возвращены все ошибки, влияющие на общую Локальные дисковые пространства кластера. Чаще всего эти ошибки связаны с оборудованием или конфигурацией. Если ошибок нет, командлет ничего не возвращает.

Примечание

В нерабочей среде и на свой страх и риск можно поэкспериментировать с этой функцией, самостоятельно активировав сбои. Например, это можно сделать, удалив один физический диск или завершив работу одного узла. После появления ошибки повторно вставьте физический диск или перезапустите узел, чтобы ошибка исчезла.

Использование в .NET и C#

В этом разделе показано, как подключиться к службе работоспособности, использовать объекты обнаружения и выполнять запросы сбоя.

Подключение

Чтобы запросить службу работоспособности, необходимо установить CimSession с кластером. Для этого вам потребуются некоторые компоненты, доступные только в полной версии Microsoft .NET. Это означает, что вы не можете сделать это непосредственно из веб-приложения или мобильного приложения. В примерах кода в этом разделе используется C#, самый простой вариант для этого уровня доступа к данным.

using System.Security;
using Microsoft.Management.Infrastructure;

public CimSession Connect(string Domain = "...", string Computer = "...", string Username = "...", string Password = "...")
{
    SecureString PasswordSecureString = new SecureString();
    foreach (char c in Password)
    {
        PasswordSecureString.AppendChar(c);
    }

    CimCredential Credentials = new CimCredential(
        PasswordAuthenticationMechanism.Default, Domain, Username, PasswordSecureString);
    WSManSessionOptions SessionOptions = new WSManSessionOptions();
    SessionOptions.AddDestinationCredentials(Credentials);
    Session = CimSession.Create(Computer, SessionOptions);
    return Session;
}

Предоставленное имя пользователя должно быть локальным администратором целевого компьютера.

Рекомендуется создавать Password SecureString непосредственно из введенных пользователем данных в режиме реального времени, чтобы пароль никогда не сохранял в памяти в виде открытого текста. Это помогает устранить различные проблемы безопасности. Но на практике, построение его, как описано выше, является общим для создания прототипов целей.

Обнаружение объектов

Установив CimSession , вы можете запрашивать инструментарий управления Windows (WMI) в кластере.

Перед получением ошибок или метрик необходимо получить экземпляры нескольких соответствующих объектов. Сначала получите MSFT_StorageSubSystem, представляющее Локальные дисковые пространства в кластере. С его помощью можно получить все MSFT_StorageNode в кластере и каждый MSFT_Volume томов данных. Наконец, необходимо получить MSCluster_ClusterHealthService, саму службу работоспособности.

CimInstance Cluster;
List<CimInstance> Nodes;
List<CimInstance> Volumes;
CimInstance HealthService;

public void DiscoverObjects(CimSession Session)
{
    // Get MSFT_StorageSubSystem for Storage Spaces Direct
    Cluster = Session.QueryInstances(@"root\microsoft\windows\storage", "WQL", "SELECT * FROM MSFT_StorageSubSystem")
        .First(Instance => (Instance.CimInstanceProperties["FriendlyName"].Value.ToString()).Contains("Cluster"));

    // Get MSFT_StorageNode for each cluster node
    Nodes = Session.EnumerateAssociatedInstances(Cluster.CimSystemProperties.Namespace,
        Cluster, "MSFT_StorageSubSystemToStorageNode", null, "StorageSubSystem", "StorageNode").ToList();

    // Get MSFT_Volumes for each data volume
    Volumes = Session.EnumerateAssociatedInstances(Cluster.CimSystemProperties.Namespace,
        Cluster, "MSFT_StorageSubSystemToVolume", null, "StorageSubSystem", "Volume").ToList();

    // Get MSFT_StorageHealth itself
    HealthService = Session.EnumerateAssociatedInstances(Cluster.CimSystemProperties.Namespace,
        Cluster, "MSFT_StorageSubSystemToStorageHealth", null, "StorageSubSystem", "StorageHealth").First();
}

Это те же объекты, которые вы получаете в PowerShell с помощью таких командлетов, как Get-StorageSubSystem, Get-StorageNode и Get-Volume.

Вы можете получить доступ ко всем тем же свойствам, которые описаны в разделе Классы API управления хранилищем.

using System.Diagnostics;

foreach (CimInstance Node in Nodes)
{
    // For illustration, write each node's Name to the console. You could also write State (up/down), or anything else!
    Debug.WriteLine("Discovered Node " + Node.CimInstanceProperties["Name"].Value.ToString());
}

Ошибки запросов

Вызовите диагностику , чтобы получить все текущие ошибки, ограниченные целевым экземпляром CimInstance, который может быть либо кластером, либо любым томом.

Полный список ошибок, доступных на каждом область в Windows Server 2019, описан далее в разделе Покрытие.

public void GetFaults(CimSession Session, CimInstance Target)
{
    // Set Parameters (None)
    CimMethodParametersCollection FaultsParams = new CimMethodParametersCollection();
    // Invoke API
    CimMethodResult Result = Session.InvokeMethod(Target, "Diagnose", FaultsParams);
    IEnumerable<CimInstance> DiagnoseResults = (IEnumerable<CimInstance>)Result.OutParameters["DiagnoseResults"].Value;
    // Unpack
    if (DiagnoseResults != null)
    {
        foreach (CimInstance DiagnoseResult in DiagnoseResults)
        {
            // TODO: Whatever you want!
        }
    }
}

Необязательно: класс MyFault

Возможно, имеет смысл создать и сохранить собственное представление ошибок. Например, класс MyFault хранит несколько ключевых свойств ошибок, включая FaultId, который можно использовать позже для связывания обновлений, удаления уведомлений или дедупликации в случае, если один и тот же сбой обнаруживается несколько раз.

public class MyFault {
    public String FaultId { get; set; }
    public String Reason { get; set; }
    public String Severity { get; set; }
    public String Description { get; set; }
    public String Location { get; set; }

    // Constructor
    public MyFault(CimInstance DiagnoseResult)
    {
        CimKeyedCollection<CimProperty> Properties = DiagnoseResult.CimInstanceProperties;
        FaultId     = Properties["FaultId"                  ].Value.ToString();
        Reason      = Properties["Reason"                   ].Value.ToString();
        Severity    = Properties["PerceivedSeverity"        ].Value.ToString();
        Description = Properties["FaultingObjectDescription"].Value.ToString();
        Location    = Properties["FaultingObjectLocation"   ].Value.ToString();
    }
}
List<MyFault> Faults = new List<MyFault>;

foreach (CimInstance DiagnoseResult in DiagnoseResults)
{
    Faults.Add(new Fault(DiagnoseResult));
}

Полный список свойств в каждой ошибке (DiagnoseResult) описан далее в разделе Свойства сбоя .

События сбоя

При создании, удалении или обновлении ошибок служба работоспособности создает события WMI. Они необходимы для синхронизации состояния приложения без частых опросов и могут помочь в таких вещах, как, например, определение времени отправки оповещений по электронной почте. Чтобы подписаться на эти события, в следующем примере кода используется шаблон разработки наблюдателя.

Сначала подпишитесь на события MSFT_StorageFaultEvent .

public void ListenForFaultEvents()
{
    IObservable<CimSubscriptionResult> Events = Session.SubscribeAsync(
        @"root\microsoft\windows\storage", "WQL", "SELECT * FROM MSFT_StorageFaultEvent");
    // Subscribe the Observer
    FaultsObserver<CimSubscriptionResult> Observer = new FaultsObserver<CimSubscriptionResult>(this);
    IDisposable Disposeable = Events.Subscribe(Observer);
}

Затем реализуйте наблюдатель, чей метод OnNext() вызывается при каждом создании нового события.

Каждое событие содержит ChangeType , который указывает, создается ли ошибка, удаляется или обновляется, а также соответствующий Идентификатор сбоя.

Кроме того, каждое событие содержит все свойства самого сбоя.

class FaultsObserver : IObserver
{
    public void OnNext(T Event)
    {
        // Cast
        CimSubscriptionResult SubscriptionResult = Event as CimSubscriptionResult;

        if (SubscriptionResult != null)
        {
            // Unpack
            CimKeyedCollection<CimProperty> Properties = SubscriptionResult.Instance.CimInstanceProperties;
            String ChangeType = Properties["ChangeType"].Value.ToString();
            String FaultId = Properties["FaultId"].Value.ToString();

            // Create
            if (ChangeType == "0")
            {
                Fault MyNewFault = new MyFault(SubscriptionResult.Instance);
                // TODO: Whatever you want!
            }
            // Remove
            if (ChangeType == "1")
            {
                // TODO: Use FaultId to find and delete whatever representation you have...
            }
            // Update
            if (ChangeType == "2")
            {
                // TODO: Use FaultId to find and modify whatever representation you have...
            }
        }
    }
    public void OnError(Exception e)
    {
        // Handle Exceptions
    }
    public void OnCompleted()
    {
        // Nothing
    }
}

Общие сведения о жизненном цикле сбоя

Ошибки не должны быть помечены пользователем как "видимые" или разрешенные пользователем. Они создаются, когда служба работоспособности наблюдает за проблемой, и автоматически удаляются только после того, как служба работоспособности больше не сможет ее отслеживать. Как правило, это свидетельствует о том, что проблема устранена.

Однако в некоторых случаях служба работоспособности может повторно обнаружить ошибки, например после отработки отказа, периодических подключений и т. д. По этой причине может быть целесообразно сохранить собственное представление ошибок, чтобы можно было легко выполнить дедупликацию. Это особенно важно при отправке оповещений по электронной почте или их эквивалента.

Свойства сбоя

В следующей таблице представлено несколько ключевых свойств объекта сбоя. Чтобы просмотреть полную схему, проверьте класс MSFT_StorageDiagnoseResult в storagewmi.mof.

Свойство Пример
FaultId {12345-12345-12345-12345-12345}
Тип сбоя Microsoft.Health.FaultType.Volume.Capacity
Причина "На томе не хложит доступного пространства".
PerceivedSeverity 5
FaultingObjectDescription Contoso XYZ9000 S.N. 123456789
FaultingObjectLocation Стойка A06, ЕЗ 25, слот 11
Рекомендуемые действия {"Развернуть том".", "Перенос рабочих нагрузок на другие тома".}

FaultId: уникальный идентификатор в область одного кластера.

PerceivedSeverity: PerceivedSeverity = { 4, 5, 6 } = { "Информационный", "Warning" и "Error" }, или эквивалентные цвета, такие как синий, желтый и красный.

FaultingObjectDescription: сведения о части оборудования, обычно пустые для программных объектов.

FaultingObjectLocation: сведения о расположении оборудования, обычно пустые для программных объектов.

RecommendedActions: список рекомендуемых действий, которые являются независимыми и не имеют определенного порядка. Сегодня этот список часто имеет длину 1.

Свойства события сбоя

В следующей таблице представлено несколько ключевых свойств события сбоя. Чтобы просмотреть полную схему, проверьте класс MSFT_StorageFaultEvent в storagewmi.mof.

Обратите внимание на ChangeType , указывающее, создается ли ошибка, удаляется или обновляется, а также идентификатор FaultId. Событие также содержит все свойства затронутой ошибки.

Свойство Пример
ChangeType 0
FaultId {12345-12345-12345-12345-12345}
Тип сбоя Microsoft.Health.FaultType.Volume.Capacity
Причина "Доступное место на томе истекает".
PerceivedSeverity 5
FaultingObjectDescription Contoso XYZ9000 S.N. 123456789
FaultingObjectLocation Стойка A06, RU 25, слот 11
Рекомендуемые действия {"Развернуть том".", "Перенос рабочих нагрузок на другие тома".}

Changetype ChangeType = { 0, 1, 2 } = { "Create", "Remove", "Update" }.

Охват

В Windows Server 2019 и Azure Stack HCI служба работоспособности обеспечивает следующее покрытие сбоев:

PhysicalDisk (31)

FaultType: Microsoft.Health.FaultType.PhysicalDisk.FailedMedia

  • Серьезность: предупреждение.
  • Причина: "Сбой физического диска".
  • RecommendedAction: "Заменить физический диск".

FaultType: Microsoft.Health.FaultType.PhysicalDisk.LostCommunication

  • Серьезность: предупреждение.
  • Причина: "Подключение к физическому диску потеряно".
  • RecommendedAction: "Убедитесь, что физический диск работает и правильно подключен".

FaultType: Microsoft.Health.FaultType.PhysicalDisk.Unresponsive

  • Серьезность: предупреждение.
  • Причина: "Физический диск демонстрирует повторяющееся отсутствие ответа".
  • RecommendedAction: "Заменить физический диск".

FaultType: Microsoft.Health.FaultType.PhysicalDisk.PredictiveFailure

  • Серьезность: предупреждение.
  • Причина: "Сбой физического диска, по прогнозам, произойдет в ближайшее время".
  • RecommendedAction: "Заменить физический диск".

FaultType: Microsoft.Health.FaultType.PhysicalDisk.UnsupportedHardware

  • Серьезность: предупреждение.
  • Причина: "Физический диск помещен в карантин, так как он не поддерживается поставщиком решения".
  • RecommendedAction: "Замените физический диск поддерживаемым оборудованием".

FaultType: Microsoft.Health.FaultType.PhysicalDisk.UnsupportedFirmware

  • Серьезность: предупреждение.
  • Причина: "Физический диск находится в карантине, так как его версия встроенного ПО не поддерживается поставщиком решения".
  • RecommendedAction: "Обновите встроенное ПО на физическом диске до целевой версии".

FaultType: Microsoft.Health.FaultType.PhysicalDisk.UnrecognizedMetadata

  • Серьезность: предупреждение.
  • Причина: "Физический диск содержит нераспознанные метаданные".
  • RecommendedAction: "Этот диск может содержать данные из неизвестного пула носителей. Сначала убедитесь, что на этом диске нет полезных данных, а затем сбросьте диск".

FaultType: Microsoft.Health.FaultType.PhysicalDisk.FailedFirmwareUpdate

  • Серьезность: предупреждение.
  • Причина: "Не удалось обновить встроенное ПО на физическом диске".
  • RecommendedAction: "Попробуйте использовать другой двоичный файл встроенного ПО".

FaultType: Microsoft.Health.FaultType.PhysicalDisk.SblFailedMedia

  • Серьезность: предупреждение.
  • Причина: "Сбой диска".
  • RecommendedAction: "Заменить диск".

FaultType: Microsoft.Health.FaultType.PhysicalDisk.SblUnresponsive

  • Серьезность: предупреждение.
  • Причина: "Физический диск демонстрирует повторяющееся отсутствие ответа".
  • RecommendedAction: "Заменить физический диск".

FaultType: Microsoft.Health.FaultType.PhysicalDisk.FailureBadBlock

  • Серьезность: предупреждение.
  • Причина: "Диск сообщил о плохих блоках во время записи. Иногда плохой блок является нормальным, но слишком много может означать, что диск неисправен, поврежден или начинает работать.
  • RecommendedAction: "Если это продолжает происходить или вы наблюдаете снижение производительности, рассмотрите возможность замены диска".

FaultType: Microsoft.Health.FaultType.PhysicalDisk.FailureBadBlockRead

  • Серьезность: предупреждение.
  • Причина: "Диск сообщил о плохих блоках во время чтения. Иногда плохой блок является нормальным, но слишком много может означать, что диск неисправен, поврежден или начинает работать.
  • RecommendedAction: "Если это продолжает происходить или вы наблюдаете снижение производительности, рассмотрите возможность замены диска".

FaultType: Microsoft.Health.FaultType.PhysicalDisk.FailureIoRetry

  • Серьезность: предупреждение.
  • Причина: "Диску требуется несколько попыток чтения или записи. Если это продолжает происходить, это может означать, что диск неисправен, поврежден или начинает выходить из строя".
  • RecommendedAction: "Если это продолжает происходить или вы наблюдаете снижение производительности, рассмотрите возможность замены диска".

Примечание

Эта ошибка отключена по умолчанию. Чтобы включить его, задайте для параметра работоспособности System.Storage.PhysicalDisk.MarginalFailure.EventBased.IoRetry.Enabled значение true.

FaultType: Microsoft.Health.FaultType.PhysicalDisk.FailureIoFailure

  • Серьезность: предупреждение.
  • Причина: "Не удалось выполнить чтение или запись диска. Если это продолжает происходить, это может означать, что диск неисправен, поврежден или начинает выходить из строя".
  • RecommendedAction: "Если это продолжает происходить или вы наблюдаете снижение производительности, рассмотрите возможность замены диска".

Примечание

Эта ошибка отключена по умолчанию. Чтобы включить его, задайте для параметра работоспособности System.Storage.PhysicalDisk.MarginalFailure.EventBased.IoFailure.Enabled значение true.

FaultType: Microsoft.Health.FaultType.PhysicalDisk.FailureSmart

  • Серьезность: предупреждение.
  • Причина: "Диск сообщил о следующих потенциальных проблемах в Windows с помощью SMART (технология самомониринга, анализа и отчетности)"
  • RecommendedAction: "Если это продолжает происходить или вы наблюдаете снижение производительности, рассмотрите возможность замены диска".

FaultType: Microsoft.Health.FaultType.PhysicalDisk.FailureHighWear

  • Серьезность: предупреждение.
  • Причина: "Диск достиг высокого процента от его рейтинг выносливости записи. Диск может стать доступным только для чтения, то есть он не может выполнять больше операций записи, когда он достигает 100 % от его рейтинговой выносливости. Проверьте лист данных или попросите производителя получить дополнительные сведения о рейтинге выносливости и поведении в конце срока службы".
  • RecommendedAction: "Если это продолжает происходить или вы наблюдаете снижение производительности, рассмотрите возможность замены диска".

FaultType: Microsoft.Health.FaultType.PhysicalDisk.FailureReadOnly

  • Серьезность: предупреждение.
  • Причина: "Диск достиг 100% от его рейтинговой выносливости записи и теперь доступен только для чтения, то есть он не может выполнять больше никаких операций записи. Твердотельные накопители изнашиваются после определенного количества операций записи, что зависит от рейтинга выносливости диска. Для получения дополнительных сведений проверка спецификации диска или спросите производителя о рейтинге выносливости и поведении в конце срока службы".
  • RecommendedAction: "Если это продолжает происходить или вы наблюдаете снижение производительности, рассмотрите возможность замены диска".

FaultType: Microsoft.Health.FaultType.PhysicalDisk.HighLatency.SlowestIO

  • Серьезность: предупреждение.
  • Причина: "Диск имеет высокую пиковую задержку".
  • RecommendedAction: "Отслеживайте производительность диска и рассмотрите возможность замены диска".

Примечание

Эта ошибка отключена по умолчанию. Чтобы включить его, задайте для параметра работоспособности System.Storage.PhysicalDisk.HighLatency.Threshold.Tail.Enabled значение true.

FaultType: Microsoft.Health.FaultType.PhysicalDisk.HighLatency.AverageIO

  • Серьезность: предупреждение.
  • Причина: "Диск имеет высокую среднюю задержку".
  • RecommendedAction: "Отслеживайте производительность диска и рассмотрите возможность замены диска".

Примечание

Эта ошибка отключена по умолчанию. Чтобы включить его, задайте для параметра работоспособности System.Storage.PhysicalDisk.HighLatency.Threshold.Tail.Enabled значение true.

FaultType: Microsoft.Health.FaultType.PhysicalDisk.HighLatency.Outlier.AverageIO

  • Серьезность: предупреждение.
  • Причина: "Диск имеет высокую среднюю задержку".
  • RecommendedAction: "Отслеживайте производительность диска и рассмотрите возможность замены диска".

FaultType: Microsoft.Health.FaultType.PhysicalDisk.HighLatency.Outlier.SlowestIO

  • Серьезность: предупреждение.
  • Причина: "Диск имеет высокую пиковую задержку".
  • RecommendedAction: "Отслеживайте производительность диска и рассмотрите возможность замены диска".

FaultType: Microsoft.Health.FaultType.PhysicalDisk.HighErrorCount.AverageIO

  • Серьезность: предупреждение.
  • Причина: "Диск содержит большое количество ошибок".
  • RecommendedAction: "Отслеживайте производительность диска и рассмотрите возможность замены диска".

FaultType: Microsoft.Health.FaultType.PhysicalDisk.HighErrorCount.Outlier.AverageIO

  • Серьезность: предупреждение.
  • Причина: "Диск содержит большое количество ошибок".
  • RecommendedAction: "Отслеживайте производительность диска и рассмотрите возможность замены диска".

FaultType: Microsoft.Health.FaultType.PhysicalDisk.CacheReadOnly

  • Серьезность: предупреждение.
  • Причина: "На диске кэша не удалось выполнить некоторые операции чтения или записи, поэтому для защиты данных мы переместили их на диски емкости".
  • RecommendedAction: "Замените диск или попробуйте очистить и сбросить его".

FaultType: Microsoft.Health.FaultType.PhysicalDisk.CacheReadOnly.Draining

  • Серьезность: предупреждение.
  • Причина: "На диске кэша произошел сбой некоторых операций чтения или записи. Чтобы защитить ваши данные, мы прекратили запись на диск кэша и пытаемся переместить его данные на диски емкости".
  • RecommendedAction: "Зависание при перемещении данных".

FaultType: Microsoft.Health.FaultType.PhysicalDisk.CacheReadOnly.FailedDrain

  • Серьезность: предупреждение.
  • Причина: "Некоторые данные на диске кэша не могут быть прочитаны, что не позволяет нам переместить их на диски емкости".
  • RecommendedAction: "Заменить диск".

FaultType: Microsoft.Health.FaultType.PhysicalDisk.SedEncKey.RotationFailure

  • Серьезность: предупреждение.
  • Причина: "Попытка сменить ключ шифрования SED на новый ключ шифрования по умолчанию завершилась сбоем".
  • RecommendedAction: "Убедитесь, что диск работает и правильно подключен. Если произошел сбой диска, замените его. Перезапустите смену ключа шифрования SED, когда диск становится работоспособным".

FaultType: Microsoft.Health.FaultType.PhysicalDisk.SedEncKey.NotDefault

  • Серьезность: предупреждение.
  • Причина: "Физический диск имеет ключ шифрования SED, но он не соответствует текущему ключу по умолчанию".
  • RecommendedAction: "Инициировать смену ключа шифрования SED".

FaultType: Microsoft.Health.FaultType.PhysicalDisk.SedEncKey.NotDefined

  • Серьезность: предупреждение.
  • Причина: "Нет определенного ключа шифрования SED по умолчанию для диска".
  • RecommendedAction: "Задать ключ шифрования SED по умолчанию".

FaultType: Microsoft.Health.FaultType.StorageScaleUnit.SedEncKey.RotationTimeout

  • Серьезность: предупреждение.
  • Причина: "Не удалось завершить смену ключа шифрования SED на сервере до истечения времени ожидания"
  • RecommendedAction: "Убедитесь, что сервер доступен и все физические диски работоспособны".

FaultType: Microsoft.Health.FaultType.PhysicalDisk.DriveArriveFailure

  • Серьезность: предупреждение.
  • Причина: "Запросы на физический диск не выполняются".
  • Рекомендуемое действие: "Проверьте надежность сети. Если проблема не исчезнет, попробуйте заменить устройство".

Виртуальный диск (3)

FaultType: Microsoft.Health.FaultType.VirtualDisks.NeedsRepair

  • Важность: информационное сообщение
  • Причина: "Некоторые данные на этом томе не полностью устойчивы. Он остается доступным".
  • RecommendedAction: "Восстановление устойчивости данных".

FaultType: Microsoft.Health.FaultType.VirtualDisks.Detached

  • Уровень серьезности: критический
  • Причина: "Том недоступен. Некоторые данные могут быть потеряны".
  • RecommendedAction: "Проверьте физическое и (или) сетевое подключение всех устройств хранения. Возможно, потребуется выполнить восстановление из резервной копии".

FaultType: Microsoft.Health.FaultType.VirtualDisks.NoRedundancy

  • Уровень серьезности: критический
  • Причина: "Все копии данных недоступны для региона виртуального диска. Рабочая нагрузка может быть прервана, и могут наблюдаться сбои ввода-вывода".
  • Рекомендуемое действие: "Если операция обслуживания продолжается, приостановите ее и восстановите доступ ко всему хранилищу, пока хранилище не стабилизируется".

Емкость пула (2)

FaultType: Microsoft.Health.FaultType.StoragePool.TransactionAndCleanupFailure

  • Серьезность: предупреждение.
  • Причина: "Пул носителей не может записывать данные в кворум устройств метаданных. Рабочая нагрузка может быть прервана, и могут наблюдаться сбои ввода-вывода".
  • Рекомендуемое действие: "Если операция обслуживания продолжается, приостановите ее и восстановите доступ ко всему хранилищу, пока хранилище не стабилизируется".

FaultType: Microsoft.Health.FaultType.StoragePool.PoolCapacityThresholdExceededed

  • Серьезность: предупреждение.
  • Причина: "Емкость пула носителей истекает".
  • RecommendedAction: "Добавление дополнительной емкости в пул носителей или освобождение емкости".

Емкость тома (5)1

FaultType: Microsoft.Health.FaultType.Volume.Capacity

  • Серьезность: предупреждение.
  • Причина: "На томе истекает доступное пространство".
  • RecommendedAction: "Расширение тома или перенос рабочих нагрузок на другие тома".

FaultType: Microsoft.Health.FaultType.Volume.FileSystem.Corruption.Correctable

  • Серьезность: предупреждение.
  • Причина: "Файловая система обнаружила ошибку контрольной суммы и смогла ее исправить".
  • Рекомендуемое действие: "Инициируйте проверку целостности данных из планировщика задач, хранилище может быть неисправным. Если выполняется операция обновления или обслуживания, немедленно остановите ее. Возможно, потребуется выполнить восстановление из резервной копии".

FaultType: Microsoft.Health.FaultType.Volume.FileSystem.Corruption.Uncorrectable

  • Серьезность: предупреждение.
  • Причина: "Файловая система обнаружила ошибку контрольной суммы и не смогла ее исправить".
  • Рекомендуемое действие: "Инициируйте проверку целостности данных из планировщика задач, хранилище может быть неисправным. Если выполняется операция обновления или обслуживания, немедленно остановите ее. Возможно, потребуется выполнить восстановление из резервной копии".

FaultType: Microsoft.Health.FaultType.Volume.FileSystem.Corruption.Uncorrectable.DataRemoved

  • Серьезность: предупреждение.
  • Причина: "Файловая система обнаружила повреждение файла или папки. Файл или папка удалены из пространства имен файловой системы".
  • Рекомендуемое действие: "Инициируйте проверку целостности данных из планировщика задач, хранилище может быть неисправным. Если выполняется операция обновления или обслуживания, немедленно остановите ее. Возможно, потребуется выполнить восстановление из резервной копии".

FaultType: Microsoft.Health.FaultType.Volume.FileSystem.Corruption.Uncorrectable.DataRemovalFailure

  • Серьезность: предупреждение.
  • Причина: "Файловая система обнаружила повреждение файла или папки. Возможно, файловой системе не удалось удалить ее из пространства имен файловой системы.
  • Рекомендуемое действие: "Инициируйте проверку целостности данных из планировщика задач, хранилище может быть неисправным. Если выполняется операция обновления или обслуживания, немедленно остановите ее. Возможно, потребуется выполнить восстановление из резервной копии".

Сервер (12)

FaultType: Microsoft.Health.FaultType.Server.Down

  • Уровень серьезности: критический
  • Причина: "Не удается связаться с сервером".
  • RecommendedAction: "Запуск или замена сервера".

FaultType: Microsoft.Health.FaultType.Server.Isolated

  • Уровень серьезности: критический
  • Причина: "Сервер изолирован от кластера из-за проблем с подключением".
  • RecommendedAction: "Если изоляция сохраняется, проверка сети или перенести рабочие нагрузки на другие узлы".

FaultType: Microsoft.Health.FaultType.Server.Quarantined

  • Уровень серьезности: критический
  • Причина: "Сервер помещается в карантин в кластере из-за повторяющихся сбоев".
  • RecommendedAction: "Замена сервера или исправление сети".

FaultType: Microsoft.Health.FaultType.Server.Temperature

  • Серьезность: предупреждение.
  • Причина: "Датчик температуры сервера вызвал предупреждение".
  • RecommendedAction: "Проверка температуры сервера".

FaultType: Microsoft.Health.FaultType.Server.Storage.Degraded

  • Серьезность: предупреждение.
  • Причина: "На сервере есть хранилище, которое не является полным или актуальным, поэтому нам нужно синхронизировать его с данными с других серверов в кластере. Это нормально после перезапуска сервера или сбоя диска".
  • RecommendedAction: "Зависание во время синхронизации хранилища. Не удаляйте диски и не перезагружайте серверы в кластере, пока синхронизация не будет завершена.

FaultType: Microsoft.Health.FaultType.Node.CPUOverloaded

  • Серьезность: предупреждение.
  • Причина: "Загрузка ЦП сервера постоянно превышает пороговое значение".
  • Рекомендуемое действие: "Переместите виртуальные машины на другие серверы с более низкой загрузкой ЦП или рассмотрите возможность добавления дополнительной вычислительной мощности в кластер (обычно путем добавления серверов)".

FaultType: Microsoft.Health.FaultType.Node.VCPUToLCPU

  • Серьезность: предупреждение.
  • Причина: "Отношение виртуальных процессоров к логическим процессорам (потокам) на этом сервере превысило заданное пороговое значение".
  • RecommendedAction: "Переместите виртуальные машины на другой сервер с более низкой загрузкой ЦП или рассмотрите возможность добавления дополнительной вычислительной мощности в кластер".

FaultType: Microsoft.Health.FaultType.Node.LowFreeRam

  • Серьезность: предупреждение.
  • Причина: "Доступная память ниже заданного порогового значения".
  • RecommendedAction: "Переместите виртуальные машины на другой сервер с более низкой загрузкой ЦП или рассмотрите возможность добавления дополнительной вычислительной мощности в кластер".

FaultType: Microsoft.Health.FaultType.Node.HighRootPartitionMemoryUsage

  • Серьезность: предупреждение.
  • Причина: "Windows Server потребляет много физической памяти, которая превышает заданное пороговое значение".
  • RecommendedAction: Проверка процессов или приложений, потребляющих слишком много памяти, перемещение виртуальных машин на другие серверы или добавление памяти на серверы.

FaultType: Microsoft.Health.FaultType.Node.TooHighCpuReservation

  • Серьезность: предупреждение.
  • Причина: "Совокупное резервирование ЦП виртуальных машин на этом сервере превышает заданное пороговое значение".
  • RecommendedAction: "Рассмотрите возможность перемещения виртуальных машин или сокращения резервирований ЦП".

FaultType: Microsoft.Health.FaultType.Node.TooHighMemoryUseAfterReclamation

  • Серьезность: предупреждение.
  • Причина: "Совокупное назначение памяти виртуальных машин на этом сервере превышает заданное пороговое значение".
  • Рекомендуемое действие: "Рассмотрите возможность перемещения виртуальных машин или уменьшения объема назначенной им памяти".

FaultType: Microsoft.Health.FaultType.Node.SustainedHighCpuUsage

  • Серьезность: предупреждение.
  • Причина: "Загрузка ЦП на сервере постоянно превышает пороговое значение".
  • Рекомендуемое действие: "Переместите виртуальные машины на другой сервер с более низкой загрузкой ЦП или рассмотрите возможность добавления дополнительных вычислительных ресурсов".

Кластер (6)

FaultType: Microsoft.Health.FaultType.ClusterQuorumWitness.Error

  • Уровень серьезности: критический
  • Причина: "Кластер — это один сбой сервера, который не выключается".
  • RecommendedAction: "Проверьте ресурс-свидетель и при необходимости перезапустите его. Запуск или замена неработоспособности серверов".

FaultType: Microsoft.Health.FaultType.Cluster.ValidationReport.Failed

  • Уровень серьезности: критический
  • Причина: "Проверка кластера обнаружила проблемы".
  • RecommendedAction: "Проверка кластера обнаружила сбои в некоторых категориях тестов. См. отчет о проверке кластера".

FaultType: Microsoft.Health.FaultType.Cluster.ValidationReportDcb.Failed

  • Уровень серьезности: критический
  • Причина: "Validate-DCB обнаружил проблемы".
  • RecommendedAction: "Validate-DCB обнаружил сетевые ошибки. См. отчет о проверке DCB".

FaultType: Microsoft.Health.FaultType.Cluster.TooHighCpuReservation

  • Уровень серьезности: критический
  • Причина: "Совокупное резервирование ЦП виртуальных машин на этом сервере превышает заданное пороговое значение".
  • RecommendedAction: "Рассмотрите возможность перемещения виртуальных машин или сокращения резервирований ЦП".

FaultType: Microsoft.Health.FaultType.Cluster.TooHighMemoryUseAfterReclamation

  • Уровень серьезности: критический
  • Причина: "Совокупное назначение памяти виртуальных машин на этом сервере превышает заданное пороговое значение".
  • Рекомендуемое действие: "Рассмотрите возможность перемещения виртуальных машин или уменьшения объема назначенной им памяти".

FaultType: Microsoft.Health.FaultType.Cluster.SustainedHighCpuUsage

  • Уровень серьезности: критический
  • Причина: "Загрузка ЦП на сервере постоянно превышает пороговое значение".
  • Рекомендуемое действие: "Переместите виртуальные машины на другой сервер с более низкой загрузкой ЦП или рассмотрите возможность добавления дополнительных вычислительных ресурсов".

Сетевой адаптер/интерфейс (6)

FaultType: Microsoft.Health.FaultType.NetworkAdapter.Disconnected

  • Серьезность: предупреждение.
  • Причина: "Сетевой интерфейс отключен".
  • RecommendedAction: "Повторно подключите сетевой кабель".

FaultType: Microsoft.Health.FaultType.NetworkInterface.Missing

  • Серьезность: предупреждение.
  • Причина: "На сервере {server} отсутствуют сетевые адаптеры, подключенные к сети кластера {cluster network}".
  • RecommendedAction: "Подключение сервера к отсутствующим сетям кластера".

FaultType: Microsoft.Health.FaultType.NetworkAdapter.Hardware

  • Серьезность: предупреждение.
  • Причина: "В сетевом интерфейсе произошла ошибка оборудования".
  • RecommendedAction: "Замена сетевого адаптера".

FaultType: Microsoft.Health.FaultType.NetworkAdapter.Disabled

  • Серьезность: предупреждение.
  • Причина: "Сетевой интерфейс {сетевой интерфейс} не включен и не используется".
  • RecommendedAction: "Включить сетевой интерфейс".

FaultType: Microsoft.Health.FaultType.StorageSubsystem.RDMA.Alert

  • Серьезность: предупреждение.
  • Причина: "Кластер обнаружил проблемы с сетевым подключением, которые препятствуют правильной работе Локальные дисковые пространства".
  • RecommendedAction: "Убедитесь, что сеть правильно настроена и работает. Если вы используете RDMA over Converged Ethernet (RoCE), убедитесь, что на каждом узле кластера и физическом коммутаторе правильно настроены мосты центра обработки данных (DCB), расширенная служба передачи (ETS) и управление потоком приоритета (PFC). Если вы не знаете, как это сделать, попросите своего поставщика или кого-то, кому вы доверяете, помочь вам".

FaultType: Microsoft.Health.FaultType.StorageSubsystem.RDMA.Disabled

  • Серьезность: предупреждение.
  • Причина: "Кластер обнаружил проблемы с сетевым подключением, которые препятствуют правильной работе Локальные дисковые пространства. Чтобы обеспечить согласованную производительность и безопасность данных, Локальные дисковые пространства прекратили использовать удаленный прямой доступ к памяти (RDMA), даже если есть и включено оборудование с поддержкой RDMA. Трафик хранилища будет продолжать поступать, но с снижением производительности при использовании TCP/IP".
  • RecommendedAction: "Убедитесь, что сеть правильно настроена и работает, а затем включите RDMA. Если вы используете RDMA over Converged Ethernet (RoCE), убедитесь, что на каждом узле кластера и физическом коммутаторе правильно настроены мосты центра обработки данных (DCB), расширенная служба передачи (ETS) и управление потоком приоритета (PFC). Если вы не знаете, как это сделать, попросите своего поставщика или кого-то, кому вы доверяете, помочь вам. Чтобы продолжить работу с отключенным RDMA, вы можете закрыть это оповещение".

Корпус (6)

FaultType: Microsoft.Health.FaultType.StorageEnclosure.LostCommunication

  • Серьезность: предупреждение.
  • Причина: "Связь с корпусом хранилища потеряна".
  • RecommendedAction: "Запуск или замена корпуса хранилища".

FaultType: Microsoft.Health.FaultType.StorageEnclosure.FanError

  • Серьезность: предупреждение.
  • Причина: "Сбой вентилятора в позиции {position} корпуса хранилища".
  • RecommendedAction: "Замена вентилятора в корпусе хранилища".

FaultType: Microsoft.Health.FaultType.StorageEnclosure.CurrentSensorError

  • Серьезность: предупреждение.
  • Причина: "Сбой текущего датчика в позиции {position} корпуса хранилища".
  • RecommendedAction: "Замена текущего датчика в корпусе хранилища".

FaultType: Microsoft.Health.FaultType.StorageEnclosure.VoltageSensorError

  • Серьезность: предупреждение.
  • Причина: "Сбой датчика напряжения в позиции {position} корпуса хранилища".
  • RecommendedAction: "Замена датчика напряжения в корпусе хранилища".

FaultType: Microsoft.Health.FaultType.StorageEnclosure.IoControllerError

  • Серьезность: предупреждение.
  • Причина: "Сбой контроллера ввода-вывода в позиции {position} корпуса хранилища".
  • RecommendedAction: "Замена контроллера ввода-вывода в корпусе хранилища".

FaultType: Microsoft.Health.FaultType.StorageEnclosure.TemperatureSensorError

  • Серьезность: предупреждение.
  • Причина: "Сбой датчика температуры в позиции {position} корпуса хранилища".
  • RecommendedAction: "Замена датчика температуры в корпусе хранилища".

Развертывание встроенного ПО (3)

FaultType: Microsoft.Health.FaultType.FaultDomain.FailedMaintenanceMode

  • Серьезность: предупреждение.
  • Причина: "В настоящее время не удается добиться прогресса при выполнении развертывания встроенного ПО".
  • RecommendedAction: "Убедитесь, что все дисковые пространства работоспособны и что домен сбоя в настоящее время не находится в режиме обслуживания".

FaultType: Microsoft.Health.FaultType.FaultDomain.FirmwareVerifyVersionFailed

  • Серьезность: предупреждение.
  • Причина: "Развертывание встроенного ПО было отменено из-за нечитаемых или непредвиденных сведений о версии встроенного ПО после применения обновления встроенного ПО".
  • RecommendedAction: "Перезапустите развертывание встроенного ПО после устранения проблемы с встроенным ПО".

FaultType: Microsoft.Health.FaultType.FaultDomain.TooManyFailedUpdates

  • Серьезность: предупреждение.
  • Причина: "Развертывание встроенного ПО было отменено из-за слишком большого количества физических дисков, завершив попытку обновления встроенного ПО".
  • RecommendedAction: "Перезапустите развертывание встроенного ПО после устранения проблемы с встроенным ПО".

Качество обслуживания хранилища (3)2

FaultType: Microsoft.Health.FaultType.StorQos.InsufficientThroughput

  • Серьезность: предупреждение.
  • Причина: "Пропускная способность хранилища недостаточна для удовлетворения резервов".
  • RecommendedAction: "Перенастроить политики качества обслуживания хранилища".

FaultType: Microsoft.Health.FaultType.StorQos.LostCommunication

  • Серьезность: предупреждение.
  • Причина: "Диспетчер политик качества обслуживания хранилища потерял связь с томом".
  • Рекомендуемое действие: "Перезагрузите узлы {nodes}"

FaultType: Microsoft.Health.FaultType.StorQos.MisconfiguredFlow

  • Серьезность: предупреждение.
  • Причина: "Один или несколько потребителей хранилища (обычно Виртуальные машины) используют несуществующие политики с идентификатором {id}".
  • RecommendedAction: "Повторно создайте все отсутствующие политики качества обслуживания хранилища".

Виртуальная машина/VHD (7)

FaultType: Microsoft.Health.FaultType.Vm.BadHealthState

  • Серьезность: предупреждение.
  • Причина: "Состояние работоспособности виртуальной машины не в порядке".
  • RecommendedAction: "Устранение неполадок виртуальной машины".

FaultType: Microsoft.Health.FaultType.Vm.BadOperationalStatus

  • Серьезность: предупреждение.
  • Причина: "Состояние работоспособности виртуальной машины не в порядке".
  • RecommendedAction: "Устранение неполадок виртуальной машины".

FaultType: Microsoft.Health.FaultType.Vm.GuestUnhealthy

  • Серьезность: предупреждение.
  • Причина: "Гостевая операционная система на виртуальной машине сообщает о неработоспособном состоянии".
  • RecommendedAction: "Устранение неполадок виртуальной машины".

FaultType: Microsoft.Health.FaultType.Vm.ConfigIsOffline

  • Серьезность: предупреждение.
  • Причина: "Ресурс конфигурации виртуальной машины находится в автономном режиме, то есть виртуальная машина не может быть администрирована".
  • RecommendedAction: "Подключение конфигурации виртуальной машины к сети".

FaultType: Microsoft.Health.FaultType.Vm.NotRespondingToControlCodes

  • Серьезность: предупреждение.
  • Причина: "Виртуальная машина не отвечает на коды управления кластером".
  • RecommendedAction: "Проверка состояния ресурса кластера виртуальной машины".

FaultType: Microsoft.Health.FaultType.Vm.IsNearMemoryLimit

  • Серьезность: предупреждение.
  • Причина: "Виртуальной машине требуется больше настроенной максимальной памяти".
  • RecommendedAction: "Проверьте, нет ли процессов или приложений, потребляющих слишком много памяти, или рассмотрите возможность увеличения максимального объема памяти".

FaultType: Microsoft.Health.FaultType.Vhd.IsNearlyFull

  • Серьезность: предупреждение.
  • Причина: "Виртуальный жесткий диск достиг своей емкости. Больше данные не могут быть записаны в нее, что может негативно повлиять на виртуальные машины".
  • RecommendedAction: "Изменение размера виртуального жесткого диска или удаление нежелательных файлов".

1 Указывает, что том достиг 80 % полного (незначительный уровень серьезности) или 90 % полного (основной уровень серьезности). 2 Указывает, что некоторые VHD-файлы тома не выполнили минимальное число операций ввода-вывода в секунду для более чем 10 % (незначительный), 30 % (основной) или 50 % (критический) скользящего 24-часового окна.

Примечание

Работоспособность компонентов корпуса хранилища, таких как вентиляторы, источники питания и датчики, определяется службами корпуса SCSI (SES). Если поставщик не предоставляет эту информацию, служба работоспособности ее не отображает.

Дополнительная справка