Condividi tramite


Visualizzare i guasti del Servizio Sanitario

Si applica a: Locale di Azure 2311.2 e versioni successive; Windows Server 2022, Windows Server 2019

Il Servizio sanitario monitora costantemente il cluster Storage Spaces Direct per rilevare i problemi e generare "anomalie". Un cmdlet visualizza eventuali anomalie correnti, consentendo di verificare facilmente la salute della distribuzione senza esaminare ogni entità o funzionalità. Gli errori sono progettati per essere precisi, facili da comprendere e correggibili.

Ogni errore contiene cinque campi importanti:

  • Gravità
  • Descrizione del problema
  • Passaggi successivi consigliati per risolvere il problema
  • Identificazione delle informazioni sull'ente responsabile del guasto
  • La posizione fisica (se applicabile)

Ad esempio, di seguito viene riportato un errore tipico:

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

La posizione fisica viene derivata dalla configurazione del dominio di errore. Per ulteriori informazioni sui domini di errore, vedere Consapevolezza dei domini di errore. Se non si specificano queste informazioni, il campo della posizione è meno utile. Ad esempio, può visualizzare solo il numero di slot.

Analisi della causa radice

Il Servizio Sanitario può valutare la causalità potenziale tra le entità guaste per identificare e combinare i guasti che possono essere conseguenze dello stesso problema sottostante. Riconoscendo le catene di effetti, è possibile generare report più sintetici. Ad esempio, se un server è inattivo, è previsto che tutte le unità all'interno del server siano anche senza connettività. Di conseguenza, verrà generato un solo errore relativo alla causa principale; in questo caso, il server.

Uso in PowerShell

Per visualizzare eventuali errori correnti in PowerShell, eseguire il cmdlet seguente:

Get-HealthFault

In questo modo vengono restituiti eventuali errori che influiscono sul cluster Spazi di archiviazione diretta complessivo. In genere, questi errori riguardano l'hardware o la configurazione. Se non sono presenti errori, il cmdlet non restituisce nulla.

Nota

In un ambiente non di produzione e a proprio rischio, è possibile sperimentare questa funzionalità provocando intenzionalmente i difetti. Ad esempio, è possibile eseguire questa operazione rimuovendo un disco fisico o arrestando un nodo. Dopo la visualizzazione dell'errore, inserire nuovamente il disco fisico o riavviare il nodo per far scomparire l'errore.

Utilizzo in .NET e C#

Questa sezione illustra come connettersi al Servizio Sanitario, utilizzare gli oggetti individuati ed eseguire interrogazioni di errore.

Connessione

Per eseguire una query sul servizio sanitario, si stabilisce una CimSession con il cluster. A tale scopo, sono necessarie alcune operazioni disponibili solo in Microsoft .NET completo, ovvero non è possibile eseguire questa operazione direttamente da un'app Web o per dispositivi mobili. Gli esempi di codice in questa sezione usano C#, la scelta più semplice per questo livello di accesso ai dati.

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

Il nome utente specificato deve essere un amministratore locale del computer di destinazione.

È consigliabile costruire password SecureString direttamente dall'input dell'utente in tempo reale, in modo che la password non venga mai archiviata in memoria in testo non crittografato. In questo modo è possibile attenuare un'ampia gamma di problemi di sicurezza. Ma in pratica, costruire come sopra è comune a scopo di prototipazione.

Individuare gli oggetti

Dopo aver stabilito CimSession, è possibile interrogare la Strumentazione gestione Windows (WMI) nel cluster.

Prima di poter ottenere errori o metriche, è necessario ottenere istanze di diversi oggetti pertinenti. Prima di tutto, ottieni il MSFT_StorageSubSystem che rappresenta Storage Spaces Direct nel cluster. A tale scopo, è possibile ottenere ogni MSFT_StorageNode nel cluster e ogni MSFT_Volume dei volumi di dati. Infine, è necessario ottenere il MSCluster_ClusterHealthService, il servizio di integrità stesso.

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

Si tratta degli stessi oggetti che si ottengono in PowerShell usando cmdlet come Get-StorageSubSystem, Get-StorageNode e Get-Volume.

È possibile accedere a tutte le stesse proprietà, documentate in Classi API di gestione archiviazione.

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

Errori della query

Richiama Diagnosi per ottenere eventuali errori correnti identificati nell'ambito di CimInstance di destinazione, che può essere il cluster o qualsiasi volume.

L'elenco completo degli errori disponibili in ogni ambito in Windows Server 2019 è documentato più avanti nella sezione Copertura .

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

Facoltativo: classe MyFault

Può essere opportuno costruire e rendere persistente la propria rappresentazione degli errori. Ad esempio, la classe MyFault archivia diverse proprietà chiave degli errori, tra cui FaultId, che possono essere usate in un secondo momento per associare gli aggiornamenti, rimuovere le notifiche o deduplicare nel caso in cui lo stesso errore venga rilevato più volte.

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

L'elenco completo delle proprietà in ogni errore (DiagnoseResult) è documentato più avanti nella sezione Proprietà di errore .

Eventi di errore

Quando vengono creati, rimossi o aggiornati guasti, il Servizio di integrità genera eventi WMI. Questi elementi sono essenziali per mantenere sincronizzato lo stato dell'applicazione senza eseguire frequenti polling e possono essere utili per determinare quando inviare avvisi di posta elettronica, ad esempio. Per sottoscrivere questi eventi, il codice di esempio seguente usa il modello di progettazione Observer.

