Compartilhar via


Exibir Falhas do Serviço de Integridade

Aplica-se a: Azure Local, versões 23H2 e 22H2; Windows Server 2022, Windows Server 2019

O Serviço de Integridade monitora constantemente o cluster de Espaços de Armazenamento Diretos para detectar problemas e gerar "falhas". Um cmdlet exibe todas as falhas atuais, permitindo que você verifique facilmente a integridade da sua implantação sem examinar cada entidade ou recurso. As falhas são projetadas para serem precisas, fáceis de entender e acionáveis.

Cada falha contém cinco campos importantes:

  • Severidade
  • Descrição do problema
  • Próximas etapas recomendadas para resolver o problema
  • Informações de identificação para a entidade com falha
  • Sua localização física (se aplicável)

Por exemplo, aqui está uma falha típica:

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

Observação

A localização física é derivada da configuração do domínio de falha. Para obter mais informações sobre domínios de falha, consulte Reconhecimento de domínio de falha. Se você não fornecer essas informações, o campo de localização será menos útil. Por exemplo, ele pode mostrar apenas o número do slot.

Análise da causa raiz

O Serviço de Saúde pode avaliar a causalidade potencial entre as entidades com falhas para identificar e combinar falhas que são consequências do mesmo problema subjacente. Reconhecendo cadeias de efeito, isso gera relatórios menos longos. Por exemplo, se um servidor estiver inativo, espera-se que todas as unidades dentro do servidor também estejam sem conectividade. Portanto, apenas uma falha será gerada para a causa-raiz (nesse caso, o servidor).

Uso no PowerShell

Para ver as falhas atuais no PowerShell, execute o seguinte cmdlet:

Get-HealthFault

Isso retorna todas as falhas que afetam o cluster geral de Espaços de Armazenamento Diretos. Em geral, essas falhas estão relacionadas a hardware ou configuração. Se não houver falhas, o cmdlet não retornará nada.

Observação

Em um ambiente de não produção e por sua conta e risco, você pode experimentar esse recurso disparando falhas por conta própria. Por exemplo, você pode fazer isso removendo um disco físico ou desligando um nó. Depois que a falha aparecer, reinsira o disco físico ou reinicie o nó para fazer com que a falha desapareça.

Uso em .NET e C#

Esta seção mostra como se conectar ao Serviço de Integridade, usar objetos de descoberta e executar consultas de falha.

Conectar

Para consultar o Serviço de Integridade, você estabelece uma CimSession com o cluster. Para fazer isso, você precisará de algumas coisas que estão disponíveis apenas no Microsoft .NET completo, o que significa que você não pode fazer isso prontamente diretamente de um aplicativo Web ou móvel. Os exemplos de código nesta seção usam C#, a opção mais simples para essa camada de acesso a dados.

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;
}

O nome de usuário fornecido deve ser um administrador local do computador de destino.

Recomendamos construir a Senha SecureString diretamente da entrada do usuário em tempo real, para que a senha nunca seja armazenada na memória em texto não criptografado. Isso ajudará a mitigar uma variedade de problemas de segurança. Mas, na prática, construí-la conforme indicado acima é comum para fins de prototipagem.

Descobrir objetos

Com a CimSession estabelecida, você poderá consultar a WMI (Instrumentação de Gerenciamento do Windows) no cluster.

Antes de obter Falhas ou Métricas, você precisa obter instâncias de vários objetos relevantes. Primeiro, obtenha o MSFT_StorageSubSystem que representa Espaços de Armazenamento Diretos no cluster. Usando isso, você pode obter todos os MSFT_StorageNode no cluster e todos os MSFT_Volume dos volumes de dados. Finalmente, você precisa obter o MSCluster_ClusterHealthService, o próprio Serviço de Saúde.

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();
}

Esses são os mesmos objetos que você obtém no PowerShell usando os cmdlets como Get-StorageSubSystem, Get-StorageNode e Get-Volume.

Você poderá acessar todas as mesmas propriedades, documentadas em Classes de API para Gerenciamento de Armazenamento.

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());
}

Falhas de consulta

Invoque Diagnose para obter todas as falhas atuais com escopo para o CimInstance de destino, que pode ser o cluster ou qualquer volume.

A lista completa de falhas disponíveis em cada escopo no Windows Server 2019 está documentada posteriormente na seção Cobertura .

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!
        }
    }
}

Opcional: classe MyFault

Pode fazer sentido construir e persistir sua própria representação de falhas. Por exemplo, a classe MyFault armazena várias propriedades importantes de falhas, incluindo o FaultId, que pode ser usado posteriormente para associar atualizações, remover notificações ou desduplicar no caso de a mesma falha ser detectada várias vezes.

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));
}

A lista completa de propriedades em cada falha (DiagnoseResult) é documentada posteriormente na seção Propriedades da falha.

