Настройка балансировки нагрузки
Каждый прокси-сервер 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 .