Prima di tutto, iscriviti agli eventi 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);
}

Implementare quindi un observer il cui metodo OnNext() viene richiamato ogni volta che viene generato un nuovo evento.

Ogni evento contiene ChangeType che indica se viene creato, rimosso o aggiornato un errore e il relativo FaultId.

Inoltre, ogni evento contiene tutte le proprietà dell'errore stesso.

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

Informazioni sul ciclo di vita degli errori

Gli errori non devono essere contrassegnati come "visti" o risolti dall'utente. Vengono creati quando il Servizio integrità osserva un problema e vengono rimossi automaticamente solo dopo che il Servizio integrità non può più osservare il problema. In generale, ciò riflette che il problema è stato risolto.

In alcuni casi, tuttavia, gli errori possono essere rilevati dal Servizio sanitario, ad esempio dopo un failover, connettività intermittente e così via. Per questo motivo, può essere opportuno rendere persistente la propria rappresentazione degli errori, in modo che sia possibile deduplicare facilmente. Ciò è particolarmente importante se si inviano avvisi di posta elettronica o equivalenti.

Proprietà del difetto

La tabella seguente presenta diverse proprietà chiave dell'oggetto di errore. Per lo schema completo, esaminare la classe MSFT_StorageDiagnoseResult in storagewmi.mof.

Proprietà Esempio
ID di Errore {12345-12345-12345-12345-12345}
TipoDiGuasto Microsoft.Health.FaultType.Volume.Capacità
Motivo "Il volume sta esaurendo lo spazio disponibile."
Gravità Percepita 5
DescrizioneOggettoGuasto Contoso XYZ9000 Numero di serie 123456789
PosizioneOggettoDifettosa Rack A06, UR 25, Slot 11
Azioni Consigliate {"Espandi il volume.", "Migra i carichi di lavoro su altri volumi."}

FaultId: ID univoco nell'ambito di un cluster.

PerceivedSeverity: PerceivedSeverity = { 4, 5, 6 } = { "Informational", "Warning", e "Error" }, o colori equivalenti, ad esempio blu, giallo e rosso.

FaultingObjectDescription: informazioni sulle parti per l'hardware, in genere vuote per gli oggetti software.

FaultingObjectLocation: informazioni sulla posizione per l'hardware, in genere vuote per gli oggetti software.

RecommendedActions: elenco di azioni consigliate indipendenti e non in un ordine specifico. Oggi, questo elenco è spesso di lunghezza pari a 1.

Proprietà dell'evento di errore

La tabella seguente presenta diverse proprietà chiave dell'evento di errore. Per lo schema completo, esaminare la classe MSFT_StorageFaultEvent in storagewmi.mof.

Si noti changetype che indica se viene creato, rimosso o aggiornato un errore e FaultId. Un evento contiene anche tutte le proprietà dell'errore interessato.

Proprietà Esempio
TipoDiModifica 0
ID di Errore {12345-12345-12345-12345-12345}
TipoDiGuasto Microsoft.Health.FaultType.Volume.Capacità
Motivo "Il volume sta esaurendo lo spazio disponibile."
Gravità Percepita 5
DescrizioneOggettoGuasto Contoso XYZ9000 Numero di serie 123456789
PosizioneOggettoDifettosa Rack A06, UR 25, Slot 11
Azioni Consigliate {"Espandi il volume.", "Migra i carichi di lavoro su altri volumi."}

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

Copertura

In Windows Server 2019 e Azure Locale, il Servizio integrità fornisce la seguente copertura degli errori:

PhysicalDisk (31)

TipoDiErrore: Microsoft.Health.FaultType.PhysicalDisk.FailedMedia

  • Gravità: Avviso
  • Motivo: "Il disco fisico non è riuscito".
  • RecommendedAction: "Sostituisci il disco fisico".

FaultType: Microsoft.Health.FaultType.PhysicalDisk.LostCommunication (Errore di comunicazione persa con il disco fisico)

  • Gravità: Avviso
  • Motivo: "La connettività è stata persa al disco fisico".
  • RecommendedAction: "Verificare che il disco fisico funzioni e sia connesso correttamente".

FaultType: Microsoft.Health.FaultType.PhysicalDisk.Non risponde

  • Gravità: Avviso
  • Motivo: "Il disco fisico presenta un'inattività ricorrente".
  • RecommendedAction: "Sostituisci il disco fisico".

FaultType: Microsoft.Health.FaultType.DiscoFisico.FallimentoPredittivo

  • Gravità: Avviso
  • Motivo: "Si prevede che un guasto al disco fisico si verifichi presto."
  • RecommendedAction: "Sostituisci il disco fisico".

FaultType: Microsoft.Health.FaultType.PhysicalDisk.HardwareNonSupportato

  • Gravità: Avviso
  • Motivo: "Il disco fisico viene messo in quarantena perché non è supportato dal fornitore della soluzione".
  • RecommendedAction: "Sostituire il disco fisico con hardware supportato".

FaultType: TipoDiErrore: Microsoft.Health.FaultType.PhysicalDisk.UnsupportedFirmware (Firmware non supportato)

  • Gravità: Avviso
  • Motivo: "Il disco fisico è in quarantena perché la versione del firmware non è supportata dal fornitore della soluzione".
  • RecommendedAction: "Aggiornare il firmware sul disco fisico alla versione di destinazione".

