Vmware's snapshots en hangende machines

Één keer in de zoveel tijd is het zover, dan komt Murphy even langs.
De ene keer blijft hij langer hangen als de andere keer, maar het is altijd weer gezellig.

Zo ook afgelopen week. Ik was bezig met het beheer van VMware en moest een snapshot maken van de datawarehouse-machine, omdat hierop Hotfixes van MS SQL werden doorgevoerd.

Normaal gesproken is dit geen enkel probleem, maar deze keer faalde het creëren van de snapshot met de melding: “A general system error occurred: Unable to save snapshot file”. Dat was het moment waarop Murphy binnen kwam en begon de opeenvolging van problemen.

Na het zoeken in de knowlegde-base van VMware, bleek deze foutmelding voornamelijk voor te komen wanneer er niet genoeg ruimte was op de schijf om een snapshot te kunnen maken.

Nou bestaat de datawarehouse-machine uit meerdere schijven met een gezamenlijke grote van 400GB en stond er nog een snapshot. Het was dus niet heel vreemd dat ik een melding kreeg die leek te gaan om te weinig schijfruimte. Maar toen ik probeerde om de bestaande snapshot te verwijderen kreeg ik de volgende melding: “The object has already been deleted or has not been completely created”.

Dit bleek een probleem te zijn met VirtualCenter. VirtualCenter denkt dat de snapshot al verwijderd is, terwijl deze nog wel aanwezig is.
Om dit op te lossen moet je met de VI-client inloggen op de ESX-host waarop de desbetreffende machine draait en vanuit daar de snapshot verwijderen.

Na het verwijderen van het bestaande snapshot, bleek er nog steeds te weinig ruimte om een nieuwe snapshot te maken. Toen ik naar de inhoud van schijf keek, bleken er nog 3 snapshots te staan die niet waren samengevoegd en ook niet zichtbaar waren in de snapshot-manager.

Om dit op te lossen wordt door VMware aangeraden om de volgende stappen uit te voeren:
1. Shutdown the VM
2. Take a new snapshot in Snapshot manager
3. Delete ALL snapshots in Snapshot manager

De knop “Delete All” zal alle snapshots samenvoegen, ook degene die niet zichtbaar zijn in de snapshot-manager. En door de machine uit te schakelen kan er wel een snapshot gemaakt worden omdat het geheugen van de machine op dat moment leeg is en dus geen ruimte in beslag neemt.

Op naar actie 1, Shutdown the VM. Appeltje eitje, dacht ik nog, helaas dacht Murphy daar anders over. De machine was niet meer te benaderen, niet via RDP, niet via de console en niet via VMware-tools (shutdown guest).

Omdat de machine niet meer reageerde, was ik genoodzaakt om de machine op de lelijke manier uitzetten, dus via de GUI van de VI-client VM –>Poweroff.
Hierop reageerde de machine ook niet meer en het leek erop dat de management-service van ESX niet correct de status van de VM doorgaf.

Het werd tijd om dieper in de virtuele omgeving te duiken om dit probleem te kunnen oplossen. Om dit te doen heb ik een SSH-connectie gemaakt naar de ESX-host waarop de datawarehouse-machine nog draaide en heb eerst de management-service herstart –> #service mgmt-vmware restart.

Dit mocht echter niet baten en de machine draaide vrolijk en onbenaderbaar verder.
Daarom heb ik geprobeerd om de machine vanaf de commandline te stoppen met het commando:
#vmware-cmd/vmfs/volumes/<datastorename>/<vmname>/<vmname> stop.
Dit werkte echter ook niet en ben ik overgegaan op een harde stop met het commando:
#vmware-cmd /vmfs/volumes/<datastorename>/<vmname>/<vmname> stop hard

Helaas kon ook dit commando geen uitkomst bieden en was de enige andere mogelijkheid om het proces van de machine te beëindigen. Dit gaat als volgt:
1. #ps auxfww | grep <naam van de VM>
2. zoek de PID van de vm
3. #kill -9 <PID>

Bij 1 worden de processen van de ESX-host geladen en wordt er direct gefilterd op de naam van machine. Vervolgens zoek je bij punt 2 het ProcesID dat bij de draaiende machine hoort, om bij punt 3 de opdracht te geven het proces geforceerd te beëindigen.

Hierna was het weer mogelijk om een nieuw snapshot te maken en “Delete All snapshots” kiezen. Het proces “Delete All snapshots” kan lang duren (uren), afhankelijk van de grote van de snapshots. Maar uiteindelijk na alle omwegen was de machine weer zoals het zou moeten, zonder snapshots en benaderbaar.

Started his working life as a system manager at a health care organization. Is now a dedicated technical consultant at PepperByte. Specialist in virtualization and security.

Core qualities
Eager to learn, punctual, fun, loyal, patient

Hobbies
Socializing, watching television series and sports

Job description
Technical Consultant