Partilhar via


Ver as falhas do Serviço de Estado de Funcionamento

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 do Storage Spaces Direct para detetar problemas e gerar "falhas". Um cmdlet exibe todas as falhas atuais, permitindo que você verifique facilmente a integridade de sua implantação sem examinar cada entidade ou recurso por vez. As Falhas foram concebidas para serem precisas, fáceis de compreender e passíveis de ação.

Cada falha contém cinco campos importantes:

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

Por exemplo, eis uma falha comum:

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

Nota

A localização física é derivada da sua configuração do domínio de falhas. 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 de causa raiz

O Serviço de Saúde pode avaliar a causalidade potencial entre as entidades culpadoras para identificar e combinar falhas que são consequências do mesmo problema subjacente. Ao reconhecer cadeias de efeitos, tal produz relatórios menos extensos. 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á levantada para a causa raiz - neste caso, o servidor.

Uso no PowerShell

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

Get-HealthFault

Isso retorna quaisquer falhas que afetem o cluster geral do Storage Spaces Direct. Na maioria das vezes, essas falhas estão relacionadas ao hardware ou à configuração. Se não houver falhas, o cmdlet não retornará nada.

Nota

Em um ambiente de não produção, e por sua conta e risco, você pode experimentar esse recurso acionando 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, insira novamente 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.

Ligar

Para consultar o Serviço de Saúde, 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 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 o Password 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 ajuda a mitigar uma variedade de preocupações de segurança. Mas, na prática, construí-lo como acima é comum para fins de prototipagem.

Descobrir objetos

Com o CimSession estabelecido, você pode consultar a Instrumentação de Gerenciamento do Windows (WMI) 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 os Espaços de Armazenamento Diretos no cluster. Usando isso, você pode obter todos os MSFT_StorageNode no cluster e cada MSFT_Volume dos volumes de dados. Por fim, é preciso 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 cmdlets como Get-StorageSubSystem, Get-StorageNode e Get-Volume.

Você pode acessar todas as mesmas propriedades, documentadas em Storage Management API Classes.

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 quaisquer falhas atuais com escopo para a 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 a sua própria representação das falhas. Por exemplo, a classe MyFault armazena várias propriedades principais de falhas, incluindo o FaultId, que pode ser usado posteriormente para associar atualizações, remover notificações ou desduplicar caso a mesma falha seja detetada 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 sincronizado sem sondagens frequentes e podem ajudar em coisas como determinar quando enviar alertas por e-mail, por exemplo. Para se inscrever nesses eventos, o código de exemplo a seguir usa o Padrão de Design do Observador.

Primeiro, inscreva-se em MSFT_StorageFaultEvent eventos.

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 falha em si.

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

Compreender o ciclo de vida da falha

As falhas não se destinam a ser marcadas como "vistas" ou resolvidas pelo utilizador. São criados quando o Serviço de Saúde observa um problema, e só são removidos automaticamente depois de o Serviço de Saúde já não conseguir observar o problema. Em geral, isso reflete que o problema foi corrigido.

No entanto, em alguns casos, as falhas podem ser redescobertas pelo Serviço de Saúde, como após um failover, conectividade intermitente e assim por diante. Por esta razão, pode fazer sentido persistir a sua própria representação de falhas, para que possa facilmente desduplicar. 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 de falha. Para obter o esquema completo, inspecione a classe MSFT_StorageDiagnoseResult em storagewmi.mof.

Propriedade Exemplo
FaultId {12345-12345-12345-12345-12345}
Tipo de falha Microsoft.Health.FaultType.Volume.Capacity
Razão "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 {"Expandir o volume.", "Migrar cargas de trabalho para outros volumes."}

FaultId: ID exclusivo 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 peças 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, esta lista é muitas vezes de comprimento 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}
Tipo de falha Microsoft.Health.FaultType.Volume.Capacity
Razão "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 {"Expandir o volume.", "Migrar cargas de trabalho para outros volumes."}

ChangeType ChangeType = { 0, 1, 2 } = { "Criar", "Remover", "Atualizar" }.

Cobertura

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

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 conectado corretamente."

FaultType: Microsoft.Health.FaultType.PhysicalDisk.Unresponsive

  • Gravidade: aviso
  • Motivo: "O disco físico está exibindo falta de resposta recorrente."
  • RecommendedAction: "Substitua o disco físico."

FaultType: Microsoft.Health.FaultType.PhysicalDisk.PredictiveFailure

  • Gravidade: aviso
  • Motivo: "Prevê-se que ocorra em breve uma falha do disco físico."
  • 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 é suportado pelo fornecedor da solução."
  • RecommendedAction: "Substitua o disco físico pelo hardware suportado."

