年度末の繁忙期なので今回は手短に(苦笑).
"Under very specific conditions" に見事に的中し,vSAN Clsuter に Potential data consistency の Alert が出ていたので,その対応記録を残しておきます.
(ちゃんとサポートに Workaround 適用の確認とってから実施してます!)
まず,KB82383 ページの Attachments から setConfigOption.py を入手して Host の /tmp に保存します.
中身はこれ↓
import subprocess
import time
def setCommand(cmd):
print(cmd)
p = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
out, err = p.communicate()
return p.returncode, out
def setDeltaComps(opt):
cmd = "esxcfg-advcfg -s %s /VSAN/DeltaComponent" % opt
rc,out = setCommand(cmd)
if (rc != 0):
print("Could not set DeltaComps: %s" % rc)
return rc
def getDeltaComps():
cmd = "esxcfg-advcfg -g /VSAN/DeltaComponent"
rc,out = setCommand(cmd)
if (rc != 0):
print("Could not get DeltaComps: %s" % rc)
return rc, out
def deltaExists():
rc, out = setCommand('cmmds-tool find -t DOM_OBJECT')
out = str(out)
if (out.find("RAID_D") >= 0):
return True
return False
if __name__ == '__main__':
if deltaExists():
print("Found delta components before disabling config. Exiting...")
exit()
print("Disabling Delta Comps feature")
# Disable Delta Comps
rc = setDeltaComps(0)
if (rc != 0):
print("Error while disbling delta comps feature. Exiting...")
exit()
# Sleep
print("Sleeping 70s for config option to take effect. Zzz..")
time.sleep(70)
if deltaExists():
print("Found deltas after disabling feature. Re enabling")
rc = setDeltaComps(1)
# Log value of delta comps
rc,out = getDeltaComps()
print(out)
esxcfg-advcfg で /VSAN/DeltaComponent の値を設定するようです.
Host 上で実行してみます.
[root@esxv01:/tmp] python ./setConfigOption.py cmmds-tool find -t DOM_OBJECT Disabling Delta Comps feature esxcfg-advcfg -s 0 /VSAN/DeltaComponent Sleeping 70s for config option to take effect. Zzz.. cmmds-tool find -t DOM_OBJECT esxcfg-advcfg -g /VSAN/DeltaComponent b'Value of DeltaComponent is 0\n'
実行時に 70 秒の Wait がかかるので,1 台あたり確実に 1 分以上かかります.
無事に完了すると,DeltaComponent の値が 0 に変わっているのが確認出来ます.
[root@esxv01:~] esxcfg-advcfg -g /VSAN/DeltaComponent Value of DeltaComponent is 0
私はせっかちなので,最初の Host で値変更した直後に Skyline Health を確認してみましたが,どうも Cluster 全体で適用されるか,一定時間経過しないと Status が変わらないようです.

時間がもったいないので,待ってる間に,他の Host にも適用して行きます.
全台で適用完了後,暫く待ってから "Retest with online health" をオンにして RETEST !

やっと Status がグリーンに戻りました(汗). ちょうど 7.0 U2 も発表されたので,そちらをあててしまうのが早かったかも?