В процессе эксплуатации системы «1С:Предприятие 8.3» часто возникает ситуация, когда ресурсы одного сервера по лицензиям исчерпаны, в то время как на другом сервере имеется свободный пул программных лицензий. Разберем, каким образом можно перенаправить получение лицензий на другой рабочий сервер и как правильно организовать архитектуру лицензирования в вашей сети.
Прежде всего, проанализируем важный технический аспект: тип ваших лицензий. Существует два принципиально разных способа защиты: аппаратные USB-ключи и программные лицензии (пин-коды). Методы управления ими кардинально различаются. Если вы попытаетесь использовать настройки для USB-ключей (файл nethasp.ini) для программных лицензий, это не даст никакого результата.
Если ваши серверы входят в состав одного кластера 1С, это наиболее правильный и «штатный» способ управления лицензиями. Начиная с версии 8.3.9, в платформе реализован механизм гибкого управления сервисами. Рассмотрим по шагам, как настроить один из серверов в качестве единственного «раздатчика» лицензий.
Предположим, у нас есть «Сервер 1» (основной рабочий сервер) и «Сервер 2» (тот, где есть свободные лицензии). Наша задача — заставить систему искать лицензии только на «Сервере 2».
Сервис лицензирования;Не назначать;1.Сервис лицензирования;Назначать;1.Клиентское соединение с ИБ;Назначать;1.После внесения изменений выполним критически важный шаг: щелкнем правой кнопкой мыши по узлу Локальный кластер и выберем пункт Применить требования назначения функциональности (полное). Обратите внимание, что это действие может привести к кратковременному разрыву текущих соединений, так как менеджер кластера перераспределяет сервисы между рабочими серверами. Для управления серверами и требованиями назначения функциональности можно использовать кроссплатформенную консоль администрирования кластера 1С.
Выясним причину, по которой стандартные настройки могут не работать: если ваши серверы находятся в разных кластерах 1С, они «не видят» сервисы друг друга через консоль администрирования. В этом случае на помощь приходит файл locationcfg.xml.
Этот файл позволяет переопределить местоположение сервиса лицензирования для конкретного рабочего сервера или клиентского компьютера. Посмотрим на пример структуры этого файла:
<locationcfg>
<service name="LicensingService">
<address>tcp://LicenseServerName:1540</address>
</service>
</locationcfg>
Где LicenseServerName — это сетевое имя или IP-адрес сервера, который должен раздавать лицензии. Этот файл необходимо разместить в каталоге конфигов (обычно это C:\Program Files\1cv8\conf). После этого рабочий сервер при поиске лицензий будет обращаться по указанному адресу, даже если этот сервер не входит в текущий кластер.
Проанализируем ситуацию, которая часто вводит в заблуждение системных администраторов. Файл nethasp.ini предназначен исключительно для настройки драйвера HASP License Manager. Он управляет поиском сетевых USB-ключей по протоколам TCP/UDP. Программные лицензии 1С (файлы с расширением .lic) управляются внутренним менеджером лицензий 1С и никак не взаимодействуют с драйвером Aladdin HASP. Следовательно, прописывание IP-адресов в nethasp.ini при отсутствии USB-ключей абсолютно бесполезно.
Разберем, почему схема с отдельным сервером лицензирования считается «золотым стандартом» в крупных инфраструктурах:
Для понимания того, где именно возникла проблема с нехваткой лицензий, рассмотрим алгоритм, по которому клиент 1С ищет лицензию:
.lic или USB-ключи, установленные непосредственно на компьютере пользователя.All Users\Application Data\1C\1cv8\conf).LicensingService согласно требованиям назначения функциональности.Помните, что при выдаче лицензий сервером (в отличие от локальной выдачи), лицензии считаются «на сессию». Это означает, что если пользователь открывает три разные информационные базы, сервер может израсходовать три лицензии из общего пула. Это важный нюанс при расчете необходимого количества клиентских лицензий.
Таким образом, для решения вашей задачи наиболее эффективным будет объединение серверов в один кластер и настройка Требований назначения функциональности, либо использование файла locationcfg.xml, если объединение кластеров по каким-то причинам невозможно. Для решения сопутствующих задач системного администрирования пригодится структурированная справка по администрированию серверов и 1С.