VxRail: Nodes können eine hohe LSOM-Überlastung aufweisen
Summary: Bei VxRail-Nodes von 4.7.511-526 und 7.0.130-132 kann es zu einer hohen Speicherüberlastung kommen, die zu Leistungseinbrüchen und möglichen vSAN-Ausfällen führt. Es gibt eine Problemumgehung, um die Dienste zu deaktivieren, die das Problem verursachen. Ein Upgrade auf 4.7.530/7.0.200 behebt dieses Problem. Basierend auf VMware KB 82619 ...
Symptoms
Hinweis: Die bereitgestellten Informationen basieren auf VMware KB 82619(externer Link). Lesen Sie den Artikel auf potenzielle neuere Updates.
Bei der Ausführung der VxRail-Versionen 4.7.511-526 und 7.0.130-132 können die folgenden Probleme auftreten:
- „Anzahl der Elemente in den Commit-Tabellen“ beträgt mehr als 100.000 und nimmt über einen Zeitraum von Stunden nicht ab.
- Dateien und Ordner im vSAN-Datenspeicher können nicht mehr angezeigt werden
- Starker Leistungseinbruch
- Ein oder mehrere Nodes weisen eine hohe LSOM-Speicherauslastung (Local Log Structured Object Management) auf (siehe Befehl 1).
- „Anzahl der Elemente in den Commit-Tabellen“ beträgt mehr als 100.000 (siehe Befehl 2).
- Speicherüberlastung, die sich auf alle Nodes im Cluster ausgebreitet hat.
- Meldungen in vmkernel.log protokolliert:
LSOM: LSOM_ThrowCongestionVOB:3429: Throttled: Virtual SAN node "HOSTNAME" maximum Memory congestion reached.
- Meldungen in vobd.log und vmkernel.log protokolliert
LSOM_ThrowAsyncCongestionVOB:1669: LSOM Memory Congestion State: Exceeded. Congestion Threshold: 200 Current Congestion: 204.
Die folgenden skriptbasierten Befehle können verwendet werden, um festzustellen, ob dieses Problem auf dem Host auftreten kann.
Skript 1
while true; do echo "================================================"; date; for ssd in $(localcli vsan storage list |grep "Group UUID"|awk '{print $5}'|sort -u);do echo $ssd;vsish -e get /vmkModules/lsom/disks/$ssd/info|grep Congestion;done; for ssd in $(localcli vsan storage list |grep "Group UUID"|awk '{print $5}'|sort -u);do llogTotal=$(vsish -e get /vmkModules/lsom/disks/$ssd/info|grep "Log space consumed by LLOG"|awk -F : '{print $2}');plogTotal=$(vsish -e get /vmkModules/lsom/disks/$ssd/info|grep "Log space consumed by PLOG"|awk -F : '{print $2}');llogGib=$(echo $llogTotal |awk '{print $1 / 1073741824}');plogGib=$(echo $plogTotal |awk '{print $1 / 1073741824}');allGibTotal=$(expr $llogTotal + $plogTotal|awk '{print $1 / 1073741824}');echo $ssd;echo " LLOG consumption: $llogGib";echo " PLOG consumption: $plogGib";echo " Total log consumption: $allGibTotal";done;sleep 30; done ;
Beispielausgabe
Fri Feb 12 06:40:51 UTC 2021
529dd4dc--xxxx-xxxx-xxxx-xxxxxxxxxxxx
memCongestion:0 >> This value is higher than 0 ( ranger 0-250 )
slabCongestion:0
ssdCongestion:0
iopsCongestion:0
logCongestion:0
compCongestion:0
memCongestionLocalMax:0
slabCongestionLocalMax:0
ssdCongestionLocalMax:0
iopsCongestionLocalMax:0
logCongestionLocalMax:0
compCongestionLocalMax:0
529dd4dc-xxxx-xxxx-xxxx-xxxxxxxxxxxxxx
LLOG consumption: 0.270882
PLOG consumption: 0.632553
Total log consumption: 0.903435
Skript 2
vsish -e ls /vmkModules/lsom/disks/ 2>/dev/null | while read d ; do echo -n ${d/\//} ; vsish -e get /vmkModules/lsom/disks/${d}WBQStats | grep "Number of elements in commit tables" ; done | grep -v ":0$"
Beispielausgabe
(gilt nur für Cachefestplatten; Sie können alle Ergebnisse von Kapazitätsfestplatten ignorieren)
52f395f3-03fd-f005-bf02-40287362403b/ Number of elements in commit tables:300891 526709f4-8790-8a91-2151-a491e2d3aec5/ Number of elements in commit tables:289371
Cause
Die Konfigurationswerte für die Scrubber-Konfiguration wurden in den Versionen vSAN 6.7 P04 und vSAN 7.0 U1 P02 geändert, um das Scrubbing von Objekten mit einer höheren Frequenz durchzuführen. Diese Änderung führt dazu, dass der Scrubber-Fortschritt für jedes Objekt häufiger als zuvor beibehalten wird. Wenn es im Cluster inaktive Objekte gibt, sammelt der Scrubber Commit-Tabelleneinträge für diese Objekte am LSOM. Schließlich führt die Akkumulation zu einer LSOM-Speicherüberlastung.
Objekte im Leerlauf beziehen sich in diesem Kontext auf Objekte, die nicht zugeordnet sind, ausgeschaltete VMs, replizierte Objekte usw. sind.
Resolution
Wenn ein Host eine hohe Anzahl von Elementen in den Commit-Tabellen hat, wie in Skript 2 festgelegt, wird einer der beiden folgenden Schritte empfohlen, um die Überlastung zu beseitigen.
- Versetzen Sie den Problemhost mit „Zugriff sicherstellen“ in den Wartungsmodus und starten Sie den Host neu.
- Unmounten Sie die Festplattengruppen jedes Hosts und mounten Sie sie mit „Zugriff sicherstellen“ erneut.
Problemumgehung:
Wenn Sie kein Upgrade durchführen können, implementieren Sie vorerst die folgenden Änderungen an den erweiterten Einstellungen, um dieses Problem zu vermeiden.
- Ändern Sie die Scrubber-Häufigkeit auf einmal pro Jahr:
esxcfg-advcfg -s 1 /VSAN/ObjectScrubsPerYear
- Deaktivieren Sie den dauerhaften Timer für Scrubber:
esxcfg-advcfg -s 0 /VSAN/ObjectScrubPersistMin