設定負載平衡

要作為負載平衡伺服器 (LBS) 服務的每個 RPC Proxy 機器,都必須設定為 LBS 服務,並具備伺服器陣列中伺服器的知識。 您可以選擇性地設定預設資源,也可以設定 Proxy 至 LBS 的安全性,並設定 LBS 至 LBS RPC 呼叫的安全性。 這些設定是由一組 必要的登錄機碼選擇性登錄機碼 所設定,如下所述。

必要的登錄機碼

設定 LBS 伺服器需要數個登錄機碼和值。 如果遺漏任何金鑰或輸入錯誤,則會記錄 Windows 事件。 如需所記錄事件的相關資訊,請參閱每個索引鍵和值的描述。

若要設定伺服器陣列,必須建立名為LBSConfigurationHKLM\SOFTWARE\Microsoft\Rpc\RpcProxy登錄機碼。 在 LBSConfiguration 金鑰下,會為伺服器陣列中的每個資源建立金鑰。 索引鍵名稱是資源的 GUID 字串表示。 至少必須存在一個資源索引鍵,而且此資源與系結控制碼上的用戶端所設定的 UUID 相同, RPC_BINDING_HANDLE建立 RPC/HTTP 系結 (如需詳細資訊,請參閱 RpcBindingSetObject) 。 在每個資源 UUID 索引鍵下,必須有名為 ConfigurationType 的 DWORD 值,其描述所使用的組態。 也必須有 一個REG_SZ 以分號分隔的伺服器識別碼,稱為 ServerFarmServerFarm金鑰中所識別的伺服器是負載平衡伺服器陣列成員的伺服器。

以下是必要登錄機碼和值的詳細細目:

HKLM\SOFTWARE\Microsoft\Rpc\RpcProxy\LBSConfiguration

登錄機碼。 LBSConfiguration機碼是保存 LBS 設定的登錄機碼。 這包括要進行負載平衡的資源 UUID 、每個資源的組態類型,以及參與負載平衡的伺服器陣列中的伺服器。 如果遺失或無效此金鑰,則不會將 LBS 視為要設定,而且不會執行 LBS 服務。

-

HKLM\SOFTWARE\Microsoft\Rpc\RpcProxy\LBSConfiguration\XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

登錄機碼。 資源 UUID索引鍵會識別要負載平衡的資源 UUID。 此資源 UUID 與用戶端在系結控制碼上設定的 UUID 相同, RPC_BINDING_HANDLE。 至少必須有一個資源 UUID 才能進行負載平衡,可能會有多個資源 UUID。 只能有一個伺服器陣列,而且所有端點都必須位於伺服器陣列內的所有伺服器上。 如果此金鑰無法剖析為有效的 UUID,事件 RPCPROXY_EVENTLOG_LB_INVALID_KEY (0xC0000006) 將會記錄到 Windows 事件記錄檔。

-

HKLM\SOFTWARE\Microsoft\Rpc\RpcProxy\LBSConfiguration\XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\ConfigurationType

DWORD。 ConfigurationType DWORD 會儲存在資源 UUID金鑰之下。 唯一允許的值為 1。 如果此值是 1 以外的任何值,事件 RPCPROXY_EVENTLOG_LB_UNKNOWN_CFG_TYPE (0xC0000007) 將會記錄到 Windows 事件記錄檔。

-

HKLM\SOFTWARE\Microsoft\Rpc\RpcProxy\LBSConfiguration\XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\ServerFarm

REG_SZ。 ServerFarm登錄值包含以分號分隔的伺服器識別碼清單。 伺服器識別碼的格式為:

「ServerID1,ServerPort1,LBSPort1,[LBSPort2, ...LBSPortN];」

多個伺服器識別碼應該列在 ServerFarm 登錄機碼中。 它們必須以分號分隔。 下表說明屬於伺服器識別碼一部分的欄位。 如果無法正確剖析此欄位,事件 RPCPROXY_EVENTLOG_LB_BAD_CONFIG_ENTRY (0xC0000008) 將會記錄到 Windows 事件記錄檔。

識別碼欄位 需求 描述
ServerID 必要 伺服器的可解析網路名稱。 這可以是 DNS 名稱、netbios 名稱或 IP 位址。
ServerPort 選擇性 如果指定,則為伺服器接聽 RPC/HTTP 連線的埠。 如果未指定,則會使用伺服器電腦上的端點對應程式來尋找伺服器埠。
LBSPort 選擇性 如果指定,伺服器接聽 LBS 的埠。 若要使用此金鑰,LBS 介面必須使用 netsh RPC 防火牆命令設定為靜態端點。 如需 netsh 命令範例,請參閱 負載平衡最佳做法

 

選擇性登錄機碼

設定 LBS 伺服器有三個選擇性登錄值。 金鑰主要控制對 LBS 服務來回呼叫的安全性層級,也會控制要使用的預設資源 UUID。 以下是選擇性值:

以下是必要登錄機碼和值的詳細細目:

HKLM\SOFTWARE\Microsoft\Rpc\RpcProxy\LBSConfiguration\NoSecurity

DWORD。 當 NoSecurity DWORD 不存在或設定為 0 時,會拒絕對 LBS 服務的傳入非安全呼叫。 當存在且沒有 0 時,不會拒絕對 LBS 服務的傳入非安全呼叫。 此金鑰會在 LBS 服務啟動時讀取一次。

-

HKLM\SOFTWARE\Microsoft\Rpc\RpcProxy\LBSConfiguration\AssumeResourceUUID

DWORD。 當 AssumeResourceUUID DWORD 不存在時,LBS 服務不會有任何變更。 存在時,必須使用有效的 UUID進行設定。 此 UUID 將用來作為未指定資源 UUID 之所有連線的資源 UUID。 這通常用於用戶端在建立 RPC/HTTP 系結時未指定資源 UUID 的情況,但系統管理員想要對伺服器陣列的 RPC/HTTP 流量進行負載平衡。 如果無法將這個金鑰剖析為 UUID,就會發生內部 RPC 錯誤,如果已啟用,就會產生 RPC_EXTENDED_ERROR_INFO

-

HKLM\Software\Microsoft\Rpc\RPCHTTPLBSServer\NoSecurity

DWORD。 當 NoSecurity DWORD 未顯示或設定為 0 時,所有對 LBS 服務的撥出電話都會有安全性。 如果存在且未設定為 0,所有對 LBS 服務的撥出電話都不會有安全性。 請確定此設定符合 HKLM\SOFTWARE\Microsoft\Rpc\RpcProxy\LBSConfiguration\NoSecurity 設定。