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.