FaultType: Microsoft.Health.FaultType.PhysicalDisk.UnsupportedFirmware

  • Gravidade: aviso
  • Motivo: "O disco físico está em quarentena porque a sua versão de firmware não é suportada pelo 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: "Este disco pode conter dados de um pool de armazenamento desconhecido. Primeiro, certifique-se de que não há dados úteis neste disco e, em seguida, redefina o disco."

Tipo de falha: Microsoft.Health.FaultType.PhysicalDisk.FailedFirmwareUpdate

  • Gravidade: aviso
  • Motivo: "Falha na tentativa de 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."

Tipo de falha: Microsoft.Health.FaultType.PhysicalDisk.SblUnresponsive

  • Gravidade: aviso
  • Motivo: "O disco físico está exibindo falta de resposta recorrente."
  • RecommendedAction: "Substitua o disco físico."

FaultType: Microsoft.Health.FaultType.PhysicalDisk.FailureBadBlock

  • Gravidade: aviso
  • Motivo: "A unidade relatou bloqueios ruins durante as gravações. Um bloqueio ruim ocasional é normal, mas muitos podem significar que a unidade está funcionando mal, danificada ou começando a falhar."
  • RecommendedAction: "Se isso continuar acontecendo ou se você observar uma diminuição do desempenho, considere substituir a unidade."

Tipo de falha: Microsoft.Health.FaultType.PhysicalDisk.FailureBadBlockRead

  • Gravidade: aviso
  • Motivo: "A unidade relatou bloqueios ruins durante as leituras. Um bloqueio ruim ocasional é normal, mas muitos podem significar que a unidade está funcionando mal, danificada ou começando a falhar."
  • RecommendedAction: "Se isso continuar acontecendo ou se você observar uma diminuição do desempenho, considere substituir a unidade."

FaultType: Microsoft.Health.FaultType.PhysicalDisk.FailureIoRetry

  • Gravidade: aviso
  • Motivo: "A unidade precisava de várias tentativas para ler ou escrever. Se isso continuar acontecendo, isso pode significar que a unidade está funcionando mal, danificada ou começando a falhar."
  • RecommendedAction: "Se isso continuar acontecendo ou se você observar uma diminuição do desempenho, considere substituir a unidade."

Nota

Esta falha está desativada 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 não conseguiu ler ou escrever. Se isso continuar acontecendo, isso pode significar que a unidade está funcionando mal, danificada ou começando a falhar."
  • RecommendedAction: "Se isso continuar acontecendo ou se você observar uma diminuição do desempenho, considere substituir a unidade."

Nota

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

Tipo de falha: Microsoft.Health.FaultType.PhysicalDisk.FailureSmart

  • Gravidade: aviso
  • Motivo: "A unidade relatou os seguintes problemas potenciais para o Windows usando SMART (Self-Monitoring, Analysis and Reporting Technology)"
  • RecommendedAction: "Se isso continuar acontecendo ou se você observar uma diminuição do desempenho, considere substituir a unidade."

FaultType: Microsoft.Health.FaultType.PhysicalDisk.FailureHighWear

  • Gravidade: aviso
  • Motivo: "A unidade atingiu uma elevada percentagem da sua resistência nominal de escrita. A unidade pode tornar-se só de leitura, o que significa que não pode realizar mais gravações, quando atinge 100% da sua resistência nominal. Verifique a ficha técnica ou peça ao fabricante mais detalhes sobre a classificação de resistência e o comportamento em fim de vida."
  • RecommendedAction: "Se isso continuar acontecendo ou se você observar uma diminuição do desempenho, considere substituir a unidade."

FaultType: Microsoft.Health.FaultType.PhysicalDisk.FailureReadOnly

  • Gravidade: aviso
  • Motivo: "A unidade atingiu 100% de sua resistência de gravação nominal e agora é somente leitura, o que significa que não pode executar mais gravações. As unidades de estado sólido desgastam-se após um determinado número de gravações, que varia consoante a 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 em fim de vida."
  • RecommendedAction: "Se isso continuar acontecendo ou se você observar uma diminuição do desempenho, considere substituir a unidade."

Tipo de falha: 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."

Nota

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

Tipo de falha: Microsoft.Health.FaultType.PhysicalDisk.HighLatency.AverageIO

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

Nota

Esta falha está desativada 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 latência média alta."
  • 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."