Eventos de falha

Quando as falhas são criadas, removidas ou atualizadas, o Serviço de Integridade gera eventos WMI. Eles são essenciais para manter o estado do aplicativo em sincronia sem sondagem frequente e podem ajudar em situações como determinar quando enviar alertas por email, por exemplo. Para assinar esses eventos, o código de exemplo a seguir usa o Padrão de Design do Observador.

Primeiro, assine eventos 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);
}

Em seguida, implemente um Observer cujo método OnNext() é invocado sempre que um novo evento é gerado.

Cada evento contém ChangeType que indica se uma falha é criada, removida ou atualizada, e o FaultId relevante.

Além disso, cada evento contém todas as propriedades da própria falha.

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
    }
}

Entendendo o ciclo de vida da falha

As falhas não devem ser marcadas como "vistas" ou resolvidas pelo usuário. Eles são criados quando o Serviço de Integridade observa um problema e são removidos automaticamente somente depois que o Serviço de Integridade não pode mais observar o problema. Em geral, isso indica que o problema foi corrigido.

No entanto, em alguns casos, as falhas podem ser redescobertas pelo Serviço de Integridade, como após um failover, conectividade intermitente e assim por diante. Por esse motivo, pode fazer sentido persistir sua própria representação de falhas, para que você possa desduplicar facilmente. Isso é especialmente importante se você enviar alertas por e-mail ou equivalente.

Propriedades de falha

A tabela a seguir apresenta várias propriedades principais do objeto fault. Para obter o esquema completo, inspecione a classe MSFT_StorageDiagnoseResult em storagewmi.mof.

Propriedade Exemplo
FaultId {12345-12345-12345-12345-12345}
FaultType Microsoft.Health.FaultType.Volume.Capacity
Motivo "O volume está ficando sem espaço disponível."
PerceivedSeverity 5
FaultingObjectDescription Contoso XYZ9000 S.N. 123456789
FaultingObjectLocation Rack A06, RU 25, Slot 11
RecommendedActions {"Expand the volume.", "Migrate workloads to other volumes."}

FaultId: ID exclusiva dentro do escopo de um cluster.

PerceivedSeverity: PerceivedSeverity = { 4, 5, 6 } = { "Informativo", "Aviso" e "Erro" }, ou cores equivalentes, como azul, amarelo e vermelho.

FaultingObjectDescription: informações de parte para hardware, normalmente em branco para objetos de software.

FaultingObjectLocation: informações de localização para hardware, normalmente em branco para objetos de software.

RecommendedActions: lista de ações recomendadas que são independentes e sem ordem específica. Hoje, essa lista geralmente tem 1.

Propriedades de evento de falha

A tabela a seguir apresenta várias propriedades principais do evento de falha. Para obter o esquema completo, inspecione a classe MSFT_StorageFaultEvent em storagewmi.mof.

Observe o ChangeType que indica se uma falha está sendo criada, removida ou atualizada e o FaultId. Um evento também contém todas as propriedades da falha afetada.

Propriedade Exemplo
ChangeType 0
FaultId {12345-12345-12345-12345-12345}
FaultType Microsoft.Health.FaultType.Volume.Capacity
Motivo "O volume está ficando sem espaço disponível."
PerceivedSeverity 5
FaultingObjectDescription Contoso XYZ9000 S.N. 123456789
FaultingObjectLocation Rack A06, RU 25, Slot 11
RecommendedActions {"Expand the volume.", "Migrate workloads to other volumes."}

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

Cobertura

No Windows Server 2019 e no Azure Local, o Serviço de Integridade fornece a seguinte cobertura de falhas:

Disco Físico (31)

FaultType: Microsoft.Health.FaultType.PhysicalDisk.FailedMedia

  • Gravidade: Aviso
  • Motivo: "O disco físico falhou."
  • RecommendedAction: "Substitua o disco físico."

FaultType: Microsoft.Health.FaultType.PhysicalDisk.LostCommunication

  • Gravidade: Aviso
  • Motivo: "A conectividade foi perdida para o disco físico."
  • RecommendedAction: "Verifique se o disco físico está funcionando e se está conectado corretamente."

FaultType: Microsoft.Health.FaultType.PhysicalDisk.Unresponsive

  • Gravidade: Aviso
  • Motivo: "O disco físico não responde de forma recorrente."
  • RecommendedAction: "Substitua o disco físico."

FaultType: Microsoft.Health.FaultType.PhysicalDisk.PredictiveFailure

  • Gravidade: Aviso
  • Motivo: "Uma falha do disco físico deve ocorrer em breve."
  • RecommendedAction: "Substitua o disco físico."

