年度末の繁忙期なので今回は手短に(苦笑).
"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 も発表されたので,そちらをあててしまうのが早かったかも?