Erreurs du Service de contrôle d’intégrité
S'applique à : Windows Server 2016
Que sont les erreurs
Le service de contrôle d’intégrité surveille en permanence votre cluster d’espaces de stockage direct pour détecter d’éventuels problèmes et générer des « erreurs ». Une nouvelle applet de commande permet d’afficher toutes les erreurs actuelles, ce qui vous permet de facilement vérifier l’intégrité de votre déploiement sans examiner chaque entité ou fonctionnalité une par une. Les erreurs sont conçues pour être précises, faciles à comprendre et exploitables.
Chaque erreur contient cinq champs importants :
- Gravité
- Description du problème
- Étapes suivantes recommandées pour traiter le problème
- Informations d’identification de l’entité défaillante
- Son emplacement physique (si applicable)
Par exemple, voici une erreur type :
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
Remarque
L’emplacement physique est dérivé de la configuration de votre domaine d’erreur. Pour plus d’informations sur les domaines d’erreur, consultez Domaines d’erreur dans Windows Server 2016. Si vous ne fournissez pas ces informations, le champ d’emplacement s’avère moins utile, par exemple, il peut afficher uniquement le numéro d’emplacement.
Analyse de la cause racine
Le Service de contrôle d’intégrité peut évaluer la causalité potentielle parmi les entités défaillantes pour identifier et combiner des erreurs qui sont des conséquences du même problème sous-jacent. La reconnaissance d’un effet tel en chaîne permet d’écourter les rapports. Par exemple, si un serveur est en panne, on s’attend à ce que tous les disques du serveur soient privés de connectivité. Par conséquent, une seule erreur sera déclenchée pour la cause racine, dans ce cas, le serveur.
Utilisation dans PowerShell
Pour afficher les erreurs en cours dans PowerShell, exécutez cette cmdlet :
Get-StorageSubSystem Cluster* | Debug-StorageSubSystem
Celle-ci renvoie toutes les erreurs qui affectent le cluster d’espaces de stockage direct global. Le plus souvent, ces erreurs sont liées au matériel ou à la configuration. S’il n’y a aucune erreur, cette applet de commande ne renvoie rien.
Remarque
Dans un environnement de non-production et à vos propres risques, vous pouvez expérimenter cette fonctionnalité en déclenchant des erreurs vous-même (par exemple, en retirant un disque physique ou en arrêtant un nœud). Une fois que l’erreur apparaît, réinsérez le disque physique ou redémarrez le nœud pour voir l’erreur disparaître à nouveau.
Vous pouvez également afficher les erreurs qui affectent uniquement des volumes ou partages de fichiers spécifiques avec les applets de commande suivantes :
Get-Volume -FileSystemLabel <Label> | Debug-Volume
Get-FileShare -Name <Name> | Debug-FileShare
Celle-ci renvoie toutes les erreurs qui affectent uniquement le volume ou partage de fichiers spécifique. Le plus souvent, ces erreurs sont liées à la planification de capacité, à la résilience des données ou à des fonctionnalités telles que la qualité de service de stockage ou le réplica de stockage.
Utilisation dans .NET et C#
Se connecter
Pour interroger le Service de contrôle d’intégrité, vous devez établir une CimSession avec le cluster. Pour ce faire, vous aurez besoin de certains éléments qui ne sont disponibles que dans ’la version complète de .NET, ce qui signifie que vous ne pouvez pas effectuer cette opération directement à partir d’une application web ou mobile. Les exemples de code utilisent C#, le choix le plus simple pour cette couche d’accès aux données.
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;
}
Le nom d’utilisateur fourni doit être un administrateur local de l’ordinateur cible.
Il est recommandé de créer le mot de passe SecureString directement à partir d’une entrée utilisateur en temps réel, afin que son mot de passe ne soit jamais stocké en mémoire en texte clair. Cela permet d’atténuer un grand nombre de problèmes de sécurité. Toutefois, dans la pratique, il est courant de les construire comme indiqué ci-dessus à des fins de prototypage.
Détecter les objets
Une fois la CimSession établie, vous pouvez interroger Windows Management Instrumentation (WMI) sur le cluster.
Avant de pouvoir récupérer des erreurs ou des métriques, vous devez récupérer les instances de plusieurs objets pertinents. Tout d’abord, le MSFT_StorageSubSystem qui représente des espaces de stockage direct sur le cluster. Grâce à cela, vous pouvez récupérer chaque MSFT_StorageNode dans le cluster et chaque MSFT_Volume, les volumes de données. Enfin, vous aurez besoin du MSFT_StorageHealth, le service d’intégrité lui-même.
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();
}
Ce sont les mêmes objets que ceux que vous recevez dans PowerShell avec des cmdlets, telles que Get-StorageSubSystem, Get-StorageNode et Get-Volume.
Vous pouvez accéder aux mêmes propriétés, documentées dans Classes d’API de gestion de stockage.
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());
}
Erreurs de requête
Appelez Diagnose pour récupérer les erreurs actuelles étendues à la cible CimInstance, qui peut être le cluster ou n’importe quel volume.
La liste complète des erreurs disponibles à chaque étendue dans Windows Server 2016 est décrite ci-dessous.
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!
}
}
}
Facultatif : classe MyFault
Il peut être judicieux pour vous de construire et de conserver votre propre représentation des erreurs. Par exemple, la classe MyFault stocke plusieurs propriétés clés des erreurs, y compris FaultId, qui peuvent être utilisées ultérieurement pour associer des mises à jour, supprimer des notifications ou dédupliquer dans le cas où la même erreur est détectée plusieurs fois pour une raison quelconque.
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));
}
La liste complète des propriétés de chaque erreur (DiagnoseResult) est documentée ci-dessous.
Événements d’erreur
Lorsque des erreurs sont créées, supprimées ou mises à jour, le Service de contrôle d’intégrité génère des événements WMI. Ils sont essentiels pour assurer la synchronisation de l’état de votre application sans interrogation fréquente. Elles peuvent également vous aider à déterminer quand envoyer des alertes par e-mail, par exemple. Pour s’abonner à ces événements, l’exemple de code suivant utilise à nouveau le modèle de conception observateur.
Tout d’abord, abonnez-vous aux événements 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);
}
Implémentez ensuite un observateur dont la méthode OnNext() est appelée chaque fois qu’un nouvel événement est généré.
Chaque événement contient un ChangeType qui indique si une erreur est créée, supprimée ou mise à jour, ainsi que le FaultId approprié.
En outre, ils contiennent toutes les propriétés de l’erreur elle-même.
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
}
}
Comprendre le cycle de vie des erreurs
Les erreurs ne sont pas censées être marquées comme étant « visibles » ou résolues par l’utilisateur. Elles sont créées lorsque le Service de contrôle d’intégrité remarque un problème et elles sont supprimées automatiquement une fois qu’il ne voit plus le problème. En général, cela indique que le problème a été résolu.
Toutefois, dans certains cas, le Service de contrôle d’intégrité peut redécouvrir des erreurs (par exemple après un basculement, une connectivité intermittente, etc.). Pour cette raison, il peut être judicieux de conserver votre propre représentation des erreurs, afin que vous puissiez facilement les dédupliquer. Cela est particulièrement important si vous envoyez des alertes par e-mail ou équivalent.
Propriétés des erreurs
Ce tableau présente plusieurs propriétés clés de l’objet d’erreur. Pour le schéma complet, inspectez la classe MSFT_StorageDiagnoseResult dans storagewmi.mof.
Propriété | Exemple |
---|---|
FaultId | {12345-12345-12345-12345-12345} |
FaultType | Microsoft.Health.FaultType.Volume.Capacity |
Motif | « Le volume manque d'espace disponible ». |
PerceivedSeverity | 5 |
FaultingObjectDescription | Contoso XYZ9000 S.N. 123456789 |
FaultingObjectLocation | Rack A06, RU 25, emplacement 11 |
RecommendedActions | {« Développez le volume », « Migrez les charges de travail vers d'autres volumes ».} |
FaultId : unique dans l’étendue d’un cluster.
PerceivedSeverity : PerceivedSeverity = {4, 5, 6} = {« informatif », « avertissement » et « erreur »}, ou des couleurs équivalentes, telles que le bleu, le jaune et le rouge.
FaultingObjectDescription : informations de référence sur le matériel, généralement vide pour les objets logiciels.
FaultingObjectLocation : informations d’emplacement sur le matériel, généralement vide pour les objets logiciels.
RecommendedActions : liste des actions recommandées qui sont indépendantes et dans aucun ordre particulier. Aujourd’hui, cette liste est souvent de longueur 1.
Propriétés des événements d’erreur
Ce tableau présente plusieurs propriétés clés de l’événement d’erreur. Pour le schéma complet, inspectez la classe MSFT_StorageFaultEvent dans storagewmi.mof.
Notez le ChangeType qui indique si une erreur est créée, supprimée ou mise à jour, ainsi que le FaultId. Un événement contient également toutes les propriétés de l’erreur affectée.
Propriété | Exemple |
---|---|
ChangeType | 0 |
FaultId | {12345-12345-12345-12345-12345} |
FaultType | Microsoft.Health.FaultType.Volume.Capacity |
Motif | « Le volume manque d'espace disponible ». |
PerceivedSeverity | 5 |
FaultingObjectDescription | Contoso XYZ9000 S.N. 123456789 |
FaultingObjectLocation | Rack A06, RU 25, emplacement 11 |
RecommendedActions | {« Développez le volume », « Migrez les charges de travail vers d'autres volumes ».} |
ChangeType ChangeType = {0, 1, 2} = { « Créer », « Supprimer », « Mettre à jour » }.
Couverture
Dans Windows Server 2016, le service de contrôle d’intégrité assure la couverture des erreurs suivantes :
PhysicalDisk (8)
FaultType : Microsoft.Health.FaultType.PhysicalDisk.FailedMedia
- Gravité : avertissement
- Raison : « Le disque physique a échoué ».
- RecommendedAction : « Remplacez le disque physique ».
FaultType : Microsoft.Health.FaultType.PhysicalDisk.LostCommunication
- Gravité : avertissement
- Raison : « La connectivité au disque physique a été perdue ».
- RecommendedAction : « Vérifiez que le disque physique fonctionne et qu'il est correctement connecté ».
FaultType : Microsoft.Health.FaultType.PhysicalDisk.Unresponsive
- Gravité : avertissement
- Raison : « Le disque physique présente une inactivité récurrente ».
- RecommendedAction : « Remplacez le disque physique ».
FaultType : Microsoft.Health.FaultType.PhysicalDisk.PredictiveFailure
- Gravité : avertissement
- Raison : « Une défaillance du disque physique est censée se produire bientôt ».
- RecommendedAction : « Remplacez le disque physique ».
FaultType : Microsoft.Health.FaultType.PhysicalDisk.UnsupportedHardware
- Gravité : avertissement
- Raison : « Le disque physique est mis en quarantaine, car il n’est pas pris en charge par votre fournisseur de solutions ».
- RecommendedAction : « Remplacez le disque physique ».
FaultType : Microsoft.Health.FaultType.PhysicalDisk.UnsupportedFirmware
- Gravité : avertissement
- Raison : « Le disque physique est en quarantaine, car la version de son microprogramme n’est pas prise en charge par le fournisseur de votre solution ».
- RecommendedAction : « Mettez à jour le microprogramme sur le disque physique avec la version cible ».
FaultType : Microsoft.Health.FaultType.PhysicalDisk.UnrecognizedMetadata
- Gravité : avertissement
- Raison : « Le disque physique contient des métadonnées non reconnues ».
- RecommendedAction : « Ce disque peut contenir des données d’un pool de stockage inconnu. Tout d’abord, assurez-vous qu’il n’existe aucune donnée utile sur ce disque, puis réinitialisez le disque ».
FaultType : Microsoft.Health.FaultType.PhysicalDisk.FailedFirmwareUpdate
- Gravité : avertissement
- Raison : « Échec de la tentative de mise à jour du microprogramme sur le disque physique ».
- RecommendedAction : « Essayez d’utiliser un autre binaire de microprogramme ».
Disque virtuel (2)
FaultType : Microsoft.Health.FaultType.VirtualDisks.NeedsRepair
- Gravité : Informatif
- Raison : « Certaines données de ce volume ne sont pas complètement résilientes. Elles restent accessibles ».
- RecommendedAction : « Restauration de la résilience des données ».
FaultType : Microsoft.Health.FaultType.VirtualDisks.Detached
- Gravité : Critique
- Raison : « Le volume est inaccessible. Certaines données peuvent être perdues ».
- RecommendedAction : « Vérifiez la connectivité physique et/ou réseau de tous les périphériques de stockage. Vous devrez peut-être effectuer une restauration à partir d’une sauvegarde ».
Capacité du pool (1)
FaultType : Microsoft.Health.FaultType.StoragePool.InsufficientReserveCapacityFault
- Gravité : avertissement
- Raison : « Le pool de stockage n’a pas la capacité de réserve minimale recommandée. Cela peut limiter votre capacité à restaurer la résilience des données en cas de défaillance de lecteur. »
- RecommendedAction : « Ajoutez une capacité supplémentaire au pool de stockage ou libérez de la capacité. La réserve minimale recommandée varie selon le déploiement, mais représente environ 2 disques de capacité. »
Capacité du volume (2)1
FaultType : Microsoft.Health.FaultType.Volume.Capacity
- Gravité : avertissement
- Raison : « Le volume manque d'espace disponible ».
- RecommendedAction : « Développez le volume ou migrez les charges de travail vers d'autres volumes ».
FaultType : Microsoft.Health.FaultType.Volume.Capacity
- Gravité : Critique
- Raison : « Le volume manque d'espace disponible ».
- RecommendedAction : « Développez le volume ou migrez les charges de travail vers d'autres volumes ».
Serveur (3)
FaultType : Microsoft.Health.FaultType.Server.Down
- Gravité : Critique
- Raison : « Le serveur n’est pas accessible .»
- RecommendedAction : « Démarrez ou remplacez le serveur ».
FaultType : Microsoft.Health.FaultType.Server.Isolated
- Gravité : Critique
- Raison : « Le serveur est isolé du cluster en raison de problèmes de connectivité ».
- RecommendedAction « Si l'isolation persiste, vérifiez le ou les réseaux, ou migrez les charges de travail vers d'autres nœuds ».
FaultType : Microsoft.Health.FaultType.Server.Quarantined
- Gravité : Critique
- Raison : « Le serveur est mis en quarantaine par le cluster en raison d’échecs récurrents ».
- RecommendedAction : « Remplacez le serveur ou corrigez le réseau ».
Cluster (1)
FaultType : Microsoft.Health.FaultType.ClusterQuorumWitness.Error
- Gravité : Critique
- Raison : « Le cluster tombera en panne si le serveur tombe en panne ».
- RecommendedAction : « Vérifiez la ressource témoin, puis redémarrez si nécessaire. Démarrez ou remplacez les serveurs défaillants ».
Carte réseau/interface (4)
FaultType : Microsoft.Health.FaultType.NetworkAdapter.Disconnected
- Gravité : avertissement
- Raison : « L’interface réseau a été déconnectée ».
- RecommendedAction : « Reconnectez le câble réseau ».
FaultType : Microsoft.Health.FaultType.NetworkInterface.Missing
- Gravité : avertissement
- Raison : « Le serveur {server} n’a pas de carte réseau connectée au réseau de cluster {cluster network} ».
- RecommendedAction : « Connectez le serveur au réseau de cluster manquant ».
FaultType : Microsoft.Health.FaultType.NetworkAdapter.Hardware
- Gravité : avertissement
- Raison : « L’interface réseau a rencontré une défaillance matérielle ».
- RecommendedAction : « Remplacez la carte d’interface réseau ».
FaultType : Microsoft.Health.FaultType.NetworkAdapter.Disabled
- Gravité : avertissement
- Raison : « L’interface réseau {network interface} n’est pas activée et n’est pas utilisée ».
- RecommendedAction : « Activez l’interface réseau ».
Boîtier (6)
FaultType : Microsoft.Health.FaultType.StorageEnclosure.LostCommunication
- Gravité : avertissement
- Raison : « La communication a été perdue dans le boîtier de stockage ».
- RecommendedAction : « Démarrez ou remplacez le boîtier de stockage ».
FaultType : Microsoft.Health.FaultType.StorageEnclosure.FanError
- Gravité : avertissement
- Raison : « Le ventilateur à la position {position} du boîtier de stockage est en panne ».
- RecommendedAction : « Remplacez le boîtier de stockage ».
FaultType : Microsoft.Health.FaultType.StorageEnclosure.CurrentSensorError
- Gravité : avertissement
- Raison : « Le capteur actuel à la position {position} du boîtier de stockage est en panne ».
- RecommendedAction : « Remplacez le capteur actuel dans le boîtier de stockage ».
FaultType : Microsoft.Health.FaultType.StorageEnclosure.VoltageSensorError
- Gravité : avertissement
- Raison : « Le capteur de tension à la position {position} du boîtier de stockage est en panne ».
- RecommendedAction : « Remplacez le capteur de tension dans le boîtier de stockage ».
FaultType : Microsoft.Health.FaultType.StorageEnclosure.IoControllerError
- Gravité : avertissement
- Raison : « Le contrôleur d’E/S à la position {position} du boîtier de stockage est en panne ».
- RecommendedAction : « Remplacez le contrôleur d’E/S dans le boîtier de stockage ».
FaultType : Microsoft.Health.FaultType.StorageEnclosure.TemperatureSensorError
- Gravité : avertissement
- Raison : « Le capteur de température à la position {position} du boîtier de stockage est en panne ».
- RecommendedAction : « Remplacez le capteur de tension dans le boîtier de stockage ».
Déploiement du microprogramme (3)
FaultType : Microsoft.Health.FaultType.FaultDomain.FailedMaintenanceMode
- Gravité : avertissement
- Raison : « Impossible d’effectuer l’opération en cours lors du déploiement du microprogramme ».
- RecommendedAction : « Vérifiez que tous les espaces de stockage sont sains et qu'aucun domaine d'erreur n'est actuellement en mode maintenance ».
FaultType : Microsoft.Health.FaultType.FaultDomain.FirmwareVerifyVersionFaile
- Gravité : avertissement
- Raison : « Le déploiement du microprogramme a été annulé en raison d’informations de version du microprogramme illisibles ou inaccessibles après l’application d’une mise à jour du microprogramme ».
- RecommendedAction : « Redémarrez le déploiement du microprogramme une fois que le problème du microprogramme a été résolu ».
FaultType : Microsoft.Health.FaultType.FaultDomain.TooManyFailedUpdates
- Gravité : avertissement
- Raison : « Le déploiement du microprogramme a été annulé en raison d’un trop grand nombre de disques physiques ayant échoué lors d’une tentative de mise à jour du microprogramme ».
- RecommendedAction : « Redémarrez le déploiement du microprogramme une fois que le problème du microprogramme a été résolu ».
Qualité de service de stockage (3)2
FaultType : Microsoft.Health.FaultType.StorQos.InsufficientThroughput
- Gravité : avertissement
- Raison : « Le débit de stockage est insuffisant pour satisfaire les réserves ».
- RecommendedAction : « Reconfigurez les stratégies de qualité de service de stockage ».
FaultType : Microsoft.Health.FaultType.StorQos.LostCommunication
- Gravité : avertissement
- Raison : « Le gestionnaire de stratégie de qualité de service de stockage a perdu la communication avec le volume ».
- RecommendedAction : « Veuillez redémarrer les nœuds {nodes} »
FaultType : Microsoft.Health.FaultType.StorQos.MisconfiguredFlow
- Gravité : avertissement
- Raison : « Un ou plusieurs consommateurs de stockage (généralement des machines virtuelles) utilisent une stratégie inexistante avec l’ID {id} ».
- RecommendedAction : « Recréez toutes les stratégies de qualité de service de stockage manquantes ».
1 Indique que le volume a atteint un remplissage à 80 % (gravité mineure) ou à 90 % (gravité majeure). 2 Indique que certains fichiers .vhd sur le volume n’ont pas atteint leurs E/S par seconde minimales de plus de 10 % (mineur), 30 % (majeur) ou 50 % (critique) de la fenêtre de 24 heures.
Remarque
L’intégrité des composants du boîtier de stockage tels que les ventilateurs, blocs d’alimentations et capteurs est dérivée des services de boîtier SCSI. Si votre fournisseur ne fournit pas ces informations, le service de contrôle d’intégrité ne peut pas les afficher.