FaultType: Microsoft.Health.FaultType.PhysicalDisk.MetadatiNonRiconosciuti

  • Gravità: Avviso
  • Motivo: "Il disco fisico ha metadati non riconosciuti".
  • RecommendedAction: "Questo disco può contenere dati da un pool di archiviazione sconosciuto. Assicurarsi prima di tutto che non siano presenti dati utili su questo disco, quindi reimpostare il disco".

FaultType: Microsoft.Health.FaultType.DiscoFisico.AggiornamentoFirmwareFallito

  • Gravità: Avviso
  • Motivo: "Tentativo non riuscito di aggiornare il firmware sul disco fisico".
  • RecommendedAction: "Provare a usare un file binario del firmware diverso".

FaultType: Microsoft.Health.FaultType.PhysicalDisk.SblFailedMedia (Errore tipo: disco fisico media Sbl fallito)

  • Gravità: Avviso
  • Motivo: "L'unità è guasta".
  • RecommendedAction: "Sostituisci l'unità."

FaultType: Microsoft.Health.FaultType.PhysicalDisk.SblNonRispondente

  • Gravità: Avviso
  • Motivo: "Il disco fisico presenta un'inattività ricorrente".
  • RecommendedAction: "Sostituisci il disco fisico".

FaultType: Microsoft.Health.FaultType.PhysicalDisk.FailureBadBlock (Errore del tipo: Disco fisico, blocco danneggiato)

  • Gravità: Avviso
  • Motivo: "L'unità ha segnalato blocchi errati durante le operazioni di scrittura. Un blocco non valido occasionale è normale, ma troppi potrebbero significare che l'unità potrebbe non funzionare correttamente, sia danneggiata o stia iniziando a guastarsi".
  • RecommendedAction: "Se ciò continua a verificarsi o si osserva una riduzione delle prestazioni, prendere in considerazione la sostituzione dell'unità".

TipoDiErrore: Microsoft.Health.TipoDiErrore.DiscoFisico.FallimentoLetturaBloccoDifettoso

  • Gravità: Avviso
  • Motivo: "L'unità ha segnalato blocchi errati durante le letture. Un blocco errato occasionale è normale, ma troppi potrebbero significare che l'unità non funziona correttamente, è danneggiata o che stia iniziando a guastarsi".
  • RecommendedAction: "Se ciò continua a verificarsi o si osserva una riduzione delle prestazioni, prendere in considerazione la sostituzione dell'unità".

TipoDiErrore: Microsoft.Health.TipoDiErrore.DiscoFisico.FallimentoIoRiprova

  • Gravità: Avviso
  • Motivo: "L'unità ha avuto bisogno di più tentativi di lettura o scrittura. Se ciò continua a verificarsi, potrebbe significare che l'unità non funziona correttamente, è danneggiata o sta iniziando a guastarsi."
  • RecommendedAction: "Se ciò continua a verificarsi o si osserva una riduzione delle prestazioni, prendere in considerazione la sostituzione dell'unità".

Nota

Questo guasto è disattivato per impostazione predefinita. Per abilitarla, impostare il parametro di integrità System.Storage.PhysicalDisk.MarginalFailure.EventBased.IoRetry.Enabled su true

FaultType: Microsoft.Health.FaultType.PhysicalDisk.FailureIoFailure (Errore di tipo: errore di I/O del disco fisico)

  • Gravità: Avviso
  • Motivo: "L'unità non è riuscita a leggere o scrivere. Se ciò continua a verificarsi, potrebbe significare che l'unità non funziona correttamente, danneggiata o che inizia a non riuscire".
  • RecommendedAction: "Se ciò continua a verificarsi o si osserva una riduzione delle prestazioni, prendere in considerazione la sostituzione dell'unità".

Nota

Questo guasto è disattivato per impostazione predefinita. Per abilitarla, impostare l'impostazione di integrità del sistema System.Storage.PhysicalDisk.MarginalFailure.EventBased.IoFailure.Enabled a vero.

FaultType: Microsoft.Health.FaultType.PhysicalDisk.ErroreSmart

  • Gravità: Avviso
  • Motivo: "L'unità ha segnalato i potenziali problemi seguenti a Windows usando SMART (auto-monitoraggio, analisi e tecnologia di creazione di report)"
  • RecommendedAction: "Se ciò continua a verificarsi o si osserva una riduzione delle prestazioni, prendere in considerazione la sostituzione dell'unità".

TipoDiErrore: Microsoft.Health.FaultType.PhysicalDisk.FailureHighWear

  • Gravità: Avviso
  • Motivo: "L'unità ha raggiunto una percentuale elevata della sua resistenza di scrittura valutata. L'unità può diventare di sola lettura, ovvero non può eseguire altre scritture, quando raggiunge 100% della resistenza valutata. Controllare il foglio dati o chiedere al produttore ulteriori dettagli sulla valutazione della resistenza e sul comportamento di fine vita".
  • RecommendedAction: "Se ciò continua a verificarsi o si osserva una riduzione delle prestazioni, prendere in considerazione la sostituzione dell'unità".

FaultType: Microsoft.Health.FaultType.PhysicalDisk.ErroreSoloLettura

  • Gravità: Avviso
  • Motivo: "L'unità ha raggiunto 100% della sua resistenza di scrittura valutata ed è ora di sola lettura, il che significa che non può eseguire altre scritture. Le unità a stato solido si consumano dopo un certo numero di scritture, che variano a seconda del livello di resistenza dell'unità. Per informazioni dettagliate, controllare le specifiche dell'unità o chiedere al produttore il livello di resistenza e il comportamento di fine vita."
  • RecommendedAction: "Se ciò continua a verificarsi o si osserva una riduzione delle prestazioni, prendere in considerazione la sostituzione dell'unità".

