Condividi tramite


Errori servizio integrità

Si applica a: Windows Server 2016

Che cosa sono gli errori?

Servizio integrità controlla costantemente il cluster di Spazi di archiviazione diretta per rilevare i problemi e generare "errori". Un nuovo cmdlet visualizza tutti gli errori correnti, consentendo la verifica dell'integrità della distribuzione senza esaminare ogni singola 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 per l'entità con errori
  • 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 maggiori informazioni sui domini di errore, consultare la sezione Domini di errore in Windows Server 2016. Se non si specifica questa informazione, il campo della posizione sarà meno utile, ad esempio potrebbe visualizzare solo il numero di slot.

Analisi della causa radice

Il servizio Integrità può valutare la causalità potenziale tra le entità di errore per identificare e combinare gli errori causati dallo stesso problema sottostante. Riconoscendo gli effetti concatenati, è possibile generare report più concisi. Ad esempio, se un server è inattivo, è previsto che tutte le unità all'interno del server non siano in connettività. Di conseguenza, verrà generato un solo errore relativo alla causa principale; in questo caso, il server.

Uso in PowerShell

Per visualizzare gli errori correnti in PowerShell eseguire questo cmdlet:

Get-StorageSubSystem Cluster* | Debug-StorageSubSystem

In questo modo vengono restituiti tutti gli errori relativi all’intero cluster di Spazi di archiviazione diretta. In genere, questi errori riguardano l'hardware o la configurazione. Se non vengono rilevati errori, il cmdlet non restituirà alcun valore.

Nota

In un ambiente non di produzione e a proprio rischio, è possibile sperimentare questa funzionalità generando errori manualmente, ad esempio mediante la rimozione di un disco fisico o l’arresto di un nodo. Quando viene visualizzato l'errore, reinserire il disco fisico oppure riavviare il nodo e l'errore non verrà più visualizzato.

È anche possibile visualizzare gli errori che interessano solo condivisioni di file o volumi specifici con i cmdlet seguenti:

Get-Volume -FileSystemLabel <Label> | Debug-Volume

Get-FileShare -Name <Name> | Debug-FileShare

In questo modo, vengono restituiti tutti gli errori che interessano solo la condivisione di file o il volume specifici. In genere, questi errori riguardano la pianificazione della capacità, la resilienza dei dati o funzionalità come QoS di archiviazione o la Replica di archiviazione.

Utilizzo in .NET e C#

Connessione

Per eseguire una query sulla Servizio integrità, è necessario stabilire una CimSession con il cluster. A tale scopo, sono necessarie alcune operazioni disponibili solo in .NET completo, ovvero non è possibile eseguire questa operazione direttamente da un'app Web o per dispositivi mobili. Questi esempi di codice useranno 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, quindi la password non viene 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 eseguire query su Strumentazione gestione Windows (WMI) nel cluster.

Prima di ottenere errori o metriche, è necessario ottenere istanze di diversi oggetti pertinenti. In primo luogo, il MSFT_StorageSubSystem che rappresenta Spazi di archiviazione diretta nel cluster. A tale scopo, è possibile ottenere ogni MSFT_StorageNode nel cluster e ogni MSFT_Volume nei volumi di dati. Infine, sarà necessario il MSFT_StorageHealth e il Servizio 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 di query

Richiamare Diagnosi per ottenere eventuali errori correnti con ambito CimInstance di destinazione, ovvero il cluster o qualsiasi volume.

L'elenco completo degli errori disponibili in ogni ambito in Windows Server 2016 è documentato di seguito.

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 utile costruire e rendere persistente la propria rappresentazione degli errori. Ad esempio, questa classe MyFault archivia diverse proprietà chiave degli errori, tra cui FaultId, che possono essere usate in un secondo momento per associare notifiche di aggiornamento o rimozione o per deduplicare nel caso in cui lo stesso errore venga rilevato più volte, per qualsiasi motivo.

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 di seguito.

Eventi di errore

Quando vengono creati, rimossi o aggiornati errori, il Servizio 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, questo codice di esempio usa di nuovo il modello di progettazione Observer.

Prima di tutto, sottoscrivere gli 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 il metodo OnNext() verrà richiamato ogni volta che viene generato un nuovo evento.

Ogni evento contiene ChangeType che indica se viene creato, rimosso o aggiornato un errore e l'Id Errore pertinente.