FaultType: Microsoft.Health.FaultType.PhysicalDisk.UnsupportedHardware

  • Gravidade: Aviso
  • Motivo: "O disco físico está em quarentena porque não tem suporte do fornecedor da solução."
  • RecommendedAction: "Substitua o disco físico por hardware com suporte."

FaultType: Microsoft.Health.FaultType.PhysicalDisk.UnsupportedFirmware

  • Gravidade: Aviso
  • Motivo: "O disco físico está em quarentena porque sua versão de firmware não tem suporte do fornecedor da solução."
  • RecommendedAction: "Atualize o firmware no disco físico para a versão de destino."

FaultType: Microsoft.Health.FaultType.PhysicalDisk.UnrecognizedMetadata

  • Gravidade: Aviso
  • Motivo: "O disco físico tem metadados não reconhecidos."
  • RecommendedAction: "Esse disco pode conter dados de um pool de armazenamento desconhecido. Primeiro, verifique se não há dados úteis nesse disco e, em seguida, redefina o disco."

FaultType: Microsoft.Health.FaultType.PhysicalDisk.FailedFirmwareUpdate

  • Gravidade: Aviso
  • Motivo: "Falha ao tentar atualizar o firmware no disco físico."
  • RecommendedAction: "Tente usar um binário de firmware diferente."

FaultType: Microsoft.Health.FaultType.PhysicalDisk.SblFailedMedia

  • Gravidade: Aviso
  • Motivo: "A unidade falhou."
  • RecommendedAction: "Substitua a unidade."

FaultType: Microsoft.Health.FaultType.PhysicalDisk.SblUnresponsive

  • Gravidade: Aviso
  • Motivo: "O disco físico não responde de forma recorrente."
  • RecommendedAction: "Substitua o disco físico."

FaultType: Microsoft.Health.FaultType.PhysicalDisk.FailureBadBlock

  • Gravidade: Aviso
  • Motivo: "A unidade relatou blocos defeituosos durante as gravações. Um bloqueio defeituoso ocasional é normal, mas muitos podem significar que a unidade está com defeito, danificada ou começando a falhar."
  • RecommendedAction: "Se isso continuar acontecendo ou você observar um desempenho reduzido, considere substituir a unidade."

FaultType: Microsoft.Health.FaultType.PhysicalDisk.FailureBadBlockRead

  • Gravidade: Aviso
  • Motivo: "A unidade relatou bloqueios defeituosos durante as leituras. Um bloqueio defeituoso ocasional é normal, mas muitos podem significar que a unidade está com defeito, danificada ou começando a falhar."
  • RecommendedAction: "Se isso continuar acontecendo ou você observar um desempenho reduzido, considere substituir a unidade."

FaultType: Microsoft.Health.FaultType.PhysicalDisk.FailureIoRetry

  • Gravidade: Aviso
  • Motivo: "A unidade precisava de várias tentativas para ler ou gravar. Se isso continuar acontecendo, pode significar que a unidade está com defeito, danificada ou começando a falhar."
  • RecommendedAction: "Se isso continuar acontecendo ou você observar um desempenho reduzido, considere substituir a unidade."

Observação

Esta falha está desabilitada por padrão. Para habilitá-lo, defina a configuração de integridade System.Storage.PhysicalDisk.MarginalFailure.EventBased.IoRetry.Enabled como true

FaultType: Microsoft.Health.FaultType.PhysicalDisk.FailureIoFailure

  • Gravidade: Aviso
  • Motivo: "A unidade falhou ao ler ou gravar. Se isso continuar acontecendo, pode significar que a unidade está com defeito, danificada ou começando a falhar."
  • RecommendedAction: "Se isso continuar acontecendo ou você observar um desempenho reduzido, considere substituir a unidade."

Observação

Esta falha está desabilitada por padrão. Para habilitá-lo, defina a configuração de integridade System.Storage.PhysicalDisk.MarginalFailure.EventBased.IoFailure.Enabled como true

FaultType: Microsoft.Health.FaultType.PhysicalDisk.FailureSmart

  • Gravidade: Aviso
  • Motivo: "A unidade relatou os seguintes problemas potenciais ao Windows usando SMART (Self-Monitoring, Analysis and Reporting Technology)"
  • RecommendedAction: "Se isso continuar acontecendo ou você observar um desempenho reduzido, considere substituir a unidade."

FaultType: Microsoft.Health.FaultType.PhysicalDisk.FailureHighWear

  • Gravidade: Aviso
  • Motivo: "A unidade atingiu uma alta porcentagem de sua resistência nominal de gravação. A unidade pode se tornar somente leitura, o que significa que não pode executar mais gravações, quando atinge 100% de sua resistência nominal. Verifique a folha de dados ou peça ao fabricante mais detalhes sobre a classificação de resistência e o comportamento no fim da vida útil."
  • RecommendedAction: "Se isso continuar acontecendo ou você observar um desempenho reduzido, considere substituir a unidade."

