Compartilhar via


Exibir Falhas do Serviço de Integridade

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

O Serviço de Integridade monitora constantemente seu cluster Espaços de Armazenamento Diretos para detectar problemas e gerar "falhas". Um cmdlet exibe quaisquer falhas atuais, permitindo que você verifique facilmente a integridade da implantação sem examinar todas as entidades ou recursos por sua vez. 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 só pode mostrar o número do slot.

Análise da causa raiz

O Serviço de Integridade pode avaliar a causalidade potencial entre entidades com falha 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 de Espaços de Armazenamento Diretos geral. 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 for exibida, reinsira o disco físico ou reinicie o nó para 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.

Connect

Para consultar o Serviço de Integridade, você estabelece uma CimSession com o cluster. Para fazer isso, você precisará de algumas coisas que só estão disponíveis no Microsoft .NET completo, o que significa que você não pode fazer isso 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.

É recomendável construir o SecureString de Senha 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 cada MSFT_StorageNode no cluster e cada MSFT_Volume dos volumes de dados. Por fim, você precisa obter o MSCluster_ClusterHealthService, o próprio Serviço de Integridade.

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 Diagnosticar para obter quaisquer 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 é 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 principais de falhas, incluindo a FaultId, que pode ser usada posteriormente para associar atualizações, remover notificações ou eliminação de duplicação caso a mesma falha seja 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 (DiagnosticResult) é documentada posteriormente na seção Propriedades de falha .

Eventos de falha

Quando 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 Observador 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 a 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
    }
}

Noções básicas sobre 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 facilmente eliminação de duplicação. Isso é especialmente importante se você enviar alertas de email ou o equivalente.

Propriedades de falha

A tabela a seguir apresenta várias propriedades principais do objeto de falha. 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 } = { "Informational", "Warning" e "Error" }, ou cores equivalentes, como azul, amarelo e vermelho.

FaultingObjectDescription: informações de parte do 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 em nenhuma ordem específica. Hoje, essa lista geralmente tem 1.

Propriedades do 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 a 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 Stack HCI, o Serviço de Integridade fornece a seguinte cobertura de falha:

