下記のKBに該当している事象を何度か経験しましたので、詳細を記載します。
・vSAN nodes experience LSOM Memory congestion due to high "Number of elements in commit tables" (vSAN 6.7 P04/vSAN 7.0 U1 P02) (82619)
https://kb.vmware.com/s/article/82619?lang=ja
Contents
事象
経験上、仮想マシンの動作に影響が出ることにより発覚するケースが多いと感じます。
LSOM Memory congestion が発生すると、下記の事象が見られます。
・複数の仮想マシンにログイン不可、遅延が発生
・vSphere Clientにログインできない
Congestion の閾値は、vobd.log上、200となっています。
200を超えていると、仮想マシンのパフォーマンス遅延などが顕在化します。
以下のサンプルログは、値が251となっており、Congestionが発生していると判断できます。
<vobd.log>
2023-08-10T00:44:14.052Z: [vSANCorrelator] 12118433865168us: [vob.vsan.lsom.congestionthreshold] LSOM Memory Congestion State: Exceeded. Congestion Threshold: 200 Current Congestion: 251.
対応
1. Congestion ホストの特定
ESXi 上で、VsanLsomHealth.pyc を実行します。
下記のように、"Congestion" というキーワードで grep するとわかりやすいかと思います。
# python /usr/lib/vmware/vsan/perfsvc/VsanLsomHealth.pyc | grep Congestion
Congestion: ssdCongestion = 0, logCongestion = 0, iopsCongestion = 0, slabCongestion = 0, memCongestion = 251
上記の例では、"memCongestion = 251" となっており、Congestion の閾値である200を上回っているため、Congestionが発生していると判断できます。
2. Congestion ホストの再起動
この状況となると、メンテナンスモードは不可である場合が多いです。
そのため、Host clientにログインし、再起動を行います。Host client にログインできない場合は、DCUIから再起動を行い、それもだめなら、iDRAC, iLO等のサーバ管理機能から強制的に再起動を実施します。
vCenterが動作していない場合、vMotionができませんので、ホスト上のログイン可能なVMは事前にシャットダウンしておきましょう。
対策
恒久対応
KBのResolutionを確認すると、下記がFixバージョンであることがわかります。
VMware エンジニアリング チームはこの問題を認識しており、vSAN 6.7 P05 および vSAN 7.0 U2 GA で修正をリリースしました。
つまり、ESXi 6.7 Patch 05 Build 17700523 以降または、ESXi 7.0 Update 2 Build 17630552 以降へのバージョンアップが必要となります。
vSANバージョンとESXi バージョンのマトリクスは下記のKBに記載があります。
Build numbers and versions of VMware vSAN (2150753)
https://kb.vmware.com/s/article/2150753
また、ESXiバージョンとBuildナンバーのマトリクスは下記のKBに記載があります。
Build numbers and versions of VMware ESXi/ESX (2143832)
https://kb.vmware.com/s/article/2143832
暫定対応
すべてのESXi上で、スクラバの頻度を年に 1 回に変更する、スクラバの保持タイマーを無効にする対応となります。
1. スクラバの頻度を年に 1 回に変更する。
# esxcfg-advcfg -s 1 /VSAN/ObjectScrubsPerYear
2. スクラバの保持タイマーを無効にする。
# esxcfg-advcfg -s 0 /VSAN/ObjectScrubPersistMin
上記の現状の値は、以下のようにオプション ”-g" を使用することで確認可能です。
# esxcfg-advcfg -g /VSAN/ObjectScrubsPerYear
Value of ObjectScrubsPerYear is 6
# esxcfg-advcfg -g /VSAN/ObjectScrubPersistMin
Value of ObjectScrubPersistMin is 240
被疑バージョンは下記となっていますので、該当する場合は、過去にLSOM Memory Congestionが発生していない場合も、上記暫定対応を行っておくことが推奨となっています。
- ESXi 7.0 Update 1d ビルド:17551050
- ESXi 7.0 Update 1c ビルド: 17325551
- ESXi 6.7 Update 3 P04 ビルド: 17167734