FaultType: Microsoft.Health.FaultType.PhysicalDisk.FailureReadOnly

  • Gravidade: Aviso
  • Motivo: "A unidade atingiu 100% de sua resistência nominal de gravação e agora é somente leitura, o que significa que não pode executar mais gravações. As unidades de estado sólido se desgastam após um determinado número de gravações, o que varia dependendo da classificação de resistência da unidade. Para obter detalhes, verifique as especificações da unidade ou pergunte ao fabricante sobre a classificação de resistência e o comportamento no fim da vida útil."
  • RecommendedAction: "Se isso continuar acontecendo ou você observar um desempenho reduzido, considere substituir a unidade."

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

  • Gravidade: Aviso
  • Motivo: "A unidade tem alta latência de pico."
  • RecommendedAction: "Monitore o desempenho da unidade e considere substituí-la."

Observação

Esta falha está desabilitada por padrão. Para habilitá-lo, defina a configuração de integridade System.Storage.PhysicalDisk.HighLatency.Threshold.Tail.Enabled como true

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

  • Gravidade: Aviso
  • Motivo: "A unidade tem alta latência média."
  • RecommendedAction: "Monitore o desempenho da unidade e considere substituí-la."

Observação

Esta falha está desabilitada por padrão. Para habilitá-lo, defina a configuração de integridade System.Storage.PhysicalDisk.HighLatency.Threshold.Tail.Enabled como true

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

  • Gravidade: Aviso
  • Motivo: "A unidade tem alta latência média."
  • RecommendedAction: "Monitore o desempenho da unidade e considere substituí-la."

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

  • Gravidade: Aviso
  • Motivo: "A unidade tem alta latência de pico."
  • RecommendedAction: "Monitore o desempenho da unidade e considere substituí-la."

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

  • Gravidade: Aviso
  • Motivo: "A unidade tem um grande número de erros."
  • RecommendedAction: "Monitore o desempenho da unidade e considere substituí-la."

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

  • Gravidade: Aviso
  • Motivo: "A unidade tem um grande número de erros."
  • RecommendedAction: "Monitore o desempenho da unidade e considere substituí-la."

FaultType: Microsoft.Health.FaultType.PhysicalDisk.CacheReadOnly

  • Gravidade: Aviso
  • Motivo: "A unidade de cache falhou em algumas leituras ou gravações, portanto, para proteger seus dados, nós a movemos para unidades de capacidade."
  • RecommendedAction: "Substitua a unidade ou tente limpá-la e redefini-la."

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

  • Gravidade: Aviso
  • Motivo: "A unidade de cache falhou em algumas leituras ou gravações. Para proteger seus dados, paramos de gravar na unidade de cache e estamos tentando mover seus dados para unidades de capacidade."
  • RecommendedAction: "Espere enquanto movemos os dados."

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

  • Gravidade: Aviso
  • Motivo: "Alguns dados na unidade de cache não podem ser lidos, impedindo-nos de movê-los para unidades de capacidade."
  • RecommendedAction: "Substitua a unidade."

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

  • Gravidade: Aviso
  • Motivo: "Falha na tentativa de girar a chave de criptografia SED para o novo padrão."
  • Ação recomendada: "Verifique se a unidade está funcionando e conectada corretamente. Se a unidade falhou, substitua-a. Reinicie a rotação da chave de criptografia SED assim que a unidade estiver íntegra."

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

  • Gravidade: Aviso
  • Motivo: "O disco físico tem uma chave de criptografia SED, mas não corresponde à chave padrão atual."
  • RecommendedAction: "Iniciar a rotação da chave de criptografia SED".

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

  • Gravidade: Aviso
  • Motivo: "Não há nenhuma chave de criptografia SED padrão definida para a unidade."
  • RecommendedAction: "Definir uma chave de criptografia SED padrão".

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

  • Gravidade: Aviso
  • Motivo: "Falha ao concluir a rotação da chave de criptografia SED no servidor antes do tempo limite"
  • RecommendedAction: "Verifique se o servidor está acessível e se todos os discos físicos estão íntegros."

FaultType: Microsoft.Health.FaultType.PhysicalDisk.DriveArriveFailure

  • Gravidade: Aviso
  • Motivo: "O disco físico está falhando nas consultas. "
  • RecommendedAction: "Valide a confiabilidade da rede. Se o problema persistir, considere substituir o dispositivo."

Disco virtual (3)

FaultType: Microsoft.Health.FaultType.VirtualDisks.NeedsRepair

  • Severidade: Informational
  • Motivo: "Alguns dados nesse volume não são totalmente resilientes. Ele permanece acessível."
  • RecommendedAction: "Como restaurar a resiliência dos dados."

