Lorsque votre ESXi se connecte à un périphérique de stockage, il peut rencontrer un problème de connectivité. Les problèmes de connectivité du stockage peuvent avoir diverses causes. Bien que ESXi ne puisse pas toujours détecter la raison pour laquelle un périphérique ou ses chemins sont indisponibles, l'hôte peut déterminer si le problème est permanent ou temporaire. En d'autres termes, l'hôte peut faire la différence entre un état PDL (perte permanente de périphérique) du périphérique et un état APD (tous chemins hors service) temporaire du stockage.

Perte permanente de périphérique (PDL)
Il s'agit d'une condition survenant quand un périphérique de stockage est défaillant de façon permanente ou est administrativement supprimé ou exclu. Il n'est pas censé devenir disponible. Lorsque le périphérique devient non disponible de façon permanente, ESXi reçoit des codes de détection appropriés ou un rejet de connexion des baies de stockage et peut reconnaître que le périphérique est définitivement perdu.
« Tous chemins hors service » (APD)
Il s'agit d'une condition survenant lorsqu'un périphérique de stockage devient inaccessible pour l'hôte et qu'aucun chemin vers le périphérique n'est disponible. ESXi traite ceci comme une condition passagère car les problèmes relatifs au périphérique rencontrés sont généralement temporaires et le périphérique est censé redevenir disponible.

Problèmes de connectivité et vSphere High Availability

Lorsque le périphérique entre dans l'État PDL ou APD, vSphere High Availability (HA) peut détecter des problèmes de connectivité et fournir une récupération automatisée pour les machines virtuelles concernées sur l'hôte ESXi. À l'aide de VM Component Protection (VMCP), vSphere HA protège les machines virtuelles s'exécutant sur l'hôte du cluster vSphere HA contre les défaillances d'accessibilité. Pour en savoir plus sur VMCP et sur la configuration des réponses pour les banques de données et les machines virtuelles lorsque l'état d'un périphérique devient APD ou PDL, reportez-vous à la documentation Disponibilité vSphere.

Détection des états PDL

Un périphérique de stockage est considéré comme en état de perte permanente de périphérique (PDL) lorsqu'il devient définitivement indisponible pour votre hôte ESXi.

Généralement, l'état PDL survient lorsqu'un périphérique est supprimé de façon non intentionnelle, que son identifiant unique est modifié ou quand le périphérique subit une erreur matérielle irrécupérable.

Lorsque la baie de stockage détermine que le périphérique est définitivement indisponible, il envoie des codes de détection d'erreur SCSI ou NVMe à l'hôte ESXi. Après avoir reçu ces erreurs, votre hôte reconnaît le périphérique comme défaillant et enregistre l'état du périphérique comme PDL. Pour que le périphérique soit considéré comme définitivement perdu, les codes de détection doivent être reçus sur tous ses chemins.

Après avoir enregistré l'état PDL du périphérique, l'hôte arrête ses tentatives de rétablissement de la connectivité ou l'envoi de commandes au périphérique.

vSphere Client affiche les informations suivantes relatives au périphérique :
  • L'état opérationnel du périphérique passe à Lost Communication.
  • Tous les chemins sont affichés comme Dead.
  • Les banques de données du périphérique ne sont pas disponibles.

Si aucune connexion ouverte n'existe pour le périphérique ou lorsque la dernière connexion se ferme, l'hôte supprime le périphérique PDL et tous les chemins vers ce périphérique. Vous pouvez désactiver la suppression automatique des chemins en définissant le paramètre avancé de l'hôte Disk.AutoremoveOnPDL sur 0.

Si le périphérique revient à l'état PDL, l'hôte peut le découvrir, mais il le traite comme un nouveau périphérique. La cohérence des données pour les machines virtuelles sur le périphérique récupéré n'est pas garantie.

Note : Lorsqu'un périphérique échoue sans envoyer les codes de détection SCSI appropriés ou les codes d'erreur NVMe, ou un rejet de connexion iSCSI, l'hôte ne peut pas détecter les conditions PDL. Dans ce cas, l'hôte continue à traiter les problèmes de connectivité comme APD, même lorsque le périphérique échoue en permanence.