PhysicalDisk (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: "Substituir 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 incorretos durante as gravações. Um bloco inválido 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 blocos incorretos durante as leituras. Um bloco inválido 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, isso 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

Essa 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, isso 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

Essa 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 possíveis problemas para o Windows usando SMART (Tecnologia de Automonitoramento, Análise e Relatórios)"
  • 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 de gravação classificada. 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 classificada. Verifique a folha de dados ou peça ao fabricante mais detalhes sobre a classificação de resistência e o comportamento de 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 de gravação classificada 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 certo número de gravações, que varia dependendo da classificação de resistência da unidade. Para obter detalhes, marcar as especificações de unidade ou pergunte ao fabricante sobre a classificação de resistência e o comportamento de 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 substituir a unidade".

Observação

Essa 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 substituir a unidade".

Observação

Essa 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 substituir a unidade".

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 substituir a unidade".

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

  • Gravidade: Aviso
  • Motivo: "A unidade tem um alto número de erros.".
  • RecommendedAction: "Monitore o desempenho da unidade e considere substituir a unidade".

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

  • Gravidade: Aviso
  • Motivo: "A unidade tem um alto número de erros.".
  • RecommendedAction: "Monitore o desempenho da unidade e considere substituir a unidade".

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, os movemos para unidades de capacidade."
  • RecommendedAction: "Substitua a unidade ou tente desmarcá-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: "Substituir 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."
  • RecommendedAction: "Verifique se a unidade está funcionando e conectada corretamente. Se a unidade tiver falhado, substitua-a. Reinicie a rotação da chave de criptografia SED quando a unidade estiver íntegra."

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

  • Gravidade: Aviso
  • Motivo: "O disco físico tem uma chave de criptografia SED, no entanto, não corresponde à chave padrão atual."
  • RecommendedAction: "Iniciar rotação de 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 de 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 em 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."
  • RecommendedAction: "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 do pool (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."
  • RecommendedAction: "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 do 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 foi capaz de corrigi-lo."
  • RecommendedAction: "Iniciar a verificação de integridade de dados do agendador de tarefas, o armazenamento pode estar indo mal. Se houver uma operação de atualização ou manutenção em andamento, interrompa-a imediatamente. Talvez seja necessário restaurar 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 foi capaz de corrigi-lo."
  • RecommendedAction: "Iniciar a verificação de integridade de dados do agendador de tarefas, o armazenamento pode estar indo mal. Se houver uma operação de atualização ou manutenção em andamento, interrompa-a imediatamente. Talvez seja necessário restaurar 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: "Iniciar a verificação de integridade de dados do agendador de tarefas, o armazenamento pode estar indo mal. Se houver uma operação de atualização ou manutenção em andamento, interrompa-a imediatamente. Talvez seja necessário restaurar 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: "Iniciar a verificação de integridade de dados do agendador de tarefas, o armazenamento pode estar indo mal. Se houver uma operação de atualização ou manutenção em andamento, interrompa-a imediatamente. Talvez seja necessário restaurar 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: "Verificar 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: "Aguarde 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: "Mover máquinas virtuais para outros servidores com menor uso de CPU ou considerar 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: "Mover máquinas virtuais para outro servidor com menor uso de CPU ou considerar adicionar capacidade de computação adicional ao cluster".

FaultType: Microsoft.Health.FaultType.Node.LowFreeRam

  • Gravidade: Aviso
  • Motivo: "A memória disponível está abaixo do limite configurado".
  • RecommendedAction: "Mover máquinas virtuais para outro servidor com menor uso de CPU ou considerar adicionar capacidade de computação 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 consumindo 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 a memória atribuída".

FaultType: Microsoft.Health.FaultType.Node.SustainedHighCpuUsage

  • Gravidade: Aviso
  • Motivo: "O servidor tem o uso de CPU que excede consistentemente o limite."
  • RecommendedAction: "Mova máquinas virtuais para outro servidor com menor uso de 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 do cluster encontrou problemas".
  • RecommendedAction: "A validação de cluster encontrou falhas em algumas categorias de testes. Confira o relatório de validação de cluster."

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

  • Gravidade: crítica
  • Motivo: "Validate-DCB encontrou problemas".
  • RecommendedAction: "Validate-DCB encontrou erros de rede. Confira 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 a memória atribuída".

FaultType: Microsoft.Health.FaultType.Cluster.SustainedHighCpuUsage

  • Gravidade: crítica
  • Motivo: "O servidor tem o uso de CPU que excede consistentemente o limite."
  • RecommendedAction: "Mova máquinas virtuais para outro servidor com menor uso de 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 DCB (Data Center Bridging), o ETS (Serviço de Transmissão Avançada) e o Controle de Fluxo de Prioridade (PFC) estão configurados correta e consistentemente em cada nó de cluster e comutador físico. Se você não souber como fazer isso, peça ao 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 o desempenho e a segurança de dados consistentes, Espaços de Armazenamento Diretos parou 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 sua rede está configurada e funcionando corretamente e, em seguida, ative o RDMA novamente. Se você estiver usando RDMA Over Converged Ethernet (RoCE), verifique se o DCB (Data Center Bridging), o ETS (Serviço de Transmissão Avançada) e o Controle de Fluxo de Prioridade (PFC) estão configurados correta e consistentemente em cada nó de cluster e comutador físico. Se você não souber como fazer isso, peça ao fornecedor ou a alguém em quem você confia para ajudá-lo. Para continuar com o RDMA desativado, você pode ignorar esse 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: "Colocar 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: "Verifique o estado do recurso de cluster da máquina virtual".

FaultType: Microsoft.Health.FaultType.Vm.IsNearMemoryLimit

  • Gravidade: Aviso
  • Motivo: "A máquina virtual precisa de mais de sua memória máxima configurada.".
  • RecommendedAction: "Verifique se há processos ou aplicativos consumindo 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 as máquinas virtuais".
  • 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 atenderam ao IOPS mínimo para mais de 10% (secundário), 30% (principal) ou 50% (crítico) de uma janela sem interrupção de 24 horas.

Observação

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

Referências adicionais