您可以撰寫負載平衡指令碼,根據您要用於負載平衡的多重工作階段主機計量,來產生負載值。

自訂負載平衡指令碼的準則

將負載平衡指令碼複製到伺服器陣列中每一部主機上的指定檔案。若要定義檔案路徑,請在 /etc/vmware/viewagent-custom.conf 組態檔中設定 LBCustomScript 選項。

負載平衡指令碼必須將負載指數寫入至主機上的指定檔案。若要定義檔案路徑,請在 /etc/vmware/viewagent-custom.conf 組態檔中設定 LBCustomScriptResult 選項。負載指數值必須在 0 到 100 之間。

負載平衡案例

以下案例說明自訂指令碼可能產生的各種負載平衡效果。

  • 如果伺服器陣列中至少有一個主機傳回有效負載值,則 Horizon Connection Server 會假設伺服器陣列中其他主機的負載值為 25,直到它們的負載平衡指令碼傳回有效值。
  • 如果伺服器陣列中沒有主機傳回有效負載值,則會關閉該伺服器陣列的負載平衡功能。
    備註: 對於未報告負載指數的主機, Horizon Console 儀表板會顯示 -1。 Horizon Connection Server 只會使用值 25 來表示內部負載平衡邏輯。
  • 如果負載平衡指令碼將無效的負載值寫入至 /etc/vmware/viewagent-custom.conf 中的 LBCustomScriptResult 選項所定義的檔案中,則會將該值限定為 100,並當成負載指數傳回給 Horizon Connection Server
  • 如果指令碼找不到要寫入負載值的指定檔案,則會以預設值 0 作為負載指數傳送給 Horizon Connection Server
  • 如果自訂指令碼未在 10 秒內執行完成,VMware Horizon 8 會結束指令碼。對於負載指數,Horizon 8 會使用 /etc/vmware/viewagent-custom.confLBCustomScriptResult 所定義的檔案中的過時值。