Perte permanente de périphérique et codes de détection SCSI

L'exemple suivant de journal VMkernel d'un code de détection SCSI signale que le périphérique est dans un état PDL.
H:0x0 D:0x2 P:0x0 Valid sense data: 0x5 0x25 0x0 or Logical Unit Not Supported

Perte permanente de périphérique et codes d'erreur NVMe

L'exemple suivant de journal VMkernel d'un code d'erreur NVMe signale que le périphérique est dans l'état PDL.
H:0x0 D:0xb P:0x0 or H:0x0 D:0x11a P:0x0

Perte permanente de périphérique et iSCSI

Pour les baies iSCSI avec un seul LUN par cible, le PDL est détecté par l'échec de connexion iSCSI. Une baie de stockage iSCSI rejette les tentatives de démarrage d'une session iSCSI de votre hôte avec une justification Target Unavailable. Comme pour les codes de détection, cette réponse doit être reçue sur tous les chemins menant au périphérique pour que celui-ci soit considéré comme définitivement perdu.

Perte permanente de périphérique et machines virtuelles

Après avoir enregistré l'état PDL du périphérique, l'hôte ferme toutes les E/S des machines virtuelles. vSphere HA peut détecter les PDL et redémarrer les machines virtuelles défaillantes.

Effectuer un retrait de périphérique de stockage prévu

Lorsqu'un périphérique de stockage présente des signes de dysfonctionnement, vous pouvez éviter les risques de PDL (perte de périphérique permanente) ou d'APD (tous chemins hors service). Effectuez un retrait planifié et une reconnexion pour ce périphérique de stockage.

Un retrait de périphérique prévu est la déconnexion intentionnelle d'un périphérique de stockage. Le retrait planifié d'un périphérique peut avoir divers motifs : mettre à niveau votre matériel ou reconfigurer vos périphériques de stockage, par exemple. Pour retirer et reconnecter un périphérique de stockage dans les règles de l'art, vous devez effectuer plusieurs tâches.

Tâche Description
Migrez les machines virtuelles du périphérique que vous prévoyez de déconnecter. Gestion de vCenter Server et des hôtes
Démontez la banque de données déployée sur le périphérique. Reportez-vous à Démontage des banques de données.
Déconnectez le périphérique de stockage. Reportez-vous à Déconnexion des périphériques de stockage.
Pour un périphérique iSCSI avec un seul LUN par cible, supprimez la cible statique de chaque HBA iSCSI comportant un chemin vers le périphérique de stockage. Reportez-vous à Supprimer des cibles iSCSI dynamiques ou statiques.
Si nécessaire, reconfigurez le périphérique de stockage à l'aide de la console de baie. Consultez la documentation du fabricant.
Reconnectez le périphérique de stockage. Reportez-vous à Joindre des périphériques de stockage.
Montez la banque de données et redémarrez les machines virtuelles. Reportez-vous à Monter des banques de données.

Déconnexion des périphériques de stockage

Déconnectez en toute sécurité un périphérique de stockage de votre hôte ESXi.

Il se peut que vous deviez déconnecter le périphérique pour le rendre inaccessible à votre hôte, lorsque, par exemple, vous effectuez une mise à niveau du matériel côté stockage.

Conditions préalables

  • Le périphérique ne contient pas de banques de données.
  • Aucune machine virtuelle n'utilise le périphérique en tant que disque RDM.
  • Le périphérique ne contient pas de partition de diagnostic, ni de partition de travail.

Procédure

  1. Dans vSphere Client, accédez à l'hôte ESXi.
  2. Cliquez sur l'onglet Configurer.
  3. Sous Stockage, cliquez sur Périphériques de stockage.
  4. Sélectionnez le périphérique à déconnecter, puis cliquez sur l'icône Détacher.

Résultats

Le périphérique devient inaccessible. L'état opérationnel du périphérique devient Démonté.

Que faire ensuite

Si plusieurs hôtes partagent le périphérique, déconnectez le périphérique de chaque hôte.

Joindre des périphériques de stockage

Reconnectez un périphérique de stockage que vous avez précédemment déconnecté de l'hôte ESXi.

