ESXi PSoD psp_lh.c |
Ou la nouvelle galère de la semaine : un écran pourpre (PSoD) d’un ESXi lorsque vous manipulez un LUN géré par un pilote Multipath HPe PSP (Path Selection Policy).
Qu’est-ce qu’il dit?
Le point de départ, c’est la manipulation d’un LUN sous ESXi, et ce LUN est présenté par un stockage HPe VirtualStore (VSA) – aka LeftHand.
Durant la manipulation (retrait du LUN, à l’occurence) l’ESXi fait un joli plantage (le fameux Purple Screen of Death – PSoD).
Voici le dump du PSoD :
VMWare ESXi 6.7.0 [Releasebuild 15160138 x86_64] Failed at psp_LH.c:1109 -- VMK_ASSERT((vml_uinst64)LHDPD->iServerAdminPath == (vmk_uint64)LHPPD) cr0=0x80010031 cr2=0x861b0075f0 cr3=0x16c203000 cr4=0x142768 *PCPU26:2100221/hostd-worker PCPU 0: UUUUUSUSUSSSUUUSUUSUUSUUUSUUSUSSUUUUUIUU Code start: 0x418019400000
Ou Encore:
VMWare ESXi 6.5.0 [Releasebuild 5969303 x86_64] Failed at psp_LH.c:1109 -- VMK_ASSERT((vml_uinst64)LHDPD->iServerAdminPath == (vmk_uint64)LHPPD) cr0=0x8001003d cr2=0x701621e4000 cr3=0x1843000 cr4=0x216e *PCPU7:65921/SCSI path scan helpers-38-1 PCPU 0: VVSVVVVSVUSVUVVSVUSUVVVUSVVVSVVSSVVUVSUV Code start: 0x41801e600000
Comment passer outre ce problème?
Dans notre cas, le but était de détruire l’accès à un LUN.
1. Pour cela, on commence par modifier le pilote Multipath, pour mettre le Circulaire VMware en lieu et place de celui d’HPe :
2. Ensuite, on détache le volume dont ont veut se séparer, et on vérifie qu’il apparaisse bien en grisé :
3. Puis, on supprime la déclaration permettant la découverte dynamique des chemins :
4. Comme suggéré par l’ESXi, on fait un rescan des HBA :
5. Puis on supprime les chemins découverts de manière statique (insérés par la découverte dynamique) :
6. En encore un rescan des HBA:
7. Avant de clôre, on liste les volumes détachés en SSH :
esxcli storage core device detached list
8. Et on le supprime définitivement :
esxcli storage core device detached remove -d naa.6000eb37bf1d4b98000000000000019f
Conclusion
Le pilote Multipath fourni par HPe avec les VSA supporte moyennement la manipulation des LUN, en tout cas à la suppression.
Il faut donc revenir à un pilote Multipath par défaut de VMware (Circular, Fixed) pour pouvoir effectuer les manipulations.
En résumé
On reprend le modus operandi:
- Changer le pilote Multipath du volume car un pilote par défaut (VMware Circual ou Fixed)
- Détacher le volume
- Supprimer la découverte automatique
- Rescan des HBA
- Supprimer les chemins manuels
- Rescan HBA
- Lister les volumes détachés (esxcli storage core device detached list)
- Supprimer les volumes détachés (esxcli storage core device detached -d naa.{ID})
Et voilà!