FaultType: Microsoft.Health.FaultType.PhysicalDisk.HighLatency.SlowestIO (Tipo di guasto: Disco fisico con latenza elevata e IO più lento)

  • Gravità: Avviso
  • Motivo: "L'unità ha un picco di latenza elevata".
  • RecommendedAction: "Monitorare le prestazioni dell'unità e prendere in considerazione la sostituzione dell'unità".

Nota

Questo guasto è disattivato per impostazione predefinita. Per abilitarla, impostare su "vero" l'impostazione di integrità System.Storage.PhysicalDisk.HighLatency.Threshold.Tail.Enabled.

Tipo di Errore: Microsoft.Health.FaultType.PhysicalDisk.HighLatency.AverageIO

  • Gravità: Avviso
  • Motivo: "L'unità ha una latenza media elevata".
  • RecommendedAction: "Monitorare le prestazioni dell'unità e prendere in considerazione la sostituzione dell'unità".

Nota

Questo guasto è disattivato per impostazione predefinita. Per abilitarla, impostare su "vero" l'impostazione di integrità System.Storage.PhysicalDisk.HighLatency.Threshold.Tail.Enabled.

FaultType: Microsoft.Health.FaultType.PhysicalDisk.HighLatency.Outlier.AverageIO (Tipo di errore: Alta Latenza del Disco Fisico - Outlier Medie IO)

  • Gravità: Avviso
  • Motivo: "L'unità ha una latenza media elevata".
  • RecommendedAction: "Monitorare le prestazioni dell'unità e prendere in considerazione la sostituzione dell'unità".

FaultType: Microsoft.Health.FaultType.PhysicalDisk.HighLatency.Outlier.SlowestIO (Tipo di errore: disco fisico, alta latenza, caso anomalo, operazione di I/O più lenta)

  • Gravità: Avviso
  • Motivo: "L'unità ha un picco di latenza elevata".
  • RecommendedAction: "Monitorare le prestazioni dell'unità e prendere in considerazione la sostituzione dell'unità".

Tipo di guasto: FaultType: Microsoft.Health.FaultType.PhysicalDisk.HighErrorCount.AverageIO

  • Gravità: Avviso
  • Motivo: "L'unità presenta un numero elevato di errori".
  • RecommendedAction: "Monitorare le prestazioni dell'unità e prendere in considerazione la sostituzione dell'unità".

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

  • Gravità: Avviso
  • Motivo: "L'unità presenta un numero elevato di errori".
  • RecommendedAction: "Monitorare le prestazioni dell'unità e prendere in considerazione la sostituzione dell'unità".

FaultType: Microsoft.Health.FaultType.PhysicalDisk.CacheReadOnly (Cache di sola lettura)

  • Gravità: Avviso
  • Motivo: "L'unità cache non è riuscita in alcune letture o scritture, quindi, per proteggere i tuoi dati, li abbiamo trasferiti su dischi di archiviazione."
  • RecommendedAction: "Sostituire il disco rigido o provare a cancellarlo e reimpostarlo".

FaultType: Microsoft.Health.FaultType.DiscoFisico.CacheSolaLettura.Scaricamento

  • Gravità: Avviso
  • Motivo: "L'unità cache non è riuscita in alcune letture o scritture. Per proteggere i dati, la scrittura nell'unità cache è stata interrotta e si sta provando a spostare i dati nelle unità di capacità".
  • RecommendedAction: "Attendere mentre spostiamo i dati."

TipoDiErrore: Microsoft.Health.TipoDiErrore.PhysicalDisk.CacheSolaLettura.DrenaggioFallito

  • Gravità: Avviso
  • Motivo: "Alcuni dati nell'unità cache non possono essere letti, impedendone lo spostamento nelle unità di capacità".
  • RecommendedAction: "Sostituisci l'unità."

TipoDiErrore: Microsoft.Health.TipoDiErrore.DiscoFisico.SedEncKey.ErroreDiRotazione

  • Gravità: Avviso
  • Motivo: "Tentativo di ruotare la chiave di crittografia SED al nuovo valore predefinito non riuscito".
  • RecommendedAction: "Verificare che l'unità funzioni correttamente e sia connessa correttamente. Se l'unità è guasta, sostituirla. Riavviare la rotazione della chiave di crittografia SED una volta che l'unità è funzionante".

FaultType: Microsoft.Health.FaultType.PhysicalDisk.SedEncKey.NonPredefinito

  • Gravità: Avviso
  • Motivo: "Il disco fisico ha una chiave di crittografia SED, ma non corrisponde alla chiave predefinita corrente".
  • RecommendedAction: "Avviare la rotazione della chiave di crittografia SED".

Tipo di errore: Microsoft.Health.FaultType.PhysicalDisk.SedEncKey.Non definito

  • Gravità: Avviso
  • Motivo: "Non esiste una chiave di crittografia SED predefinita definita per l'unità".
  • RecommendedAction: "Impostare una chiave di crittografia SED predefinita".

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

  • Gravità: Avviso
  • Motivo: "Impossibile completare la rotazione della chiave di crittografia SED nel server prima del timeout"
  • RecommendedAction: "Assicurarsi che il server sia raggiungibile e che tutti i dischi fisici siano integri".