Inoltre, contengono 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 e solo quando 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 integrità (ad esempio dopo il failover o a causa di connettività intermittente e così via). Per questo motivo, può essere opportuno rendere persistente la propria rappresentazione degli errori, in modo da poter facilmente deduplicare. Ciò è particolarmente importante se si inviano avvisi di posta elettronica o equivalenti.

Proprietà degli errori

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

Proprietà Esempio
FaultId {12345-12345-12345-12345-12345}
FaultType Microsoft.Health.FaultType.Volume.Capacity
Motivo "Il volume sta esaurendo lo spazio disponibile."
PerceivedSeverity 5
FaultingObjectDescription Contoso XYZ9000 S.N. 123456789
FaultingObjectLocation Rack A06, UR 25, Slot 11
RecommendedActions {"Expand the volume.", "Migrate workloads to other volumes."}

FaultId Univoco nell'ambito di un cluster.

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

FaultingObjectDescription Informazioni sulla parte 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 in nessun ordine specifico. Oggi, questo elenco è spesso di lunghezza 1.

Proprietà degli eventi di errore

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

Si notino 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
ChangeType 0
FaultId {12345-12345-12345-12345-12345}
FaultType Microsoft.Health.FaultType.Volume.Capacity
Motivo "Il volume sta esaurendo lo spazio disponibile."
PerceivedSeverity 5
FaultingObjectDescription Contoso XYZ9000 S.N. 123456789
FaultingObjectLocation Rack A06, UR 25, Slot 11
RecommendedActions {"Expand the volume.", "Migrate workloads to other volumes."}

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

Copertura

In Windows Server 2016, il servizio Integrità rileva i tipi di errore seguenti:

PhysicalDisk (8)

FaultType: Microsoft.Health.FaultType.PhysicalDisk.FailedMedia

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

FaultType: Microsoft.Health.FaultType.PhysicalDisk.LostCommunication

  • Gravità: Avviso
  • Motivo: "Connettività a un disco fisico persa."
  • RecommendedAction: "Verificare che il disco fisico funzioni e sia connesso correttamente".

FaultType: Microsoft.Health.FaultType.PhysicalDisk.Unresponsive

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

FaultType: Microsoft.Health.FaultType.PhysicalDisk.PredictiveFailure

  • Gravità: Avviso
  • Motivo: "Si verificherà presto un errore del disco fisico."
  • RecommendedAction: "Sostituire disco fisico".

FaultType: Microsoft.Health.FaultType.PhysicalDisk.UnsupportedHardware

  • 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: Microsoft.Health.FaultType.PhysicalDisk.UnsupportedFirmware

  • 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.UnrecognizedMetadata

  • 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.PhysicalDisk.FailedFirmwareUpdate

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

Disco virtuale (2)

FaultType: Microsoft.Health.FaultType.VirtualDisks.NeedsRepair

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

FaultType: 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."

Capacità del pool (1)

FaultType: Microsoft.Health.FaultType.StoragePool.InsufficientReserveCapacityFault

  • Gravità: Avviso
  • Motivo: "Il pool di archiviazione non ha la capacità di riserva minima consigliata. Ciò può limitare la capacità di ripristinare la resilienza dei dati in caso di errori di unità".
  • RecommendedAction: "Aggiungere capacità aggiuntiva al pool di archiviazione o liberare capacità. La riserva minima consigliata varia in base alla distribuzione, ma è circa 2 unità di capacità".

Capacità volume (2)1

FaultType: Microsoft.Health.FaultType.Volume.Capacity

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

FaultType: Microsoft.Health.FaultType.Volume.Capacity

  • Gravità: Critica
  • Motivo: "Il volume sta esaurendo lo spazio disponibile".
  • RecommendedAction: "Espandere il volume o eseguire la migrazione dei carichi di lavoro ad altri volumi".

Server (3)

FaultType: Microsoft.Health.FaultType.Server.Down

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

FaultType: Microsoft.Health.FaultType.Server.Isolated

  • 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

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

Cluster (1)

FaultType: Microsoft.Health.FaultType.ClusterQuorumWitness.Error

  • Gravità: Critica
  • Motivo: "Il cluster è un errore del server che non si arresta".
  • RecommendedAction: "Controllare la risorsa di controllo del mirroring e riavviare in base alle esigenze. Avviare o sostituire i server non riusciti."