Procédure

  1. Dans vSphere Client, accédez à l'hôte ESXi.
  2. Cliquez sur l'onglet Configurer.
  3. Sous Stockage, cliquez sur Périphériques de stockage.
  4. Sélectionnez le périphérique de stockage déconnecté et cliquez sur l'icône Joindre.

Résultats

Le périphérique devient accessible.

Récupération à partir des états PDL

Une condition PDL (perte de périphérique permanente) non planifiée survient lorsqu'un périphérique de stockage devient indisponible de façon permanente sans avoir été détaché de façon adéquate de l'hôte ESXi.

Dans vSphere Client, les éléments suivants signalent que le périphérique est dans un état PDL :
  • La banque de données déployée est indisponible.
  • L'état opérationnel du périphérique passe à Lost Communication.
  • Tous les chemins sont affichés comme Dead.
  • Un avertissement concernant un périphérique inaccessible de façon permanente apparaît dans le fichier de journal VMkernel.

Pour récupérer de la condition PDL non planifiée et supprimer le périphérique indisponible de l'hôte, effectuez les tâches suivantes.

Tâche Description
Mettez hors tension et annulez l'enregistrement de toutes les machines virtuelles qui s'exécutent sur la banque de données affectée par la condition PDL. Reportez-vous à la section Administration d'une machine virtuelle vSphere.
Démontez la banque de données.

Reportez-vous à la section Démontage des banques de données.

Effectuez une nouvelle analyse de tous les hôtes ESXi ayant accès au périphérique.
Note : Si la nouvelle analyse est infructueuse et que l'hôte continue à répertorier le périphérique, il se peut que des E/S en attente ou des références actives existent encore. Recherchez tous les éléments qui peuvent encore avoir une référence active au périphérique ou à la banque de données. Ces éléments comprennent notamment des machines virtuelles, des modèles, des images ISO et des mappages de périphériques bruts.
Reportez-vous à la section Réanalyse du stockage.

Traitement des conditions APD passagères

Un périphérique de stockage est considéré comme en état APD lorsqu'il devient indisponible pour votre hôte ESXi pour une période de temps indéterminée.

Les causes d'un état APD peuvent être, par exemple, un commutateur défaillant ou un câble de stockage déconnecté.

Contrairement à l'état PDL, l'hôte traite l'état APD comme étant passager et s'attend à ce que le périphérique soit à nouveau disponible.

L'hôte continue à réessayer d'envoyer des commandes afin de rétablir la connectivité avec le périphérique. Si les commandes de l'hôte continuent à échouer pendant une période prolongée, l'hôte peut connaître des problèmes de performances. L'hôte et ses machines virtuelles peuvent éventuellement cesser de répondre.

Pour éviter ces problèmes, votre hôte utilise une fonction de traitement APD par défaut. Lorsqu'un périphérique passe à l'état APD, l'hôte active un minuteur. Si ce minuteur est actif, l'hôte continue à réessayer des commandes de machine non virtuelle pendant une période de temps limitée.

Par défaut, le délai d'expiration APD est défini sur 140 secondes. Cette valeur est généralement plus longue que le délai nécessaire pour la plupart des périphériques dans le but de récupérer d'une perte de connexion. Si le périphérique devient disponible durant ce laps de temps, l'hôte et sa machine virtuelle continuent de fonctionner sans aucun problème.

Si le périphérique ne récupère pas et que le délai d'attente prend fin, l'hôte cesse ses tentatives et stoppe toute E/S de machine non virtuelle. Les tentatives d'E/S de la machine virtuelle continuent. vSphere Client affiche les informations suivantes concernant le périphérique dont le délai d'attente APD a expiré :
  • L'état opérationnel du périphérique passe à Dead or Error.
  • Tous les chemins sont affichés comme Dead.
  • Les banques de données du périphérique sont grisées.

Même si le périphérique et les banques de données sont indisponibles, les machines virtuelles continuent de répondre. Vous pouvez mettre les machines virtuelles hors tension ou les déplacer vers une banque de données ou un hôte différent.

Si, par la suite, les chemins des périphériques deviennent opérationnels, l'hôte peut reprendre les E/S sur le périphérique et terminer le traitement APD spécial.