FaultType: Microsoft.Health.FaultType.PhysicalDisk.DriveArriveFailure (Errore di tipo: Arrivo del disco fisico non riuscito)

  • Gravità: Avviso
  • Motivo: "Il disco fisico non riesce a eseguire le query".
  • RecommendedAction: "Convalidare l'affidabilità della rete. Se il problema persiste, prendere in considerazione la sostituzione del dispositivo."

Disco virtuale (3)

FaultType: Microsoft.Health.FaultType.VirtualDisks.NecessitaRiparazione

  • Gravità: informativa
  • Motivo: "Alcuni dati su questo volume non sono completamente resilienti. Rimane accessibile."
  • RecommendedAction: "Ripristino della resilienza dei dati".

Tipo di Anomalia: Microsoft.Health.FaultType.VirtualDisks.Detached

  • Gravità: Critica
  • Motivo: "Il volume è inaccessibile. Alcuni dati potrebbero essere persi."
  • RecommendedAction: "Controllare la connettività fisica e/o di rete di tutti i dispositivi di archiviazione. Potrebbe essere necessario eseguire il ripristino dal backup."

FaultType: Microsoft.Health.FaultType.VirtualDisks.NoRedundancy (Tipo di errore: Microsoft.Health.FaultType.DischiVirtuali.NessunaRidondanza)

  • Gravità: Critica
  • Motivo: "Tutte le copie dei dati non sono disponibili per un'area del disco virtuale. Il carico di lavoro può essere interrotto e possono verificarsi errori di I/O".
  • RecommendedAction: "Se è in corso un'operazione di manutenzione, sospendere e ripristinare l'accesso a tutte le risorse di archiviazione fino a quando lo spazio di archiviazione non si stabilizza".

Capacità della piscina (2)

TipoDiErrore: Microsoft.Health.FaultType.StoragePool.TransactionAndCleanupFailure

  • Gravità: Avviso
  • Motivo: "Il pool di archiviazione non è in grado di scrivere su un quorum di dispositivi di metadati. Il carico di lavoro può essere interrotto e possono verificarsi errori di I/O."
  • RecommendedAction: "Se è in corso un'operazione di manutenzione, sospendere e ripristinare l'accesso a tutte le risorse di archiviazione fino a quando lo spazio di archiviazione non si stabilizza".

TipoErrore: Microsoft.Health.FaultType.StoragePool.PoolCapacityThresholdExceeded

  • Gravità: Avviso
  • Motivo: "Il pool di archiviazione sta esaurendo la capacità".
  • RecommendedAction: "Aggiungere capacità aggiuntiva al pool di archiviazione o liberare capacità".

Capacità volume (5)1

Tipo di errore: Microsoft.Health.FaultType.Volume.Capacity

  • Gravità: Avviso
  • Motivo: "Il volume sta esaurendo lo spazio disponibile".
  • RecommendedAction: "Espandere il volume o migrare i carichi di lavoro ad altri volumi."

Tipo di errore: Microsoft.Health.FaultType.Volume.FileSystem.Corruption.Correctable

  • Gravità: Avviso
  • Motivo: "Il file system ha rilevato un errore di checksum ed è stato in grado di correggerlo".
  • RecommendedAction: "Avviare l'analisi dell'integrità dei dati dal task scheduler, l'archiviazione dei dati potrebbe essere danneggiata. Se è in corso un'operazione di aggiornamento o manutenzione, arrestarla immediatamente. Potrebbe essere necessario ripristinarlo dal backup."

TipoDiErrore: Microsoft.Salute.TipoDiErrore.Volume.SistemaFile.Corruzione.Irrecuperabile

  • Gravità: Avviso
  • Motivo: "Il file system ha rilevato un errore di checksum e non è stato in grado di correggerlo".
  • RecommendedAction: "Avviare l'analisi dell'integrità dei dati dal task scheduler, l'archiviazione dei dati potrebbe essere danneggiata. Se è in corso un'operazione di aggiornamento o manutenzione, arrestarla immediatamente. Potrebbe essere necessario ripristinarlo dal backup."

FaultType: Microsoft.Health.FaultType.Volume.FileSystem.Corruzione.NonCorreggibile.DataRemoved

  • Gravità: Avviso
  • Motivo: "Il file system ha rilevato un danneggiamento in un file o in una cartella. Il file o la cartella è stato rimosso dallo spazio dei nomi del file system."
  • RecommendedAction: "Avviare l'analisi dell'integrità dei dati dal task scheduler, l'archiviazione dei dati potrebbe essere danneggiata. Se è in corso un'operazione di aggiornamento o manutenzione, arrestarla immediatamente. Potrebbe essere necessario ripristinarlo dal backup."

FaultType: Microsoft.Health.FaultType.Volume.FileSystem.Corruzione.Incorreggibile.IncidenteRimozioneDati

  • Gravità: Avviso
  • Motivo: "Il file system ha rilevato un danneggiamento in un file o in una cartella. Il file system potrebbe non essere riuscito a rimuoverlo dallo spazio dei nomi del file system."
  • RecommendedAction: "Avviare l'analisi dell'integrità dei dati dal task scheduler, l'archiviazione dei dati potrebbe essere danneggiata. Se è in corso un'operazione di aggiornamento o manutenzione, arrestarla immediatamente. Potrebbe essere necessario ripristinarlo dal backup."

Server (12)

TipoDiErrore: Microsoft.Health.FaultType.Server.Down

  • Gravità: Critica
  • Motivo: "Impossibile raggiungere il server".
  • RecommendedAction: "Avviare o sostituire il server".