FaultType: Microsoft.Health.FaultType.VirtualDisks.Detached

  • Gravidade: crítica
  • Motivo: "O volume está inacessível. Alguns dados podem ser perdidos."
  • RecommendedAction: "Verifique a conectividade física e/ou de rede de todos os dispositivos de armazenamento. Talvez seja necessário restaurar do backup."

FaultType: Microsoft.Health.FaultType.VirtualDisks.NoRedundancy

  • Gravidade: crítica
  • Motivo: "Todas as cópias de dados não estão disponíveis para uma região do disco virtual. A carga de trabalho pode ser interrompida e falhas de E/S podem ser observadas."
  • Ação recomendada: "Se uma operação de manutenção estiver em andamento, suspenda-a e restaure o acesso a todo o armazenamento até que o armazenamento se estabilize."

Capacidade da piscina (2)

FaultType: Microsoft.Health.FaultType.StoragePool.TransactionAndCleanupFailure

  • Gravidade: Aviso
  • Motivo: "O pool de armazenamento não pode gravar em um quorum de dispositivos de metadados. A carga de trabalho pode ser interrompida e falhas de E/S podem ser observadas."
  • Ação recomendada: "Se uma operação de manutenção estiver em andamento, suspenda-a e restaure o acesso a todo o armazenamento até que o armazenamento se estabilize."

FaultType: Microsoft.Health.FaultType.StoragePool.PoolCapacityThresholdExceeded

  • Gravidade: Aviso
  • Motivo: "O pool de armazenamento está ficando sem capacidade".
  • RecommendedAction: "Adicionar capacidade adicional ao pool de armazenamento ou liberar capacidade."

Capacidade de volume (5)1

FaultType: Microsoft.Health.FaultType.Volume.Capacity

  • Gravidade: Aviso
  • Motivo: "O volume está ficando sem espaço disponível."
  • RecommendedAction: "Expanda o volume ou migre as cargas de trabalho para outros volumes."

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

  • Gravidade: Aviso
  • Motivo: "O sistema de arquivos detectou um erro de soma de verificação e conseguiu corrigi-lo."
  • RecommendedAction: "Inicie a verificação de integridade de dados do agendador de tarefas, o armazenamento pode estar com defeito. Se houver uma operação de atualização ou manutenção em andamento, interrompa-a imediatamente. Talvez seja necessário restaurar a partir do backup."

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

  • Gravidade: Aviso
  • Motivo: "O sistema de arquivos detectou um erro de soma de verificação e não conseguiu corrigi-lo."
  • RecommendedAction: "Inicie a verificação de integridade de dados do agendador de tarefas, o armazenamento pode estar com defeito. Se houver uma operação de atualização ou manutenção em andamento, interrompa-a imediatamente. Talvez seja necessário restaurar a partir do backup."

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

  • Gravidade: Aviso
  • Motivo: "O sistema de arquivos detectou uma corrupção em um arquivo ou pasta. O arquivo ou pasta foi removido do namespace do sistema de arquivos."
  • RecommendedAction: "Inicie a verificação de integridade de dados do agendador de tarefas, o armazenamento pode estar com defeito. Se houver uma operação de atualização ou manutenção em andamento, interrompa-a imediatamente. Talvez seja necessário restaurar a partir do backup."

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

  • Gravidade: Aviso
  • Motivo: "O sistema de arquivos detectou uma corrupção em um arquivo ou pasta. O sistema de arquivos pode ter falhado ao removê-lo do namespace do sistema de arquivos."
  • RecommendedAction: "Inicie a verificação de integridade de dados do agendador de tarefas, o armazenamento pode estar com defeito. Se houver uma operação de atualização ou manutenção em andamento, interrompa-a imediatamente. Talvez seja necessário restaurar a partir do backup."

Servidor (12)

FaultType: Microsoft.Health.FaultType.Server.Down

  • Gravidade: crítica
  • Motivo: "Não é possível acessar o servidor."
  • RecommendedAction: "Inicie ou substitua o servidor."

FaultType: Microsoft.Health.FaultType.Server.Isolated

  • Gravidade: crítica
  • Motivo: "O servidor está isolado do cluster devido a problemas de conectividade."
  • RecommendedAction: "Se o isolamento persistir, verifique as redes ou migre as cargas de trabalho para outros nós."

FaultType: Microsoft.Health.FaultType.Server.Quarantined

  • Gravidade: crítica
  • Motivo: "O servidor está em quarentena pelo cluster devido a falhas recorrentes."
  • RecommendedAction: "Substitua o servidor ou corrija a rede."