Tipo de falha: Microsoft.Health.FaultType.PhysicalDisk.HighErrorCount.AverageIO

  • Gravidade: aviso
  • Motivo: "A unidade tem um elevado 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 elevado 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 os 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: "Aguarde 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, o que nos impede de movê-los para unidades de capacidade."
  • RecommendedAction: "Substitua a unidade."

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

  • Gravidade: aviso
  • Motivo: "A tentativa de girar a chave de criptografia SED para o novo padrão falhou."
  • 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 assim que a unidade estiver íntegra."

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

  • Gravidade: aviso
  • Motivo: "O disco físico tem uma chave de encriptação SED, no entanto não corresponde à chave predefinida 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."

Tipo de falha: 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)

Tipo de falha: Microsoft.Health.FaultType.VirtualDisks.NeedsRepair

  • Gravidade: Informativo
  • Motivo: "Alguns dados sobre este volume não são totalmente resilientes. Continua acessível."
  • RecommendedAction: "Restaurando a resiliência dos dados."

FaultType: Microsoft.Health.FaultType.VirtualDisks.Desanexado

  • 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 a partir 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 de disco virtual. A carga de trabalho pode ser interrompida e falhas de IO 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 da Piscina (2)

FaultType: Microsoft.Health.FaultType.StoragePool.TransactionAndCleanupFailure

  • Gravidade: aviso
  • Motivo: "O pool de armazenamento não consegue gravar em um quórum de dispositivos de metadados. A carga de trabalho pode ser interrompida e falhas de IO 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."

Tipo de falha: 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á a ficar sem espaço disponível."
  • RecommendedAction: "Expanda o volume ou migre cargas de trabalho para outros volumes."

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

  • Gravidade: aviso
  • Motivo: "O sistema de arquivos detetou um erro de soma de verificação e conseguiu corrigi-lo."
  • RecommendedAction: "Inicie a verificação de integridade de dados a partir 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. Pode ser necessário restaurar a partir do backup."

FaultType: Microsoft.Health.FaultType.Volume.FileSystem.Corruption.Incorrigível

  • Gravidade: aviso
  • Motivo: "O sistema de arquivos detetou um erro de soma de verificação e não conseguiu corrigi-lo."
  • RecommendedAction: "Inicie a verificação de integridade de dados a partir 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. Pode ser necessário restaurar a partir do backup."

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

  • Gravidade: aviso
  • Motivo: "O sistema de arquivos detetou 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 a partir 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. Pode ser necessário restaurar a partir do backup."

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

  • Gravidade: aviso
  • Motivo: "O sistema de arquivos detetou uma corrupção em um arquivo ou pasta. O sistema de arquivos pode não ter conseguido removê-lo do namespace do sistema de arquivos."
  • RecommendedAction: "Inicie a verificação de integridade de dados a partir 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. Pode ser necessário restaurar a partir do backup."

Servidor (12)

FaultType: Microsoft.Health.FaultType.Server.Down

  • Gravidade: Crítica
  • Motivo: "O servidor não pode ser alcançado."
  • RecommendedAction: "Iniciar ou substituir 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 a(s) rede(s) ou migre cargas de trabalho para outros nós."

FaultType: Microsoft.Health.FaultType.Server.Quarentena

  • 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 emitiu um aviso."
  • RecommendedAction: "Verifique a temperatura do servidor."

Tipo de falha: Microsoft.Health.FaultType.Server.Storage.Degraded

  • Gravidade: aviso
  • Motivo: "O servidor tem armazenamento que não está completo ou atualizado, então 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: "Mova máquinas virtuais para outros servidores com menor uso de CPU ou considere adicionar capacidade de computação adicional ao cluster (geralmente adicionando servidores)."

Tipo de falha: 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 máquinas virtuais para outro servidor com menor uso de CPU ou considere 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: "Mova máquinas virtuais para outro servidor com menor uso de CPU ou considere 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 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 de CPU combinada 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 da CPU consistentemente excedendo o limite."
  • RecommendedAction: "Mova máquinas virtuais para outro servidor com menor uso de CPU ou considere adicionar mais capacidade de computação."

Agrupamento (6)

FaultType: Microsoft.Health.FaultType.ClusterQuorumWitness.Error

  • Gravidade: Crítica
  • Motivo: "O cluster está a uma falha do servidor de cair."
  • RecommendedAction: "Verifique o recurso testemunha e reinicie conforme necessário. Inicie ou substitua 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 de cluster."

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

  • Gravidade: Crítica
  • Motivo: "O Validate-DCB encontrou problemas."
  • RecommendedAction: "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 de CPU combinada 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 da CPU consistentemente excedendo 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)