FaultType: Microsoft.Health.FaultType.Server.Isolated (Tipo di errore: Isolato dal server)

  • Gravità: Critica
  • Motivo: "Il server è isolato dal cluster a causa di problemi di connettività".
  • RecommendedAction: "Se l'isolamento persiste, controllare le reti o eseguire la migrazione dei carichi di lavoro ad altri nodi".

FaultType: Microsoft.Health.FaultType.Server.Quarantined (Quarantinato)

  • Gravità: Critica
  • Motivo: "Il server viene messo in quarantena dal cluster a causa di errori ricorrenti".
  • RecommendedAction: "Sostituire il server o correggere la rete".

FaultType: Microsoft.Health.FaultType.Server.Temperatura

  • Gravità: Avviso
  • Motivo: "Il sensore temperatura server ha generato un avviso".
  • RecommendedAction: "Controllare la temperatura del server".

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

  • Gravità: Avviso
  • Motivo: "Il server dispone di spazio di archiviazione non completo o up-to-date, quindi è necessario sincronizzarlo con i dati di altri server nel cluster. Questa situazione è normale dopo il riavvio di un server o un'unità non riesce."
  • RecommendedAction: "Attendi mentre sincronizziamo l'archiviazione. Non rimuovere alcuna unità né riavviare server nel cluster finché non confermiamo che la sincronizzazione è stata completata".

FaultType: Microsoft.Health.FaultType.Node.CPU sovraccaricato

  • Gravità: Avviso
  • Motivo: "L'utilizzo della CPU del server è costantemente superiore alla soglia".
  • RecommendedAction: "Spostare le macchine virtuali in altri server con un utilizzo inferiore della CPU o prendere in considerazione l'aggiunta di capacità di calcolo aggiuntive al cluster (in genere aggiungendo server)."

FaultType: Microsoft.Health.FaultType.Node.VCPUToLCPU (tipo di errore)

  • Gravità: Avviso
  • Motivo: "Il rapporto tra processori virtuali e processori logici (thread) in questo server ha superato la soglia configurata".
  • RecommendedAction: "Spostare le macchine virtuali in un altro server con un utilizzo inferiore della CPU o prendere in considerazione l'aggiunta di capacità di calcolo aggiuntive al cluster".

FaultType: Microsoft.Health.FaultType.Node.LowFreeRam

  • Gravità: Avviso
  • Motivo: "La memoria disponibile è al di sotto della soglia configurata".
  • RecommendedAction: "Spostare le macchine virtuali in un altro server con un utilizzo inferiore della CPU o prendere in considerazione l'aggiunta di capacità di calcolo aggiuntive al cluster".

TipoDiErrore: Microsoft.Health.FaultType.Node.HighRootPartitionMemoryUsage

  • Gravità: Avviso
  • Motivo: "Windows Server sta consumando molta memoria fisica, che supera la soglia configurata".
  • RecommendedAction: "Verificare la presenza di processi o app che utilizzano troppa memoria, spostare le macchine virtuali in altri server o aggiungere memoria ai server".

Tipo di errore: Microsoft.Health.FaultType.Node.TooHighCpuReservation

  • Gravità: Avviso
  • Motivo: "La prenotazione della CPU combinata delle macchine virtuali in questo server supera la soglia configurata".
  • RecommendedAction: "Prendere in considerazione lo spostamento di macchine virtuali o la riduzione delle riserve della CPU".

TipoDiGuasto: Microsoft.Health.FaultType.Node.UtilizzoMemoriaTroppoElevatoDopoRecupero

  • Gravità: Avviso
  • Motivo: "L'assegnazione di memoria combinata delle macchine virtuali in questo server supera la soglia configurata".
  • RecommendedAction: "Prendere in considerazione lo spostamento di macchine virtuali o la riduzione della memoria assegnata".

FaultType: Microsoft.Health.FaultType.Node.SustainedHighCpuUsage (Uso eccessivo e continuo della CPU nel nodo)

  • Gravità: Avviso
  • Motivo: "Il server ha un utilizzo coerente della CPU che supera la soglia".
  • RecommendedAction: "Spostare le macchine virtuali in un altro server con un utilizzo inferiore della CPU o prendere in considerazione l'aggiunta di una maggiore capacità di calcolo".

Cluster (6)

TipoErrore: Microsoft.Health.FaultType.ClusterQuorumWitness.Errore

  • Gravità: Critica
  • Motivo: "Il cluster è a un guasto del server dal collassare."
  • RecommendedAction: "Controllare la risorsa testimone e riavviare secondo necessità. Avviare o sostituire i server guasti."

FaultType: Microsoft.Health.FaultType.Cluster.RelazioneDiConvalida.Fallita

  • Gravità: Critica
  • Motivo: "La convalida del cluster ha rilevato problemi".
  • RecommendedAction: "La convalida del cluster ha rilevato errori in alcune categorie di test. Vedere il report di convalida del cluster."

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

  • Gravità: Critica
  • Motivo: "Validate-DCB ha riscontrato problemi".
  • RecommendedAction: "Validate-DCB ha rilevato errori di rete. Vedere il rapporto di convalida DCB."

FaultType: TipoErrore.Microsoft.Salute.TipoErrore.Cluster.PrenotazioneCpuTroppoAlta

  • Gravità: Critica
  • Motivo: "La prenotazione della CPU combinata delle macchine virtuali in questo server supera la soglia configurata".
  • RecommendedAction: "Prendere in considerazione lo spostamento di macchine virtuali o la riduzione delle riserve della CPU".