FaultType: Microsoft.Health.FaultType.Server.Temperature

  • Gravidade: Aviso
  • Motivo: "O sensor de temperatura do servidor gerou um aviso."
  • RecommendedAction: "Verifique a temperatura do servidor."

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

  • Gravidade: Aviso
  • Motivo: "O servidor tem armazenamento que não está completo ou atualizado, portanto, precisamos sincronizá-lo com dados de outros servidores no cluster. Isso é normal depois que um servidor é reiniciado ou uma unidade falha."
  • RecommendedAction: "Espere enquanto sincronizamos o armazenamento. Não remova nenhuma unidade ou reinicie nenhum servidor no cluster até confirmarmos que a sincronização foi concluída."

FaultType: Microsoft.Health.FaultType.Node.CPUOverloaded

  • Gravidade: Aviso
  • Motivo: "A utilização da CPU do servidor está consistentemente acima do limite."
  • RecommendedAction: "Mova máquinas virtuais para outros servidores com menor uso da CPU ou considere adicionar capacidade de computação adicional ao cluster (geralmente adicionando servidores)."

FaultType: Microsoft.Health.FaultType.Node.VCPUToLCPU

  • Gravidade: Aviso
  • Motivo: "A proporção de processadores virtuais para processadores lógicos (threads) neste servidor excedeu o limite configurado."
  • RecommendedAction: "Mova as máquinas virtuais para outro servidor com menor uso da CPU ou considere adicionar capacidade computacional adicional ao cluster."

FaultType: Microsoft.Health.FaultType.Node.LowFreeRam

  • Gravidade: Aviso
  • Motivo: "A memória disponível está abaixo do limite configurado".
  • RecommendedAction: "Mova as máquinas virtuais para outro servidor com menor uso da CPU ou considere adicionar capacidade computacional adicional ao cluster."

FaultType: Microsoft.Health.FaultType.Node.HighRootPartitionMemoryUsage

  • Gravidade: Aviso
  • Motivo: "O Windows Server está consumindo muita memória física, o que excede o limite configurado".
  • RecommendedAction: "Verifique se há processos ou aplicativos que consomem muita memória, mova máquinas virtuais para outros servidores ou adicione memória aos servidores."

FaultType: Microsoft.Health.FaultType.Node.TooHighCpuReservation

  • Gravidade: Aviso
  • Motivo: "A reserva combinada de CPU de máquinas virtuais neste servidor excede o limite configurado".
  • RecommendedAction: "Considere mover máquinas virtuais ou reduzir suas reservas de CPU."

FaultType: Microsoft.Health.FaultType.Node.TooHighMemoryUseAfterReclamation

  • Gravidade: Aviso
  • Motivo: "A atribuição de memória combinada de máquinas virtuais neste servidor excede o limite configurado".
  • RecommendedAction: "Considere mover máquinas virtuais ou reduzir sua memória atribuída."

FaultType: Microsoft.Health.FaultType.Node.SustainedHighCpuUsage

  • Gravidade: Aviso
  • Motivo: "O servidor tem o uso da CPU excedendo consistentemente o limite."
  • RecommendedAction: "Mova máquinas virtuais para outro servidor com menor uso da CPU ou considere adicionar mais capacidade de computação."

Cluster (6)

FaultType: Microsoft.Health.FaultType.ClusterQuorumWitness.Error

  • Gravidade: crítica
  • Motivo: "Basta um falha do servidor para que o cluster fique inoperante."
  • RecommendedAction: "Verifique o recurso testemunha e reinicie conforme necessário. Inicie ou substitua os servidores com falha."

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

  • Gravidade: crítica
  • Motivo: "A validação de cluster encontrou problemas".
  • RecommendedAction: "A validação de cluster encontrou falhas em algumas categorias de testes. Consulte o relatório de validação do cluster."

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

  • Gravidade: crítica
  • Motivo: "O Validate-DCB encontrou problemas."
  • RecommendedAction: "O Validate-DCB encontrou erros de rede. Consulte o relatório de validação do DCB.

FaultType: Microsoft.Health.FaultType.Cluster.TooHighCpuReservation

  • Gravidade: crítica
  • Motivo: "A reserva combinada de CPU de máquinas virtuais neste servidor excede o limite configurado".
  • RecommendedAction: "Considere mover máquinas virtuais ou reduzir suas reservas de CPU."

FaultType: Microsoft.Health.FaultType.Cluster.TooHighMemoryUseAfterReclamation

  • Gravidade: crítica
  • Motivo: "A atribuição de memória combinada de máquinas virtuais neste servidor excede o limite configurado".
  • RecommendedAction: "Considere mover máquinas virtuais ou reduzir sua memória atribuída."

FaultType: Microsoft.Health.FaultType.Cluster.SustainedHighCpuUsage

  • Gravidade: crítica
  • Motivo: "O servidor tem o uso da CPU excedendo consistentemente o limite."
  • RecommendedAction: "Mova máquinas virtuais para outro servidor com menor uso da CPU ou considere adicionar mais capacidade de computação."

