VxRail: Węzły mogą doświadczać dużego zagęszczenia LSOM
Summary: Węzły VxRail w wersji 4.7.511-526 i 7.0.130-132 mogą napotykać duże przeciążenie pamięci prowadzące do spadku wydajności i możliwych awarii sieci vSAN. Istnieje obejście problemu pozwalające na wyłączenie usług powodujących problem. Uaktualnienie do wersji 4.7.530/7.0.200 rozwiązuje ten problem. Na podstawie artykułu nr 82619 z bazy wiedzy firmy VMware. ...
Symptoms
Uwaga: podane informacje są oparte na artykule VMware KB 82619(łącze zewnętrzne). Zapoznaj się z artykułem pod kątem ewentualnych nowszych aktualizacji.
Podczas korzystania z VxRail w wersjach 4.7.511-526 i 7.0.130-132 mogą wystąpić następujące problemy:
- Liczba elementów w tabelach zatwierdzania przekracza 100 tys. i nie zmniejsza się w ciągu kilku godzin.
- Utrata możliwości wyświetlenia plików i folderów w magazynie danych vSAN.
- Znaczne pogorszenie wydajności.
- Co najmniej jeden węzeł wykazuje wysokie przeciążenie pamięci lokalnego zarządzania obiektami strukturalnymi (LSOM) (patrz polecenie 1).
- Liczba elementów w tabelach zatwierdzania przekracza 100 tys. (patrz polecenie 2).
- Przeciążenie pamięci, które rozpowszechniło się we wszystkich węzłach w klastrze.
- Komunikaty w dzienniku vmkernel.log:
LSOM: LSOM_ThrowCongestionVOB:3429: Throttled: Virtual SAN node "HOSTNAME" maximum Memory congestion reached.
- Komunikaty w dzienniku vobd.log i vmkernel.log:
LSOM_ThrowAsyncCongestionVOB:1669: LSOM Memory Congestion State: Exceeded. Congestion Threshold: 200 Current Congestion: 204.
Poniższe przygotowane polecenia mogą posłużyć do określenia, czy host doświadcza tego problemu.
Skrypt 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 ;
Przykładowe dane wyjściowe
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
Skrypt 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$"
Przykładowe dane wyjściowe
(tylko na dyskach pamięci podręcznej; można zignorować wszelkie wyniki dotyczące pojemności dysków)
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
Wartości konfiguracji płuczki zostały zmodyfikowane w wersjach vSAN 6.7 P04 i vSAN 7.0 U1 P02 w celu usuwania obiektów z wyższą częstotliwością. Ta zmiana powoduje, że postęp pochłaniacza każdego obiektu jest powtarzany częściej niż wcześniej. Jeśli w klastrze znajdują się bezczynne obiekty, funkcja Scrubber gromadzi wpisy tabeli zatwierdzeń dla tych obiektów w LSOM. Ostatecznie akumulacja prowadzi do przeciążenia pamięci LSOM.
Bezczynne obiekty w tym kontekście odnoszą się do obiektów, które są nieskojarzone, wyłączone maszyny wirtualne, obiekty replikowane itd.
Resolution
Jeśli host ma dużą liczbę elementów w tabelach zatwierdzeń, jak określono w skrypcie 2, zaleca się wykonanie jednego z dwóch poniższych kroków w celu usunięcia przeciążenia.
- Przełącz hosta z problemem w tryb konserwacji z opcją Ensure Accessibility, a następnie uruchom ponownie hosta.
- Odmontuj i ponownie zamontuj każdą grupę dysku hosta przy użyciu opcji Ensure Accessibility.
Obejście:
Jeśli nie można przeprowadzić uaktualnienia, należy wdrożyć następujące zmiany ustawień zaawansowanych, aby zapobiec wystąpieniu tego problemu.
- Zmień częstotliwość płuczki na raz w roku:
esxcfg-advcfg -s 1 /VSAN/ObjectScrubsPerYear
- Wyłącz czasomierz utrwalania suwaka:
esxcfg-advcfg -s 0 /VSAN/ObjectScrubPersistMin