FaultType: Microsoft.Health.FaultType.Cluster.UsoDiMemoriaTroppoElevatoDopoIlRecupero

  • Gravità: Critica
  • Motivo: "L'assegnazione di memoria combinata delle macchine virtuali in questo server supera la soglia configurata".
  • RecommendedAction: "Prendere in considerazione lo spostamento di macchine virtuali o la riduzione della memoria assegnata".

TipoDiErrore: Microsoft.Health.FaultType.Cluster.SustainedHighCpuUsage

  • Gravità: Critica
  • Motivo: "Il server ha un utilizzo coerente della CPU che supera la soglia".
  • RecommendedAction: "Spostare le macchine virtuali in un altro server con un utilizzo inferiore della CPU o prendere in considerazione l'aggiunta di una maggiore capacità di calcolo".

Scheda di rete/interfaccia (6)

TipoDiErrore: Microsoft.Health.FaultType.NetworkAdapter.Disconnected

  • Gravità: Avviso
  • Motivo: "L'interfaccia di rete è diventata disconnessa".
  • RecommendedAction: "Riconnettere il cavo di rete".

Tipo di errore: Microsoft.Health.FaultType.NetworkInterface.Missing

  • Gravità: Avviso
  • Motivo: "Il server {server} ha uno o più adattatori di rete mancanti connessi alla rete del cluster {cluster network}".
  • RecommendedAction: "Connettere il server alla rete cluster mancante".

