VxRail: I nodi possono riscontrare un'elevata congestione LSOM
Summary: I nodi VxRail a partire dalla versione 4.7.511-526 e 7.0.130-132 potrebbero registrare un'elevata congestione della memoria, determinando la riduzione delle prestazioni e possibili interruzioni dell'alimentazione di vSAN. È disponibile una soluzione alternativa per disabilitare i servizi che causano il problema. L'aggiornamento alla versione 4.7.530/7.0.200 risolve il problema. Dati basati sull'articolo 82619 della Knowledge Base di VMware ...
Symptoms
Nota: le informazioni fornite si basano sull'articolo della KB di VMware 82619(link esterno). Esaminare l'articolo per verificare la presenza di eventuali aggiornamenti più recenti.
Quando si eseguono VxRail versioni 4.7.511-526 e 7.0.130-132, è possibile che si verifichino i seguenti problemi:
- Il valore di "Number of elements in the commit tables" è maggiore di 100.000 e non diminuisce in un certo periodo di ore
- Perdita della capacità di visualizzare file e cartelle nel datastore vSAN
- Notevole riduzione delle prestazioni
- Uno o più nodi presentano un'elevata congestione di memoria LSOM (Local Log Structured Object Management) (vedere il comando 1).
- Il valore di "Number of elements in the commit tables" è maggiore di 100.000 (vedere il comando 2).
- Congestione della memoria propagata a tutti i nodi del cluster
- Messaggi in vmkernel.log:
LSOM: LSOM_ThrowCongestionVOB:3429: Throttled: Virtual SAN node "HOSTNAME" maximum Memory congestion reached.
- Messaggi in vobd.log e vmkernel.log
LSOM_ThrowAsyncCongestionVOB:1669: LSOM Memory Congestion State: Exceeded. Congestion Threshold: 200 Current Congestion: 204.
Per determinare se l'host potrebbe riscontrare questo problema, è possibile utilizzare i seguenti comandi tramite script.
Script 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 ;
Output di esempio
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
Script 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$"
Output
di esempio (si applica solo ai dischi della cache; è possibile ignorare qualsiasi risultato dei dischi di capacità)
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
I valori di configurazione dello scrubber sono stati modificati nelle versioni vSAN 6.7 P04 e vSAN 7.0 U1 P02 per pulire gli oggetti con una frequenza maggiore. Questa modifica comporta un avanzamento dello scrubber persistente di ogni oggetto più frequentemente rispetto a prima. Se nel cluster sono presenti oggetti inattivi, lo strumento di pulitura accumula voci della tabella di commit per questi oggetti in LSOM. Alla fine, l'accumulo porta alla congestione della memoria LSOM.
Gli oggetti inattivi in questo contesto si riferiscono a oggetti non associati, macchine virtuali spente, oggetti replicati e così via.
Resolution
Se un host dispone di un numero elevato di elementi nelle tabelle di commit, come determinato nello script 2, si consiglia di eseguire uno dei due passaggi seguenti per eliminare la congestione.
- Impostare l'host problematico in modalità di manutenzione con Ensure Accessibility, quindi riavviarlo.
- Smontare e rimontare i gruppi di dischi di ciascun host utilizzando Ensure Accessibility.
Soluzione:
Se non è possibile eseguire l'aggiornamento, per il momento implementare comunque le seguenti modifiche alle impostazioni avanzate per ridurre il problema.
- Modificare la frequenza di scrubber impostandola una volta all'anno:
esxcfg-advcfg -s 1 /VSAN/ObjectScrubsPerYear
- Disabilitare il timer di persistenza del dispositivo di scorrimento:
esxcfg-advcfg -s 0 /VSAN/ObjectScrubPersistMin