VxRail: Solmuissa voi esiintyä suurta LSOM-ruuhkaa
Summary: VxRail-solmuissa 4.7.511-526 ja 7.0.130-132 saattaa esiintyä suurta muistiruuhkaisuutta, joka johtaa suorituskykyyn ja mahdollisiin vSAN-katkoksiin. Ongelman aiheuttavien palvelujen käytöstä poistamiseen on olemassa kiertotapa. Päivitys versioon 4.7.530/7.0.200 korjaa ongelman. Perustuu VMwaren tietämyskannan artikkeliin 82619 ...
Symptoms
Huomautus: annetut tiedot perustuvat VMware KB 82619-artikkeliin (ulkoinen linkki). Tarkista artikkelista mahdolliset uudemmat päivitykset.
Kun käytössä on VxRail-versiot 4.7.511-526 ja 7.0.130-132, saatat kohdata seuraavia ongelmia:
- "Toimitustaulukoiden elementtien määrä" on yli 100k, eivätkä ne vähene tuntien kuluessa.
- Mahdollisuus nähdä vSAN-tietosäilön tiedostoja ja kansioita ei ole enää
- Vakava suorituskyvyn heikkeneminen
- Yksi tai useampi solmu, jossa esiintyy suurta LSOM (Local Log Structured Object Management) -muistin ruuhkautumista (katso komento 1).
- "Elementtien määrä toimitustaulukoissa" on yli 100k (katso komento 2).
- Muistin ruuhkautuminen, joka on levinnyt kaikkiin klusterin solmuihin.
- Kirjaa viestit vmkernel.log:
LSOM: LSOM_ThrowCongestionVOB:3429: Throttled: Virtual SAN node "HOSTNAME" maximum Memory congestion reached.
- Kirjaa viestit vobd.log ja vmkernel.log
LSOM_ThrowAsyncCongestionVOB:1669: LSOM Memory Congestion State: Exceeded. Congestion Threshold: 200 Current Congestion: 204.
Seuraavilla komentosarjakomennoilla voidaan selvittää, onko isännässä tämä ongelma.
Käsikirjoitus 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 ;
Mallituotos
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
Käsikirjoitus 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$"
Näytetulos
(tämä koskee vain välimuistilevyjä; voit ohittaa kaikki kapasiteettilevyjen tulokset)
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
Pesurikokoonpanon arvoja on muutettu vSAN 6.7 P04- ja vSAN 7.0 U1 P02 -versioissa objektien puhdistamiseksi useammalla taajuudella. Tämä muutos johtaa kunkin kohteen jatkuvaan pesurin etenemiseen aiempaa useammin. Jos klusterissa on käyttämättömiä objekteja, pesuri kerää näiden objektien vahvistustaulukkomerkinnät LSOM:iin. Lopulta kertyminen johtaa LSOM-muistin ruuhkautumiseen.
Käyttämättömillä objekteilla tarkoitetaan tässä yhteydessä objekteja, jotka eivät liity toisiinsa ja joihin ei ole kytketty virtuaalikoneita, replikoituja objekteja ja niin edelleen.
Resolution
Jos isännällä on suuri määrä elementtejä toimitustaulukoissa komentosarjan 2 määritetyllä tavalla, suosittelemme jompaakumpaa seuraavista vaiheista ruuhkautumisen poistamiseksi.
- Aseta ongelmaisäntä huoltotilaan Varmista käytettävyys -toiminnolla ja käynnistä isäntä uudelleen.
- Poista kunkin isännän levyryhmät ja liitä ne uudelleen Varmista käytettävyys -toiminnolla.
Workaround:
Jos päivitys ei onnistu, ota toistaiseksi käyttöön seuraavat lisäasetusten muutokset ongelman estämiseksi.
- Vaihda pesuritaajuus yhteen kertaan vuodessa:
esxcfg-advcfg -s 1 /VSAN/ObjectScrubsPerYear
- Poista käytöstä pesurin kestoajastin:
esxcfg-advcfg -s 0 /VSAN/ObjectScrubPersistMin