VxRail: Noder kan uppleva hög LSOM-trängsel
Summary: VxRail-noder från 4.7.511-526 och 7.0.130-132 kan uppleva hög minnesbelastning, vilket leder till prestanda och möjliga vSAN-avbrott. Det finns en tillfällig lösning för att inaktivera tjänster som orsakar problemet. Uppgradering till 4.7.530/7.0.200 löser problemet. Baserat på VMware KB 82619 ...
Symptoms
Informationen är baserad på VMware KB 82619(Extern länk). Läs artikeln för eventuella nyare uppdateringar.
När du kör VxRail-versionerna 4.7.511-526 och 7.0.130-132 kan du få följande problem:
- "Antal element i incheckningstabellerna" är mer än 100 k och minskar inte under en period på flera timmar.
- Förlust av möjlighet att visa filer och mappar i vSAN-datalagret
- Allvarlig prestandaförsämring
- En eller flera noder som uppvisar hög överbelastning av LSOM-minne (Local Log Structured Object Management) (se kommando 1).
- "Antal element i incheckningstabellerna" är mer än 100 k (se kommando 2).
- Minnesbrist som har spridits till alla noder i klustret.
- Loggar meddelanden i vmkernel.log:
LSOM: LSOM_ThrowCongestionVOB:3429: Throttled: Virtual SAN node "HOSTNAME" maximum Memory congestion reached.
- Loggar meddelanden i vobd.log och vmkernel.log
LSOM_ThrowAsyncCongestionVOB:1669: LSOM Memory Congestion State: Exceeded. Congestion Threshold: 200 Current Congestion: 204.
Följande skriptkommandon kan användas för att avgöra om värden har det här problemet.
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 ;
Exempel på utdata
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$"
Exempelutdata
(detta gäller endast på cachediskar; du kan ignorera eventuella resultat av kapacitetsdiskar)
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
Indikatorkonfigurationsvärdena ändrades i versionerna vSAN 6.7 P04 och vSAN 7.0 U1 P02 för att skrubba objekt med högre frekvens. Den här ändringen resulterar i beständig skrubbningsförlopp för varje objekt oftare än tidigare. Om det finns inaktiva objekt i klustret ackumulerar indikatorn incheckningstabellposter för dessa objekt på LSOM. Så småningom leder ackumuleringen till överbelastning av LSOM-minnet.
Inaktiva objekt i det här sammanhanget refererar till objekt som är oassocierade, avstängda virtuella datorer, replikerade objekt och så vidare.
Resolution
Om en värd har ett stort antal element i incheckningstabellerna, enligt vad som bestäms i skript 2, rekommenderas ett av följande två steg för att rensa överbelastningen.
- Sätt problemvärden i underhållsläge med säkerställ tillgänglighet och starta sedan om värden.
- Demontera och återmontera varje värds diskgrupper med hjälp av funktionen för att säkerställa tillgänglighet.
Workaround:
Om det inte går att uppgradera implementerar du följande avancerade inställningsändringar för att förhindra att problemet uppstår.
- Ändra scrubbningsfrekvensen till en gång per år:
esxcfg-advcfg -s 1 /VSAN/ObjectScrubsPerYear
- Avaktivera indikatorns beständighetstimer:
esxcfg-advcfg -s 0 /VSAN/ObjectScrubPersistMin