Scheda di rete/interfaccia (4)

FaultType: Microsoft.Health.FaultType.NetworkAdapter.Disconnected

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

FaultType: Microsoft.Health.FaultType.NetworkInterface.Missing

  • Gravità: Avviso
  • Motivo: "Il server {server} ha adattatori di rete mancanti collegati alla rete cluster {rete cluster}".
  • RecommendedAction: "Connessione il server alla rete cluster mancante".

FaultType: Microsoft.Health.FaultType.NetworkAdapter.Hardware

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

FaultType: 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".

Contenitore (6)

FaultType: Microsoft.Health.FaultType.StorageEnclosure.LostCommunication

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

FaultType: Microsoft.Health.FaultType.StorageEnclosure.FanError

  • Gravità: Avviso
  • Motivo: "La ventola in corrispondenza della posizione {position} del contenitore di archiviazione non è riuscita".
  • RecommendedAction: "Sostituire la ventola nel contenitore di archiviazione".

FaultType: Microsoft.Health.FaultType.StorageEnclosure.CurrentSensorError

  • Gravità: Avviso
  • Motivo: "Il sensore corrente in corrispondenza della posizione {posizione} del contenitore di archiviazione non è riuscita".
  • RecommendedAction: "Sostituire un sensore corrente nel contenitore di archiviazione".

FaultType: Microsoft.Health.FaultType.StorageEnclosure.VoltageSensorError

  • Gravità: Avviso
  • Motivo: "Il sensore di tensione in corrispondenza della posizione {posizione} del contenitore di archiviazione non è riuscita".
  • RecommendedAction: "Sostituire un sensore di tensione nel contenitore di archiviazione".

FaultType: Microsoft.Health.FaultType.StorageEnclosure.IoControllerError

  • Gravità: Avviso
  • Motivo: "Il controller IO in corrispondenza della posizione {posizione} del contenitore di archiviazione non è riuscita".
  • RecommendedAction: "Sostituire un controller di I/O nel contenitore di archiviazione".

FaultType: Microsoft.Health.FaultType.StorageEnclosure.TemperatureSensorError

  • Gravità: Avviso
  • Motivo: "Il sensore di temperatura in corrispondenza della posizione {posizione} del contenitore di archiviazione non è riuscita".
  • RecommendedAction: "Sostituire un sensore di temperatura nel contenitore di archiviazione".

Implementazione del firmware (3)

FaultType: 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".

FaultType: Microsoft.Health.FaultType.FaultDomain.FirmwareVerifyVersionFaile

  • 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 dopo la risoluzione del problema del firmware".

FaultType: Microsoft.Health.FaultType.FaultDomain.TooManyFailedUpdates

  • 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 dopo la risoluzione del problema del firmware".

QoS di archiviazione (3)2

FaultType: Microsoft.Health.FaultType.StorQos.InsufficientThroughput

  • Gravità: Avviso
  • Motivo: "Archiviazione velocità effettiva non è sufficiente per soddisfare le riserve".
  • RecommendedAction: "Riconfigurare Archiviazione criteri QoS".

FaultType: Microsoft.Health.FaultType.StorQos.LostCommunication

  • Gravità: Avviso
  • Motivo: "Il gestore dei criteri QoS Archiviazione ha perso la comunicazione con il volume".
  • RecommendedAction: "Riavviare i nodi {nodi}"

FaultType: Microsoft.Health.FaultType.StorQos.MisconfiguredFlow

  • Gravità: Avviso
  • Motivo: "Uno o più consumer di archiviazione (in genere Macchine virtuali) usano un criterio inesistente con ID {id}".
  • RecommendedAction: "Ricreare eventuali criteri QoS mancanti Archiviazione".

1 Indica che la capacità del volume viene usata all’80% (gravità minore) o al 90% (gravità maggiore). 2 Indica che il numero minimo di IOPS per alcune unità con formato vhd sul volume non sono stati soddisfatti per il 10% (minore), il 30% (maggiore) o il 50% (critico) dell'intervallo di 24 ore in sequenza.

Nota

L'integrità dei componenti dell’alloggiamento di archiviazione, ad esempio ventole, alimentatori e sensori deriva da servizi SES (SCSI Enclosure Services). Se il fornitore non specifica queste informazioni, Servizio integrità non può visualizzarlo.

Riferimenti aggiuntivi