Adaptador/Interface de Rede (6)

FaultType: Microsoft.Health.FaultType.NetworkAdapter.Disconnected

  • Gravidade: Aviso
  • Motivo: "O adaptador de rede foi desconectado."
  • RecommendedAction: "Reconecte o cabo de rede."

FaultType: Microsoft.Health.FaultType.NetworkInterface.Missing

  • Gravidade: Aviso
  • Motivo: "O servidor {server} não tem adaptadores de rede ausentes conectados à rede de cluster {rede de cluster}."
  • RecommendedAction: "Conecte o servidor à rede de cluster ausente."

FaultType: Microsoft.Health.FaultType.NetworkAdapter.Hardware

  • Gravidade: Aviso
  • Motivo: "O adaptador de rede teve uma falha de hardware."
  • RecommendedAction: "Substitua o adaptador de adaptador de rede."

FaultType: Microsoft.Health.FaultType.NetworkAdapter.Disabled

  • Gravidade: Aviso
  • Motivo: "O adaptador de rede {network interface} não está habilitado e não está sendo usado."
  • RecommendedAction: "Habilite o adaptador de rede."

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

  • Gravidade: Aviso
  • Motivo: "O cluster detectou problemas de conectividade de rede que impedem que Espaços de Armazenamento Diretos funcionem corretamente".
  • RecommendedAction: "Verifique se sua rede está configurada e funcionando corretamente. Se você estiver usando RDMA Over Converged Ethernet (RoCE), verifique se o Data Center Bridging (DCB), o Enhanced Transmission Service (ETS) e o Priority Flow Control (PFC) estão configurados de forma correta e consistente em cada nó de cluster e switch físico. Se você não sabe como fazer isso, peça ao seu fornecedor ou a alguém em quem você confia para ajudá-lo."

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

  • Gravidade: Aviso
  • Motivo: "O cluster detectou problemas de conectividade de rede que impedem que Espaços de Armazenamento Diretos funcionem corretamente. Para garantir um desempenho consistente e a segurança dos dados, os Espaços de Armazenamento Diretos pararam de usar o RDMA (acesso remoto direto à memória), mesmo que o hardware compatível com RDMA esteja presente e habilitado. O tráfego de armazenamento continuará a fluir, mas com desempenho reduzido usando TCP/IP."
  • RecommendedAction: "Verifique se a rede está configurada e funcionando corretamente e ative o RDMA novamente. Se você estiver usando RDMA Over Converged Ethernet (RoCE), verifique se o Data Center Bridging (DCB), o Enhanced Transmission Service (ETS) e o Priority Flow Control (PFC) estão configurados de forma correta e consistente em cada nó de cluster e switch físico. Se você não sabe como fazer isso, peça ao seu fornecedor ou a alguém em quem você confia para ajudá-lo. Para continuar com o RDMA desativado, você pode descartar este alerta."

Compartimento (6)

FaultType: Microsoft.Health.FaultType.StorageEnclosure.LostCommunication

  • Gravidade: Aviso
  • Motivo: "A comunicação foi perdida para o compartimento de armazenamento."
  • RecommendedAction: "Inicie ou substitua o compartimento de armazenamento."

FaultType: Microsoft.Health.FaultType.StorageEnclosure.FanError

  • Gravidade: Aviso
  • Motivo: "A ventoinha na posição {position} do compartimento de armazenamento falhou."
  • RecommendedAction: "Substitua a ventoinha no compartimento de armazenamento."

FaultType: Microsoft.Health.FaultType.StorageEnclosure.CurrentSensorError

  • Gravidade: Aviso
  • Motivo: "O sensor de corrente na posição {position} do compartimento de armazenamento falhou."
  • RecommendedAction: "Substitua um sensor de corrente no compartimento de armazenamento."

FaultType: Microsoft.Health.FaultType.StorageEnclosure.VoltageSensorError

  • Gravidade: Aviso
  • Motivo: "O sensor de tensão na posição {position} do compartimento de armazenamento falhou."
  • RecommendedAction: "Substitua um sensor de tensão no compartimento de armazenamento."

FaultType: Microsoft.Health.FaultType.StorageEnclosure.IoControllerError

  • Gravidade: Aviso
  • Motivo: "O controlador na posição {position} do compartimento de armazenamento falhou."
  • RecommendedAction: "Substitua um controlador de E/S no compartimento de armazenamento."

FaultType: Microsoft.Health.FaultType.StorageEnclosure.TemperatureSensorError

  • Gravidade: Aviso
  • Motivo: "O sensor de temperatura na posição {position} do compartimento de armazenamento falhou."
  • RecommendedAction: "Substitua um sensor de temperatura no compartimento de armazenamento."

Distribuição de firmware (3)