Désactiver le traitement APD de stockage

Le traitement du stockage Tous chemins hors service (All Paths Down, APD) est activé par défaut sur votre hôte ESXi. Lorsque cette fonctionnalité est activée et qu'un périphérique de stockage passe à l'état APD, l'hôte retente d'envoyer les commandes d'E/S de machine non virtuelle uniquement pendant une période limitée. Lorsque cette période expire, l'hôte arrête ses tentatives et met fin à toute E/S de machine non virtuelle. Vous pouvez alors désactiver la fonctionnalité de traitement APD de votre hôte.

Si vous désactivez le traitement APD, l'hôte retentera indéfiniment d'envoyer les commandes afin de se reconnecter au périphérique APD. Ce comportement peut amener les machines virtuelles de l'hôte à excéder leur délai d'attente E/S interne et ainsi à ne plus répondre ou à faire l'objet d'une défaillance. L'hôte peut se retrouver déconnecté de l'instance de vCenter Server.

Procédure

  1. Dans vSphere Client, accédez à l'hôte ESXi.
  2. Cliquez sur l'onglet Configurer.
  3. Sous Système, cliquez sur Paramètres système avancés.
  4. Dans le tableau Paramètres système avancés, sélectionnez le paramètre Misc.APDHandlingEnable et cliquez sur l'icône Edit.
  5. Modifiez la valeur sur 0.

Résultats

Si vous avez désactivé le traitement APD, vous pouvez le réactiver et définir sa valeur sur 1 lorsqu'un périphérique passe à l'état APD. La fonction interne de traitement APD se met immédiatement en marche et le minuteur démarre avec la valeur actuelle de délai d'attente pour chaque périphérique APD.

Changer les limites de délai pour l'APD de stockage

Le paramètre de délai d'attente contrôle le nombre de secondes pendant lesquelles l'hôte ESXi doit réessayer les commandes d'E/S vers un périphérique de stockage dans un état « Tous chemins hors service » (All paths down, APD). Vous pouvez modifier la valeur de délai d'attente par défaut.

Le délai d'attente démarre immédiatement après que le périphérique entre dans l'état APD. Après expiration, l'hôte marque le périphérique APD comme étant inaccessible. L'hôte arrête ses nouvelles tentatives d'E/S ne provenant pas de machines virtuelles. L'hôte continue à réessayer l'E/S de la machine virtuelle.

Par défaut, le paramètre de délai d'attente sur votre hôte est défini sur 140 secondes. Vous pouvez augmenter la valeur du délai d'attente si, par exemple, des périphériques de stockage connectés à votre hôte ESXi prennent plus de 140 secondes à récupérer d'une perte de connexion.

Note : Si vous modifiez le paramètre de délai d'attente au terme duquel le périphérique n'est plus disponible, la modification ne prend pas effet pour cet incident APD particulier.

Procédure

  1. Dans vSphere Client, accédez à l'hôte ESXi.
  2. Cliquez sur l'onglet Configurer.
  3. Sous Système, cliquez sur Paramètres système avancés.
  4. Dans le tableau Paramètres système avancés, sélectionnez le paramètre Misc.APDTimeout, puis cliquez sur l'icône Edit.
  5. Modifiez la valeur par défaut.
    Vous pouvez saisir une valeur comprise entre 20 et 99 999 secondes.

Vérifier l'état de la connexion d'un périphérique de stockage sur un hôte ESXi

Utilisez la commande esxcli pour vérifier l'état de la connexion d'un périphérique de stockage particulier.

Conditions préalables

Installez ESXCLI. Voir Démarrage avec ESXCLI. Pour le dépannage, exécutez des commandes esxcli dans ESXi Shell.

Procédure

  1. Exécutez la commande esxcli storage core device list -d=device_ID.
  2. Vérifiez l'état de la connexion dans la zone Status:.
    • on - Le périphérique est connecté.
    • dead - Le périphérique est passé à l'état APD. Le minuteur APD démarre.
    • dead timeout - Le délai d'attente APD a expiré.
    • not connected - Le périphérique est dans l'état PDL.