Questo post è disponibile anche in: Inglese

In VMware ESXi la condizione chiamata All Paths Down (APD) o Permanent Device Loss (PDL) avviene quando un host ESX/ESXi si trova senza più accesso allo storage, tipicamente a seguito di un qualche failure serio a livello della SAN (o anche in altri scenari che saranno discussi dopo). In questo caso il VMkernel storage stack non può sapere se e quando la condizione tornerà a posto e si possono verificare comportamente poco gradevoli.

Tra l’altro VMware vSphere non è in grado, neppure con VMware HA, di gestire il fallimento dello storage ed è quindi necessario assicurarsi di progettare la parte storage e SAN in modo che siano completamente affidabile e la parte host con il corretto multi-path per gestire in modo ottimale i diversi percorsi. Il tutto secondo le best practice di VMware e/o dello storage vendor (nel caso siano in disaccordo vedere questa nota).

La condizione di APD/PDL può essere:

  • transient: dove il problema è solo temporaneo e il device o gli switch torneranno alla normalità in breve tempo
  • permanent: in questo caso la situazione lato storage non si risolverà

Chiaramente la seconda situazione è la più pericolosa. Nelle versioni di ESXi prima della 5.0, le operazioni di I/O continuavano a rimanere in coda in modo indefinito, con il risultato del blocco di tale operazioni e il verificarsi di situazioni spiacevoli; che comunque si verificano anche nella 5.0 e 5.1 (solo in vSphere 5.5 è stata migliorata la gestione di queste situazioni).

Il problema maggiore si verifica normalmente se viene dato un comando di rescan dello storage dall’host o dal cluster (e del resto questa è prima operazione che un qualunque operatore darebbe in un caso come questo): l’operazione porta il processo lato host (hostd) al blocco, in attesa di una risposta dal dispositivo (che non arriverà mai). Il risultato è che (fino alla 5.0) gli altri processi lato host si bloccavano incluso il vpx agent (vpxa) con conseguente disconnessione dell’host dal vCenter Server (e l’unica soluzione di rimaneva quella di riavviare l’host). Con vSphere 5.0 e 5.1 l’host rimane connesso, ma vi sono comunque dei problemi, visto che le VM e i datastore rimangono in grigio, spesso anche dopo aver ripristinato lo storage e le operazioni di storage rescan non sono sufficienti a riportare il tutto alla normalità.

Tra l’altro questa situazioni si verifica anche in un particolare scenario, con uno scale-out storage, che implementi funzioni di replica sincrona tra diversi storage, ma che non fornisca le funzioni di failover automatico in caso del failure di uno degli storage. Questo è caso, ad esempio, di un gruppo di EqualLogic con la funzione di SyncRepl. In casi come questi, anche dopo aver eseguito manualmente lo storage failover (a seguito del guasto), la soluzione più semplice rimane di riavviare gli host per rimontare i vari datastore e vedere ancora le VM.

Oppure è possibile eseguire due modifiche alla configurazione:

  • Impostare disk.terminateVMOnPDLDefault=”True” su ogni host, editando manualmente il file /etc/vmware/settings (da notare che in 5.5 questa diventa una advanced setting)
  • Impostare das.maskCleanShutdownEnabled = “True” nelle Advanced Setting di VMware HA a livello delle proprietà del cluster

Dopo queste modifiche sarà possibile rivedere i datastore e VM anche con semplici operazioni di datastore rescan.

Come accennato, con VMware vSphere 5.5 è stata introdotta una nuova funzione per gestire questi casi: PDL AutoRemove

PDL AutoRemove rimuove automaticamente dall’host un dispositivo con la condizione di APD/PDL, bloccando automaticamente le operazioni I/O e rendendo più semplice l’operazione di ripristino, visto che a quel punto si rivedrebbe operativo con un semplice resca. Ma è importante notare come questo possa risultare un problema nel caso di ambienti di Guest Cluster tra VM, come ad esempio un Fail-Over cluster (a tale proposito vedere questo post: Disable “Disk.AutoremoveOnPDL” in a vMSC environment!).

Per maggiori informazioni vedere anche (in inglese) questi post:

This post has already been read 631 times.

Andrea MauroAbout Andrea Mauro (2737 Posts)

Virtualization, Cloud and Storage Architect. Tech Field delegate. VMUG IT Co-Founder and board member. VMware VMTN Moderator and vExpert 2010-18. Dell TechCenter Rockstar 2014-15. Microsoft MVP 2014-16. Veeam Vanguard 2015-18. Nutanix NTC 2014-18. PernixPro 2014-16. Several certifications including: VCDX-DCV, VCP-DCV/DT/Cloud, VCAP-DCA/DCD/CIA/CID/DTA/DTD, MCSA, MCSE, MCITP, CCA, NPP.


Related Post:

Share