FaultType: Microsoft.Health.FaultType.FaultDomain.FailedMaintenanceMode

  • Gravidade: Aviso
  • Motivo: "Atualmente, não é possível fazer progresso ao executar a distribuição de firmware."
  • RecommendedAction: "Verifique se todos os espaços de armazenamento estão íntegros e se não há domínio de falha no modo de manutenção no momento."

FaultType: Microsoft.Health.FaultType.FaultDomain.FirmwareVerifyVersionFailed

  • Gravidade: Aviso
  • Motivo: "A distribuição de firmware foi cancelada devido a informações de versão de firmware ilegíveis ou inesperadas, depois de aplicar uma atualização de firmware."
  • RecommendedAction: "Reinicie a implantação do firmware depois que o problema do firmware for resolvido."

FaultType: Microsoft.Health.FaultType.FaultDomain.TooManyFailedUpdates

  • Gravidade: Aviso
  • Motivo: "A distribuição de firmware foi cancelada porque muitos discos físicos estão falhando em uma tentativa de atualização de firmware."
  • RecommendedAction: "Reinicie a implantação do firmware depois que o problema do firmware for resolvido."

QoS de armazenamento (3)2

FaultType: Microsoft.Health.FaultType.StorQos.InsufficientThroughput

  • Gravidade: Aviso
  • Motivo: "A taxa de transferência de armazenamento é insuficiente para atender às reservas."
  • RecommendedAction: "Reconfigure as políticas de QoS de armazenamento."

FaultType: Microsoft.Health.FaultType.StorQos.LostCommunication

  • Gravidade: Aviso
  • Motivo: "O gerenciador de políticas de QoS de armazenamento perdeu a comunicação com o volume."
  • RecommendedAction: "Reinicialize os nós {nodes}"

FaultType: Microsoft.Health.FaultType.StorQos.MisconfiguredFlow

  • Gravidade: Aviso
  • Motivo: "Um ou mais consumidores de armazenamento (geralmente Máquinas Virtuais) estão usando uma política inexistente com a ID {id}."
  • RecommendedAction: "Recrie as políticas de QoS de armazenamento ausentes."

VM/VHD (7)

FaultType: Microsoft.Health.FaultType.Vm.BadHealthState

  • Gravidade: Aviso
  • Motivo: "O estado de integridade da máquina virtual não está OK."
  • RecommendedAction: "Solucionar problemas da máquina virtual".

FaultType: Microsoft.Health.FaultType.Vm.BadOperationalStatus

  • Gravidade: Aviso
  • Motivo: "O status operacional da máquina virtual não está OK".
  • RecommendedAction: "Solucionar problemas da máquina virtual".

FaultType: Microsoft.Health.FaultType.Vm.GuestUnhealthy

  • Gravidade: Aviso
  • Motivo: "O sistema operacional convidado na máquina virtual está relatando um estado não íntegro".
  • RecommendedAction: "Solucionar problemas da máquina virtual."

FaultType: Microsoft.Health.FaultType.Vm.ConfigIsOffline

  • Gravidade: Aviso
  • Motivo: "O recurso de configuração da máquina virtual está offline, o que significa que a máquina virtual não pode ser administrada".
  • RecommendedAction: "Coloque a configuração da máquina virtual online".

FaultType: Microsoft.Health.FaultType.Vm.NotRespondingToControlCodes

  • Gravidade: Aviso
  • Motivo: "A máquina virtual não está respondendo aos códigos de controle de cluster".
  • RecommendedAction: "Verificar o estado do recurso de cluster de máquina virtual".

FaultType: Microsoft.Health.FaultType.Vm.IsNearMemoryLimit

  • Gravidade: Aviso
  • Motivo: "A máquina virtual precisa de mais memória máxima configurada".
  • RecommendedAction: "Verifique se há processos ou aplicativos que consomem muita memória ou considere aumentar sua memória máxima."

FaultType: Microsoft.Health.FaultType.Vhd.IsNearlyFull

  • Gravidade: Aviso
  • Motivo: "O disco rígido virtual atingiu sua capacidade. Não é possível gravar mais dados nele, o que pode afetar negativamente a(s) máquina(s) virtual(is)."
  • RecommendedAction: "Redimensione o disco rígido virtual ou exclua arquivos indesejados."

1 Indica que o volume está 80% cheio (gravidade baixa) ou 90% cheio (gravidade alta). 2 Indica que alguns .vhd(s) no volume não atingiram seu IOPS mínimo por mais de 10% (secundário), 30% (principal) ou 50% (crítico) de uma janela contínua de 24 horas.

Observação

A integridade dos componentes do gabinete de armazenamento, como ventiladores, fontes de alimentação e sensores, é derivada do SCSI Enclosure Services (SES). Se o fornecedor não lhe der essas informações, o Serviço de Integridade não poderá exibi-las.

Referências adicionais