An important vSphere 4 storage bug is solved in patch ESX400-200912401-BG


Chad Sakac over at already blogged about the APD bug in December last year. You can find his post here. 

Just a short quote from Chad his post about the symptoms of this APD bug:

Recently saw a little uptick (still a small number) in customers running into a specific issue – and I wanted to share the symptom and resolution.   Common behavior:

  1. They want to remove a LUN from a vSphere 4 cluster
  2. They move or Storage vMotion the VMs off the datastore who is being removed (otherwise, the VMs would hard crash if you just yank out the datastore)
  3. After removing the LUN, VMs on OTHER datastores would become unavailable (not crashing, but becoming periodically unavailable on the network)
  4. the ESX logs would show a series of errors starting with “NMP”

Examples of the error messages include:

    “NMP: nmp_DeviceAttemptFailover: Retry world failover device "naa._______________" – failed to issue command due to Not found (APD)”

    “NMP: nmp_DeviceUpdatePathStates: Activated path "NULL" for NMP device "naa.__________________".

What a weird one…   I also found that this was affecting multiple storage vendors (suggesting an ESX-side issue).  You can see the VMTN thread on this here.


We found out about this issue during a big storage project. We where creating a lot of new LUNs and where removing a lot of the old LUNs. If you remove a LUN on a way not mentioned in Chad his post:

This workaround falls under “operational excellence”.   The sequence of operations here is important – the issue only occurs if the LUN is removed while the datastore and disk device are expected by the ESX host.   The correct sequence for removing a LUN backing a datastore.

  1. In the vSphere client, vacate the VMs from the datastore being removed (migrate or Storage vMotion)
  2. In the vSphere client, remove the Datastore
  3. In the vSphere client, remove the storage device
  4. Only then, in your array management tool remove the LUN from the host.
  5. In the vSphere client, rescan the bus.

So when we used the workaround described above, everything went fine. But at my current employer, we use a large LeftHand iSCSI SAN.  One of the great things of Lefthand SAN is the ability to move LUNs between different clusters. With the APD bug, we couldn’t use this option anymore.

When we discovered this APD bug we contacted VMware Support. After a couple of weeks we received an e-mail with the following fix.

I can now confirm that the APD (All paths dead) issue has been resolved by a patch released as part of P03.

To install this patch, please upgrade your hosts to vSphere Update 1 and use Update Manager to install the latest patches.

Please ensure that ESX400-200912401-BG is installed as this resolves the APD problem

We upgraded one of our clusters to Update 1 and installed the latest patches including the ESX400-200912401-BG patch. After installing the patch, we did some tests and I can confirm that the APD bug is history!!

To reproduce this issue I created two iSCSI LUNs on the EMC VSA. Instead of removing the LUNs I disconnected the iSCSI network to simulate this. So before I disconnected the iSCSI network, all LUNs are working just fine:


After I disconnected the iSCSI network and waited a while, all the paths to the EMC LUNs are dead and they are colored red:


This is just normal behavior but before installing the ESX400-200912401-BG patch, the ESX host will stall for 30 till 60 seconds. This means that all the VMs running on a host of which a LUN was disconnected will stall, even though the VM is on a different datastore!! I am happy that VMware has solved this APD bug.


If you want to make sure if you already installed the APD patch, you can easily verify this with the vCenter Update Manager.

Go to the tab Update Manager and open the Admin View. Add a new baseline. Select the Host Patch option:


In the next screen select Fixed:


Now we are going to create a filter. Enter the name of the patch:


Select the ESX400-200912401-BG patch:


When the new baseline is ready, return to the Compliance view and attach the new baseline:


The final step is to perform a scan on your Datacenter, Cluster or ESX Host. Now wait and see if the patch is already installed or not.


More info about the patch can be found here:

For the readers who cannot upgrade to vSphere Update 1 and the latest patches, you can find some workarounds here:

EDA 0.87 Patch 1 released


Brugh has released a patch for EDA 0.87.

This is how you apply the patch:

  • log in to the console
  • edit /var/www/eda/fs.php
  • change the ‘3000’ on line 32 to ‘1000000’
  • go to http://eda-ip-address/eda/fs.php
  • upload the file ‘eda-v0.87-1.tar.gz’
  • type ‘tar zxvf eda-v0.87-1.tar.gz -C /’ in the exec box (be exact with the slash but don’t type the quotes)


You can download the patch here:



VMware: Installing Updates with VUM

In deze post zie je hoe ik mijn ESX 3.5 test server update via de VMware Update Manager. Ik ga er vanuit dat je de VUM al hebt geïnstalleerd en dat je de updates al gedownload hebt. Zo niet dan lees je hier hoe je dat kunt doen.

Selecteer de host die je wilt gaan updaten. In dit voorbeeld gaat het om esx3srv1.ictfreak.local. Daarna klik je op Attach Baseline….


Nu selecteer je de baseline die je wilt gaan gebruiken of je maakt er zelf een aan via Create New Baseline…


Klik nu nogmaals op de host en op het tabblad Update Manager. Klik daarna op het Scan icoon (tweede vanaf rechts).


Klik Yes om de host te gaan scannen


Nu worden de firewall porten open gezet en de host word gescanned.


Nadat de scan klaar is krijg je het onderstaande scherm te zien.


Klik nu nogmaals op de host en dan op Remediate (eerste icoontje vanaf rechts).


Selecteer vervolgens de baselines.


Bij het tabblad Updates kun je zien welke updates er geïnstalleerd worden. Hier kun je eventueel ook Updates uitschakelen.


Opmerking: in eerste instantie kreeg ik hier een error en kon ik niet verdergaan. Na een herstart van de VirtualCenter service en de Update Manager service, kon ik wel gebruik maken van de Remediate optie.

Ik wil de updates gelijk installeren dus kies ik voor de optie Immediately. Het is ook mogelijk om er een job voor te schedulen. Verder kun je hier instellen wat er moet worden gedaan, mocht er een update mis gaan. Ik heb dit op Default laten staan.


Nog even een overzicht van wat er gepatched gaat worden.


De ESX Server word in Maintenance mode geplaatst


En de updates worden stuk voor stuk geïnstalleerd.


Nadat de updates klaar zijn, word de ESX Server opnieuw opgestart en hoeft deze alleen nog maar uit de maintenance mode gehaald te worden.


Zoals je ziet is het build nummer bijgewerkt naar 70356. De updates zijn geïnstalleerd. Nu kijken of al mijn VM’s nog willen starten 😉

VMware: VMotion Corruption after applying the new ESX 3.5 patches [Update]

De Lone Sysadmin heeft een update geplaatst op zijn weblog over dit hele verhaal:


De Lone Sysadmin maakte er al melding van op zijn blog maar er schijnt dus een groot probleem te zijn met de nieuwe patches van VMWare ESX 3.5.

Nadat je de patches hebt geïnstalleerd raakt je VMotion switch corrupt. Door de VMotion Switch te verwijderen en weer opnieuw aan te maken, wordt het probleem opgelost. Meer informatie vind je in document: SR#1101801771



VMware: Download Updates For VUM

Voordat je met de VUM aan de gang kunt gaan, moet je eerst de VUM Plugin installeren. Dit spreek denk ik wel voor zich.

Nadat je de Update Manager Plugin hebt geïnstalleerd, kun je via het menu Plugins – Update Manager – Schedule Update Download…. een job aanmaken voor het downloaden van de updates.


In deze post downloaden we alleen de ESX Server Updates


Ik wil dat de updates nu worden gedownload


De updates worden gedownload.