FaultType: Microsoft.Health.FaultType.NetworkAdapter.Hardware (Tipo di errore: Riferimento hardware dell'adattatore di rete)

  • Gravità: Avviso
  • Motivo: "L'interfaccia di rete ha avuto un errore hardware".
  • RecommendedAction: "Sostituisci la scheda di interfaccia di rete".

Tipo di errore: Microsoft.Health.FaultType.NetworkAdapter.Disabled

  • Gravità: Avviso
  • Motivo: "L'interfaccia di rete {interfaccia di rete} non è abilitata e non viene usata".
  • RecommendedAction: "Abilita l'interfaccia di rete".

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

  • Gravità: Avviso
  • Motivo: "Il cluster ha rilevato problemi di connettività di rete che impediscono il corretto funzionamento di Spazi di archiviazione diretta".
  • RecommendedAction: "Verificare che la rete sia configurata e funzionante correttamente. Se si usa RDMA Over Converged Ethernet (RoCE), verificare che Data Center Bridging (DCB), Enhanced Transmission Service (ETS) e Priority Flow Control (PFC) siano configurati correttamente e in modo coerente in ogni nodo del cluster e commutatore fisico. Se non sai come farlo, chiedi al tuo fornitore o a qualcuno che ti fida di aiutarti."

Tipo di errore: Microsoft.Health.FaultType.StorageSubsystem.RDMA.Disabled

  • Gravità: Avviso
  • Motivo: "Il cluster ha rilevato problemi di connettività di rete che impediscono il corretto funzionamento di Spazi di archiviazione diretta. Per garantire prestazioni e sicurezza dei dati coerenti, Spazi di archiviazione diretta ha smesso di usare l'accesso diretto alla memoria remota (RDMA) anche se è presente e abilitato hardware con supporto per RDMA. Il traffico di archiviazione continuerà a fluire, ma con prestazioni ridotte usando TCP/IP."
  • RecommendedAction: "Verificare che la rete sia configurata e funzionante correttamente e quindi riattivare RDMA. Se si usa RDMA Over Converged Ethernet (RoCE), verificare che Data Center Bridging (DCB), Enhanced Transmission Service (ETS) e Priority Flow Control (PFC) siano configurati correttamente e in modo coerente in ogni nodo del cluster e commutatore fisico. Se non sai come eseguire questa operazione, chiedi al fornitore o a qualcuno che ti fida di aiutarti. Per continuare con RDMA disattivato, è possibile ignorare questo avviso."

Contenitore (6)

TipoDiErrore: Microsoft.Health.FaultType.StorageEnclosure.LostCommunication

  • Gravità: Avviso
  • Motivo: "La comunicazione è stata persa nel rack di archiviazione".
  • RecommendedAction: "Avviare o sostituire il contenitore di archiviazione".

TipoGuasto: Microsoft.Health.FaultType.StorageEnclosure.FanError

  • Gravità: Avviso
  • Motivo: "La ventola alla posizione {position} dell'unità di archiviazione ha avuto un guasto".
  • RecommendedAction: "Sostituire la ventola nel contenitore di archiviazione".

FaultType: Microsoft.Health.FaultType.StorageEnclosure.CurrentSensorError (Errore del sensore di corrente)

  • Gravità: Avviso
  • Motivo: "Il sensore attuale nella posizione {position} dell'enclosure di archiviazione si è guastato."
  • RecommendedAction: "Sostituire un sensore di corrente nell'enclosure di archiviazione".

FaultType: Microsoft.Health.FaultType.StorageEnclosure.VoltageSensorError

  • Gravità: Avviso
  • Motivo: "Il sensore di tensione in posizione {posizione} dell'enclosure di archiviazione ha fallito".
  • RecommendedAction: "Sostituire un sensore di tensione nell'unità di archiviazione".

Tipo di guasto: Microsoft.Health.FaultType.StorageEnclosure.IoControllerError

  • Gravità: Avviso
  • Motivo: "Il controller di I/O nella posizione {position} del contenitore di archiviazione ha avuto un guasto."
  • RecommendedAction: "Sostituire un controller di I/O nel contenitore di archiviazione".

TipoDiGuasto: Microsoft.Health.TipoDiGuasto.StorageEnclosure.ErroreDelSensoreDiTemperatura

  • Gravità: Avviso
  • Motivo: "Il sensore di temperatura nella posizione {posizione} dell'unità di archiviazione ha subito un guasto".
  • RecommendedAction: "Sostituire un sensore di temperatura nell'alloggiamento di archiviazione".

Implementazione del firmware (3)

TipoDiGuasto: Microsoft.Health.FaultType.FaultDomain.FailedMaintenanceMode

  • Gravità: Avviso
  • Motivo: "Attualmente non è possibile eseguire progressi durante l'implementazione del firmware".
  • RecommendedAction: "Verificare che tutti gli spazi di archiviazione siano integri e che nessun dominio di errore sia attualmente in modalità di manutenzione".

TipoDiErrore: Microsoft.Health.FaultType.FaultDomain.FirmwareVerifyVersionFailed

  • Gravità: Avviso
  • Motivo: "L'implementazione del firmware è stata annullata a causa di informazioni sulla versione del firmware non leggibili o impreviste dopo l'applicazione di un aggiornamento del firmware".
  • RecommendedAction: "Riavviare l'implementazione del firmware una volta che il problema del firmware è stato risolto".

FaultType: Microsoft.Health.FaultType.FaultDomain.TroppiAggiornamentiNonRiusciti

  • Gravità: Avviso
  • Motivo: "L'implementazione del firmware è stata annullata a causa di troppi dischi fisici che non riescono a un tentativo di aggiornamento del firmware".
  • RecommendedAction: "Riavviare l'implementazione del firmware una volta che il problema del firmware è stato risolto".

QoS di archiviazione (3)2

TipoDiErrore: Microsoft.Health.FaultType.StorQos.InsufficientThroughput

  • Gravità: Avviso
  • Motivo: "La velocità effettiva di archiviazione non è sufficiente per soddisfare le riserve".
  • RecommendedAction: "Riconfigurare le politiche di QoS di archiviazione".

TipoGuasto: Microsoft.Health.FaultType.StorQos.LostCommunication

  • Gravità: Avviso
  • Motivo: "La gestione criteri QoS di archiviazione ha perso la comunicazione con il volume".
  • RecommendedAction: "Si prega di riavviare i nodi {nodes}"

TipoDiErrore: Microsoft.Health.FaultType.StorQos.MisconfiguredFlow

  • Gravità: Avviso
  • Motivo: "Uno o più consumatori di archiviazione (di solito macchine virtuali) stanno usando un criterio inesistente con ID {id}".
  • RecommendedAction: "Ricreare eventuali criteri QoS di archiviazione mancanti".

VM/VHD (7)

Tipo di errore: Microsoft.Health.FaultType.Vm.BadHealthState

  • Gravità: Avviso
  • Motivo: "Lo stato di integrità della macchina virtuale non è OK".
  • RecommendedAction: "Risolvere i problemi della macchina virtuale".

FaultType: Microsoft.Health.FaultType.Vm.BadOperationalStatus

  • Gravità: Avviso
  • Motivo: "Lo stato operativo della macchina virtuale non è OK".
  • RecommendedAction: "Risolvere i problemi della macchina virtuale".

TipoDiErrore: Microsoft.Health.FaultType.Vm.GuestUnhealthy

  • Gravità: Avviso
  • Motivo: "Il sistema operativo guest nella macchina virtuale segnala uno stato non integro".
  • Azione consigliata: "Risolvere i problemi della macchina virtuale".

Tipo di errore: Microsoft.Health.FaultType.Vm.ConfigIsOffline

  • Gravità: Avviso
  • Motivo: "La risorsa di configurazione della macchina virtuale è offline, ovvero non è possibile amministrare la macchina virtuale".
  • RecommendedAction: "Portare online la configurazione della macchina virtuale".

FaultType: Microsoft.Health.FaultType.Vm.NonRispondeAiCodiciDiControllo

  • Gravità: Avviso
  • Motivo: "La macchina virtuale non risponde ai codici di controllo del cluster".
  • RecommendedAction: "Controllare lo stato della risorsa cluster della macchina virtuale".

TipoErrore: Microsoft.Health.FaultType.Vm.IsNearMemoryLimit

  • Gravità: Avviso
  • Motivo: "La macchina virtuale richiede più memoria massima configurata".
  • RecommendedAction: "Verificare la presenza di processi o app che utilizzano troppo memoria o prendere in considerazione l'aumento della memoria massima".

FaultType: Microsoft.Health.FaultType.Vhd.IsNearlyFull (quasi pieno)

  • Gravità: Avviso
  • Motivo: "Il disco rigido virtuale ha raggiunto la sua capacità. Non è possibile scrivere altri dati, che potrebbero influire negativamente sulle macchine virtuali".
  • RecommendedAction: "Ridimensionare il disco rigido virtuale o eliminare file indesiderati".

1 Indica che il volume ha raggiunto 80% completo (gravità minore) o 90% completo (gravità maggiore). 2 Indica che alcuni file .vhd nel volume non hanno raggiunto il loro IOPS minimo per oltre 10% (minore), 30% (maggiore) o 50% (critico) su una finestra scorrevole di 24 ore.

Nota

L'integrità dei componenti dell'enclosure di archiviazione, come le ventole, gli alimentatori e i sensori, viene determinata dai servizi SES (SCSI Enclosure Services). Se il fornitore non specifica queste informazioni, il Servizio Sanitario non può visualizzarle.

Altri riferimenti