SendNMI in your face
Posted by NiTRo | Filed under Hardware, News, VMware
A chaque nouvelle version de vSphere, c’est toujours un plaisir de fouiller dans le SDK. La cuvée 2015 offre son lot de surprises comme le GuestWindowsRegistryManager qui permet de gérer la registry de Windows directement via les API VIX, des traces du projet VMFork (aka Linked Clones ++) qu’on attend avec impatience ou encore la possibilité d’envoyer une non-maskable interrupt (aka NMI) à une VM pour un troubleshooting velu.
Historiquement, il était un peu complexe de générer ce genre d’interruption comme le détail William mais avec cette nouvelle API cela devient un jeu d’enfant en PowerCLI :
(Get-VM toto|Get-View).SendNMI()
Malheureusement, connecté au vCenter, on se mange une jolie erreur :
Exception calling “SendNMI” with “0″ argument(s): “The requested operation is not implemented by the server.”
Connecté en direct sur un ESX ça se passe nettement mieux :
En prime, on droit au nouvel événement VmGuestOSCrashedEvent :
<166>NoneZ visor04.lab.schitz.org Hostd: 2015-06-04T22:21:45.933Z info hostd[6DE83B70] [Originator@6876 sub=Vimsvc.ha-eventmgr] Event 894 : Win10 on visor04.lab.schitz.org: Guest operating system has crashed.
Tags: API, NMI, PowerCLI, powershell, SDK