Поделиться через


Настройка балансировки нагрузки

Каждый прокси-сервер RPC, который должен выступать в качестве службы балансировки нагрузки (LBS), должен быть настроен в качестве службы LBS со знаниями о серверах в ферме серверов. При необходимости можно задать ресурс по умолчанию, а также настроить безопасность прокси-сервера для LBS и LBS для вызовов RPC LBS. Эти параметры настраиваются набором обязательных разделов реестра и дополнительных разделов реестра, как описано ниже.

Обязательные разделы реестра

Для настройки сервера LBS требуется несколько разделов реестра и значений. Если отсутствуют какие-либо ключи или введены в ошибку, регистрируется событие Windows. Описание каждого ключа и значения для сведений о событии, зарегистрированном в журнале.

Чтобы настроить ферму серверов, необходимо создать раздел реестра HKLM\SOFTWARE\Microsoft\Rpc\RpcProxy с именем LBSConfiguration. В разделе ключа LBSConfiguration ключ создается для каждого ресурса в ферме серверов. Имя ключа — это строковое представление GUID ресурса. Хотя бы один ключ ресурса должен существовать, и этот ресурс идентичен UUID, заданному клиентами в дескрипторе привязки привязки, RPC_BINDING_HANDLE при создании привязки RPC/HTTP (Дополнительные сведения см. в статье RpcBindingSetObject). В каждом ключе UUID ресурса должно существовать значение DWORD с именем ConfigurationType , описывающее используемую конфигурацию. Также должен существовать REG_SZ идентификаторов сервера с разделителями с запятой с разделителями, называемыми ServerFarm. Серверы, определенные в ключе ServerFarm , являются серверами, которые являются членами фермы серверов балансировки нагрузки.

Ниже приведены подробные сведения о необходимых разделах реестра и значениях:

HKLM\SOFTWARE\Microsoft\Rpc\RpcProxy\LBSConfiguration

Раздел реестра. Раздел LBSConfiguration — это раздел реестра, содержащий конфигурацию LBS. Сюда входят идентификаторы UUID ресурсов , которые должны быть сбалансированы , тип конфигурации для каждого ресурса и серверов в фермах серверов, которые участвуют в балансировке нагрузки. Если этот ключ отсутствует или недопустим, LBS не будет считаться настроенным, и служба LBS не будет выполняться.

-

HKLM\SOFTWARE\Microsoft\Rpc\RpcProxy\LBSConfiguration\XXXXXXX-XXXXX-XXXXXXXXXXXXXXX

Раздел реестра. Ключ UUID ресурса определяет баланс нагрузки ресурса UUID . Этот ресурс UUID совпадает с идентификатором UUID, заданным клиентами в дескрипторе привязки, RPC_BINDING_HANDLE. Для балансировки нагрузки должен быть по крайней мере один идентификатор UUID ресурса, может быть несколько UUID ресурсов. В ферме серверов может быть только одна ферма серверов, а все конечные точки должны находиться на всех серверах в ферме серверов. Если этот ключ не может быть проанализирован допустимым идентификатором UUID, событие RPCPROXY_EVENTLOG_LB_INVALID_KEY (0xC0000006) будет записано в журнал событий Windows.

-

HKLM\SOFTWARE\Microsoft\Rpc\RpcProxy\LBSConfiguration\XXXXXXX-XXXXXXXXXXXXXXX\ConfigurationType

DWORD. Параметр ConfigurationType DWORD хранится под ключом UUID ресурса. Единственное допустимое значение — 1. Если это значение имеет значение, отличное от 1, событие RPCPROXY_EVENTLOG_LB_UNKNOWN_CFG_TYPE (0xC0000007) будет зарегистрировано в журнал событий Windows.

-

HKLM\SOFTWARE\Microsoft\Rpc\RpcProxy\LBSConfiguration\XXXXXXX-XXXXX-XXXXXXXXXXXXXX\ServerFarm

REG_SZ. Значение реестра ServerFarm содержит список идентификаторов сервера с запятой. Формат идентификаторов сервера:

"ServerID1,ServerPort1,LBSPort1,[LBSPort2, ... LBSPortN];"

В разделе реестра ServerFarm должно быть указано несколько идентификаторов сервера. Они должны быть разделены точкой с запятой. Поля, которые являются частью идентификатора сервера, описаны в следующей таблице. Если это поле не может быть правильно проанализировано, событие RPCPROXY_EVENTLOG_LB_BAD_CONFIG_ENTRY (0xC0000008) будет записано в журнал событий Windows.

Поле идентификатора Требование Description
ServerID Обязательное поле Разрешаемое сетевое имя сервера. Это может быть DNS-имя, имя netbios или IP-адрес.
ServerPort Необязательно Если задано, порт, на котором сервер прослушивает RPC/HTTP-подключения. Если это не указано, средство сопоставления конечных точек на серверном компьютере используется для поиска порта сервера.
LBSPort Необязательно Если задано, порт, на котором сервер прослушивает LBS. Чтобы использовать этот ключ, интерфейсы LBS должны быть заданы в статическую конечную точку с помощью команды брандмауэра RPC netsh. Примеры команды netsh см. в рекомендациях по балансировке нагрузки.

 

Необязательные разделы реестра

Существует три необязательных значения реестра для настройки сервера LBS. Ключи в основном управляют уровнем безопасности для вызовов и из службы LBS, а также управляют используемым идентификатором ресурса по умолчанию. Ниже приведены необязательные значения:

Ниже приведены подробные сведения о необходимых разделах реестра и значениях:

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

DWORD. Если параметр NoSecurity DWORD не присутствует или имеет значение 0, входящие небезопасные вызовы службы LBS отклоняются. При наличии и не 0 входящие небезопасные вызовы службы LBS не отклоняются. Этот ключ считывается один раз при запуске службы LBS.

-

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

DWORD. Если параметр DWORD AssumeResourceUUID не изменяется в службе LBS. При наличии он должен быть задан допустимым идентификатором UUID. Этот UUID будет использоваться в качестве ресурса UUID для всех подключений, которые не указывают UUID ресурса. Это часто используется в случаях, когда клиенты не указывают идентификатор UUID ресурса при создании привязки RPC/HTTP, но администратор хочет сбалансировать трафик RPC/HTTP в ферму серверов. Если этот ключ не удается проанализировать с UUID, возникает внутренняя ошибка RPC, создающая RPC_EXTENDED_ERROR_INFO , если она включена.

-

HKLM\Software\Microsoft\Rpc\RPCHTTPLBSServer\NoSecurity

DWORD. Если параметр DWORD NoSecurity не отображается или имеет значение 0, все исходящие вызовы, выполненные в службах LBS, будут иметь безопасность. Если задано значение 0, все исходящие вызовы, выполненные в службах LBS, не будут иметь безопасности. Убедитесь, что этот параметр соответствует параметру HKLM\SOFTWARE\Microsoft\Rpc\RpcProxy\LBSConfiguration\NoSecurity .