Dell Unity/VNX: Tilfeldig, midlertidig tap av tilkobling og/eller redusert ytelse på ESXi-verter fra versjon 5.5 u2 og nyere (kan korrigeres av brukeren)
Summary: Tungt lastede arrayer eller nettverk eller strukturer kan redusere ATS-kommandoene så mye at arrayet returnerer en kontrolltilstand som feilen er sammenlignet med en ATS-kommando som ESXi ikke forventer. På grunn av denne ATS-feilsammenligningen på et VMFS Heartbeat-spor, prøver ESXi-verten å gjenvinne kontrollen over enheten. For å gjøre dette utsteder verten en tilbakestilling av SCSI-enheten på LUN-en som holder VMFS. Alle aktive I/O på denne LUN-en avbrytes, og SCSI-enheten tilbakestilles. Et midlertidig tap av tilkobling vises i VMkernel-loggene. ...
Symptoms
SCENARIO:
- Vertsoppgradering til ESXi 5.5 oppdatering 2 eller ESXi 6.0
- Én eller flere ESXi-verter mister tilkoblingen til VMFS-datalageret i en kort periode. Alle virtuelle maskiner på datalageret kan krasje eller ha I/O-feil.
- På grunn av en ATS-feilsammenligning (Atomic Test and Set) på et VMFS Heartbeat-spor, forsøker ESXi-verten å gjenvinne kontrollen over enheten ved å utstede en tilbakestilling av SCSI-enheten på LUN-en som holder VMFS.
- Alle aktive I/O på denne LUN-en blir avbrutt, og SCSI-enheten tilbakestilles.
- Et midlertidig tap av tilkobling vises i VMkernel-loggene.
ATS Miscompare kan skje både med NMP og PowerPath.
Feilmeldinger som indikerer en ATS-feilsammenligning som ligner på dette, vises i /var/log/vmkernel.log:
2015-11-20T22:12:47.194Z cpu13:33467)ScsiDeviceIO: 2645: Cmd(0x439dd0d7c400) 0x89, CmdSN 0x2f3dd6 from world 3937473 to dev "naa.50002ac0049412fa" failed H:0x0 D:0x2 P:0x0 Valid sense data: 0xe 0x1d 0x0.
Andre problemer som kan oppstå:
- Verter som kobler fra vSphere vCenter
- Virtuelle maskiner som henger på I/O-operasjoner
Cause
Dette problemet har blitt oppdaget på arrayer eller nettverk eller strukturer som er overbelastet nok til at verter avbryter I/O-forespørsler.
Flere arrayleverandører (inkludert Dell) har problemer med ATS-hjerterytmefunksjonen som ble introdusert i ESXi 5.5u2.
MERK: I henhold til Broadcom (VMware) KB 326437 (ekstern lenke) berører dette problemet ESXi-versjonene VMware ESXi 5.5.x og VMware ESXi 6.0.x, som ikke inneholder alle de spesifikke versjonene, derfor antar denne kunnskapsartikkelen at alle ESXi-verter med versjon 5.5u2 og nyere og alle ESXi 6.0-versjoner er berørt.
En vert indikerer sin livlighet ved periodisk å utføre I / O til hjerteslag på et gitt volum. Derfor, hvis ingen aktivitet blir sett på vertens hjerteslagspor i en periode, kan vi konkludere med at verten har mistet tilkoblingen til volumet.
ATS heartbeat I/O har en svært lav tidsavbruddsverdi som kan føre til vertsfrakoblinger og applikasjonsavbrudd, noe som betyr tap av forbindelse til disker og/eller redusert ytelse på vertene.
Verten registrerer deretter feilsammenligningen i hjerteslagsporet, og avbryter all aktiv I/O på LUN-en når den utsteder tilbakestillingen. Alle ventende I/O-er på denne LUN-en mislykkes med vertsfølelse 8 (H:0x8 SCSI-tilbakestilling).
Resolution
Hvis denne tilstanden observeres, er den anbefalte midlertidige løsningen å deaktivere VAAI ATS-hjerteslagmekanismen. Hvis du vil ha mer informasjon, kan du se Broadcom (VMware) KB 326437 (ekstern lenke). Deaktivering av ATS-hjerterytmemekanismen vil tilbakestille verten til eldre modus. Når belastningen er adressert, aktiverer du ATS-hjerteslagmekanismen igjen.
Kontakt VMware for bekreftelse av problemet, eller send en ESXi emcgrab med vmsupport for bekreftelse. Deaktivering av VAAI ATS Heartbeat-funksjonaliteten på ESX-serveren anbefales BARE for berørte kunder inntil belastningsproblemene kan løses.
Additional Information
Unity-loggene kan brukes til å identifisere denne bestemte typen aborter (Sense Key = 0e, ASC = 1d, ASCQ = 00)
Loggplasseringen i de utpakkede loggene er:
Du kan kontrollere loggene ved å pakke ut alle c4_safe_ktrace.log*-loggene på plasseringen ovenfor, og deretter se etter "SK = 0x0e, ASC/Q = 0x1d00".
Eksempel med et linux-system eller lignende:
grep -i "SK = 0x0e, ASC/Q = 0x1d00" spa/EMC/C4Core/log/c4_safe_ktrace.* | wc -l 15744 <<<< count of aborts on SPA in this example.
Hvis ktrace-loggene ikke blir ekstrahert, bruker du bare zgrep:
zgrep -i "SK = 0x0e, ASC/Q = 0x1d00" spa/EMC/C4Core/log/c4_safe_ktrace.* | wc -l 15744 <<<< count of aborts on SPA in this example.