Tipo de falha: Microsoft.Health.FaultType.NetworkAdapter.Disconnected

  • Gravidade: aviso
  • Motivo: "A interface de rede foi desconectada."
  • RecommendedAction: "Reconecte o cabo de rede."

FaultType: Microsoft.Health.FaultType.NetworkInterface.Missing

  • Gravidade: aviso
  • Motivo: "O servidor {server} tem adaptador(es) de rede ausente(s) conectado(s) à rede de cluster {rede de cluster}."
  • RecommendedAction: "Conecte o servidor à rede de cluster ausente."

FaultType: Microsoft.Health.FaultType.NetworkAdapter.Hardware

  • Gravidade: aviso
  • Motivo: "A interface de rede teve uma falha de hardware."
  • RecommendedAction: "Substitua o adaptador de interface de rede."

FaultType: Microsoft.Health.FaultType.NetworkAdapter.Disabled

  • Gravidade: aviso
  • Motivo: "A interface de rede {interface de rede} não está habilitada e não está sendo usada."
  • RecommendedAction: "Ativar a interface de rede."

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

  • Gravidade: aviso
  • Motivo: "O cluster detetou problemas de conectividade de rede que impedem que o Storage Spaces Direct funcione 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 corretamente e consistentemente em cada nó de cluster e switch físico. Se você não sabe como fazer isso, peça ajuda ao seu fornecedor ou a alguém de sua confiança."

Tipo de falha: Microsoft.Health.FaultType.StorageSubsystem.RDMA.Disabled

  • Gravidade: aviso
  • Motivo: "O cluster detetou problemas de conectividade de rede que impedem que o Storage Spaces Direct funcione corretamente. Para garantir um desempenho consistente e a segurança dos dados, o Storage Spaces Direct 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 a sua rede está corretamente configurada e a funcionar e, em seguida, volte a ativar o RDMA. 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 corretamente e consistentemente em cada nó de cluster e switch físico. Se você não sabe como fazer isso, peça ajuda ao seu fornecedor ou a alguém de confiança. Para continuar com o RDMA desligado, você pode descartar esse alerta."

Caixa (6)

FaultType: Microsoft.Health.FaultType.StorageEnclosure.LostCommunication

  • Gravidade: aviso
  • Motivo: "Perdeu-se a comunicação para o compartimento de armazenamento."
  • RecommendedAction: "Inicie ou substitua o compartimento de armazenamento."

FaultType: Microsoft.Health.FaultType.StorageEnclosure.FanError

  • Gravidade: aviso
  • Motivo: "O ventilador na posição {position} do compartimento de armazenamento falhou."
  • RecommendedAction: "Substitua o ventilador no compartimento de armazenamento."

FaultType: Microsoft.Health.FaultType.StorageEnclosure.CurrentSensorError

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

Tipo de falha: 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 de E/S 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 durante a execução da distribuição de firmware."
  • RecommendedAction: "Verifique se todos os espaços de armazenamento estão íntegros e se nenhum domínio de falha está atualmente no modo de manutenção."

FaultType: Microsoft.Health.FaultType.FaultDomain.FirmwareVerifyVersionFailed

  • Gravidade: aviso
  • Motivo: "A implementação do firmware foi cancelada devido a informações de versão de firmware ilegíveis ou inesperadas após a aplicação de uma atualização de firmware."
  • RecommendedAction: "Reinicie a distribuição de firmware assim que o problema de firmware for resolvido."

FaultType: Microsoft.Health.FaultType.FaultDomain.TooManyFailedUpdates

  • Gravidade: aviso
  • Motivo: "A implementação do firmware foi cancelada devido ao excesso de discos físicos que falharam numa tentativa de atualização de firmware."
  • RecommendedAction: "Reinicie a distribuição de firmware assim que o problema de 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 satisfazer as reservas."
  • RecommendedAction: "Reconfigurar 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: "Por favor, reinicie 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 id {id}."
  • RecommendedAction: "Recrie quaisquer 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: "Verifique 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 de sua 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 a sua capacidade. Não é possível gravar mais dados nele, o que pode afetar negativamente a(s) máquina(s) virtual(is)."
  • RecommendedAction: "Redimensionar o disco rígido virtual ou excluir arquivos indesejados."

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

Nota

A integridade dos componentes do compartimento de armazenamento, como ventiladores, fontes de alimentação e sensores, é derivada dos Serviços de Gabinete SCSI (SES). Se o seu fornecedor não disponibilizar estas informações, o Serviço de Estado de Funcionamento não o conseguirá apresentar.

Referências adicionais