配置负载平衡
充当负载均衡服务器(LBS)服务的每个 RPC 代理计算机都必须配置为具有服务器场中服务器知识的 LBS 服务。 (可选)可以设置默认资源,还可以设置代理到 LBS 和 LBS 到 LBS RPC 调用的安全性。 这些设置由一组 必需的注册表项 和 可选注册表项 配置,如下所示。
所需的注册表项
配置 LBS 服务器需要多个注册表项和值。 如果缺少任何密钥或输入错误,则会记录 Windows 事件。 有关记录的事件的信息,请参阅每个键和值的说明。
若要配置服务器场,必须创建名为 LBSConfiguration 的 HKLM\SOFTWARE\Microsoft\Rpc\Rpc\RpcProxy。 在 LBSConfiguration 密钥下,将为服务器场中的每个资源创建一个密钥。 密钥名称是资源的 GUID 的字符串表示形式。 必须存在至少一个资源密钥,并且此资源与客户端在 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 的端口。 若要使用此密钥,必须使用 netsh RPC 防火墙命令将 LBS 接口设置为静态终结点。 有关 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 设置匹配。