設定負載平衡

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

必要的登錄機碼

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

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

以下是所需登錄機碼和值的詳細細目:

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 會儲存在 Resource 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。 當 LbS 服務中沒有變更 AssumeResourceUUID DWORD 時。 存在時,必須使用有效的 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 設定。