All Paths Down bij VMware vSphere

Bij “All Paths Down (APD)” heeft een ESX host geen actieve paden meer beschikbaar naar een LUN op een SAN. Dit kan van “permanente” of van “tijdelijke” aard zijn. Hieronder worden deze situaties nader verklaard.

Een “permanente” situatie kan o.a. worden veroorzaakt door het verwijderen van een LUN op het SAN, zonder dat deze “netjes” is verwijderd op de vSphere host. vSphere/ESX 5 biedt de mogelijkheid om een LUN op een eenvoudige en gecontroleerde manier te verwijderen. Hiervoor zijn de unmount en detach opties beschikbaar in de GUI.

De oorzaak van een “tijdelijke” situatie is bijvoorbeeld een netwerkonderbreking door het wegvallen van het storage (V)LAN of uitval van de fysieke switches.

Permanent Device Loss

VMware spreekt van een Permanent Device Loss (PDL) situatie als een LUN permanent onbereikbaar is.

Om te kunnen vaststellen dat dit een permanente situatie is en dat een LUN echt nooit meer terug komt, kan ESX alleen vertrouwen op het SAN zelf. Hiervoor zal ESX dan ook de SCSI sense codes die het SAN retourneert gebruiken. Als ESX een verzoek voor I/Os naar een LUN stuurt dat niet meer beschikbaar is, maar de verbinding met het SAN is er nog wel, dan zullen de meeste SANs met SCSI sense codes reageren waaruit ESX kan concluderen dat de LUN er niet meer is.
Het voorbeeld hiervan is het verwijderen van een LUN op het SAN zonder deze eerst te ontkoppelen van de ESX host. vSphere 5 zal in een PDL situatie I/Os direct laten falen om te voorkomen dat VMs oneindig zouden blijven wachten op het SAN. Het wordt aan het OS, dat in de VM draait, overgelaten wat te doen met een disk die niet meer beschikbaar is.

Is de onderbreking permanent of tijdelijk?

Als een Permanent Device Loss niet kan worden vastgesteld neemt VMware aan dat het een tijdelijke onderbreking is. Bij een dergelijke tijdelijke onbereikbaarheid van het SAN zal ESX oneindig lang wachten met I/O verkeer van VMs. Een VM die disk I/Os genereert zal blijven hangen totdat er minimaal een pad weer beschikbaar zal komen. In de oudere versies van ESX bleef de host proberen verbinding te maken met de LUN. Uiteindelijk liep ESX dan uit zijn maximaal aantal beschikbare worker threads en dan stopt de host met functioneren. Sinds ESX 5.0, ESX 4.1 Update 1 en ESX 4.0 Update 3 is er een advanced setting (FailVolumeOpenIfAPD) die automatisch gezet wordt, om te voorkomen dat een ESX host blijft hangen bij het benaderen van een LUN die niet reageert (APD).

ESX kan vanaf versie 5 dus onderscheid maken tussen een permanent of tijdelijk onbereikbare LUN, mits het SAN de juiste SCSI sense codes teruggeeft.

Dit principe werkt met Fiber Channel en iSCSI SANs. Bij iSCSI SANs die een één op één mapping van LUN naar Target hebben, werkt dit principe nog niet, omdat er voor de betreffende LUN geen iSCSI sessie beschikbaar meer is om de SCSI sense codes over uit te wisselen.

Print deze pagina: print Delen via: twitter linkedin
© 2013 Alle rechten voorbehouden | +31 (0)182 30 22 22, Buitenomweg 17, 2811 BM Reeuwijk » Contact