При работе с системой 1С:Предприятие в крупной или развивающейся инфраструктуре часто возникает вопрос эффективного управления лицензиями, особенно когда речь идет о множестве аппаратных USB-ключей HASP. Представим типовую ситуацию: у нас есть несколько физических ключей с различным количеством пользовательских лицензий (например, по 100, 50, 20 пользователей), установленные на разных серверах сети, а также несколько серверов 1С:Предприятие, активно выдающих лицензии. Основная проблема заключается в том, что серверы 1С не всегда могут корректно использовать весь пул доступных лицензий, особенно если ключи принадлежат к одной и той же серии, что приводит к ошибкам «не обнаружено свободной лицензии», даже при наличии свободных ресурсов.
В этом руководстве мы подробно рассмотрим ограничения использования аппаратных ключей 1С, проанализируем возможные причины возникновения проблем с лицензированием и предложим различные варианты решений, начиная от оптимизации текущей конфигурации до перехода на программные лицензии и использования специализированных сервисов.
Прежде всего, давайте разберемся с ключевым ограничением, которое часто становится источником проблем. Сервер 1С:Предприятие, или даже расширение веб-сервера, при поиске клиентских лицензий по сети с помощью HASP License Manager (далее HASP LM), может получить лицензии только от одного аппаратного ключа защиты одной серии. Это означает, что если у нас есть, например, два сетевых ключа серии ORGL8 (скажем, на 100 и 50 пользователей), сервер 1С выберет один из них (произвольно) и будет использовать только его. При исчерпании лицензий в этом выбранном ключе, поиск других сетевых ключей той же серии выполняться не будет.
Однако существует важное исключение: сервер 1С может использовать локально установленный ключ и один сетевой ключ, даже если они принадлежат к одной серии. То есть, если один ключ ORGL8 (например, на 100 пользователей) физически установлен в сервер 1С, а другой ключ ORGL8 (например, на 50 пользователей) доступен по сети через HASP LM, то этот сервер 1С сможет объединить лицензии из обоих ключей, получив в общей сложности 150 лицензий. Это максимум, что мы можем "выжать" из ключей одной серии для одного сервера 1С при смешанной локально-сетевой схеме.
Для понимания полной картины, важно знать, что существуют разные серии многопользовательских клиентских ключей 1С:
ORGL8: на 5, 10, 20, 50, 100 рабочих мест.ORG8A: на 300 рабочих мест.ORG8B: на 500 рабочих мест.Сервер 1С осуществляет поиск лицензий в определенном порядке: сначала он ищет доступные локальные ключи всех серий. Затем, если локальных лицензий недостаточно, он приступает к поиску сетевых ключей. При поиске сетевых ключей, если обнаружено несколько ключей серии ORGL8, сервер 1С выберет один из них произвольно. После этого, если его лицензии будут исчерпаны, будет производиться поиск одного ключа ORG8A, затем одного ORG8B. Важно, что повторный поиск других ключей серии ORGL8 после выбора первого уже выполняться не будет.
Теоретически, согласно документации, один сервер 1С может использовать до 1800 аппаратных лицензий. Этот лимит достигается комбинацией локальных ключей разных серий (например, 100+300+500) и сетевых ключей разных серий (например, еще 100+300+500). То есть, локальные и сетевые лицензии разных серий считаются отдельно, и их можно суммировать. Для вашего случая, где все ключи относятся к серии ORGL8, это означает, что один сервер 1С сможет получить максимум лицензий от одного локального ключа ORGL8 и одного сетевого ключа ORGL8, что в вашем случае составит максимум 200 лицензий (100 локально + 100 по сети, если эти ключи по 100). Именно поэтому в вашей ситуации использование более 170 лицензий с одного сервера может быть результатом некорректного или специфического распределения лицензий, возможно, часть клиентов получают лицензии напрямую от HASP LM, минуя сервер 1С.
Одним из наиболее гибких и современных решений проблемы с управлением лицензиями является полный или частичный переход на программные лицензии 1С. Этот вариант предполагает отказ от физических USB-ключей в пользу специальных файлов лицензий, которые привязываются к параметрам компьютера или сервера.
Давайте рассмотрим, почему программные лицензии могут быть предпочтительнее аппаратных:
HASP LM и могут создавать дополнительную нагрузку.Конечно, у программных лицензий есть и свои особенности, которые следует учитывать:
В платформе 1С:Предприятие 8.3 реализован мощный механизм – сервис лицензирования. Это позволяет выделить отдельный сервер в кластере 1С для задач исключительно по проверке и выдаче клиентских и серверных лицензий. Такой подход особенно полезен в крупных и динамичных виртуальных средах.
Рассмотрим ключевые особенности сервиса лицензирования:
HASP ключи через этот сервис не поддерживаются. Это означает, что для его использования вам потребуется конвертировать ваши аппаратные ключи в программные или приобрести новые программные лицензии.Переход на сервис лицензирования с использованием программных ключей — это наиболее рекомендуемый вариант для современных и масштабируемых систем, особенно если вы активно используете виртуализацию.
Если переход на программные лицензии по каким-то причинам невозможен или нежелателен, мы можем рассмотреть варианты оптимизации работы с текущими аппаратными ключами HASP. Для этого нам потребуется более глубоко понять, как сервер 1С и клиенты ищут и используют лицензии.
Как мы уже выяснили, сервер 1С может использовать один локально установленный ключ ORGL8 и один сетевой ключ ORGL8. Это дает нам возможность на одном активно используемом сервере 1С объединить лицензии из двух ключей одной серии. Например, если у вас есть ключ на 100 пользователей и еще один на 50 пользователей, то, установив ключ на 100 пользователей локально на сервер 1С, а ключ на 50 пользователей сделав доступным по сети (через HASP LM на отдельном ПК), мы получим 150 лицензий на этом сервере. Если есть еще один ключ на 20 пользователей, то сервер 1С (при условии, что все они ORGL8) не сможет использовать два сетевых ключа ORGL8 (50 и 20) одновременно, а выберет только один из них (например, 50). Именно из-за этого ограничения вы, вероятно, не можете использовать более 170 лицензий (100 локально + 50 или 20 сетевой, а 170 получается, если к 100+50 добавились 20 клиентских напрямую).
Исходя из этого, можем рассмотреть следующие шаги:
ORGL8, ORG8A, ORG8B) и номинал.ORGL8 (например, на 100 пользователей) локально на ваш основной сервер 1С (например, Бух или Упр).HASP LM на отдельных серверах или рабочих станциях (не серверах 1С).ORGL8, ORG8A, ORG8B), вы могли бы установить по одному ключу каждой серии локально на сервер 1С и еще по одному ключу каждой серии сделать доступным по сети. Это позволило бы максимизировать количество лицензий на одном сервере.Для оптимизации можно поменять местами ключи между серверами. Например, если на тестовом сервере стоит ключ на 100 пользователей, а на одном из боевых серверов нужна большая емкость, переставьте ключ на 100 на боевой сервер, а на тестовый сервер установите ключ на 20 пользователей. Это простая организационная мера, которая может быстро улучшить ситуацию.
Еще один путь оптимизации, который может быть весьма эффективным, — это замена ваших текущих ключей ORGL8 на ключи других серий. Например, если у вас есть несколько ключей по 100 пользователей (ORGL8), вы можете попробовать обменять (или приобрести) их на один ключ ORG8A на 300 пользователей. Таким образом, у вас появятся ключи разных серий (например, 20 ORGL8, 50 ORGL8, 100 ORGL8 и 300 ORG8A), что позволит серверу 1С использовать один ключ каждой серии, существенно увеличивая общий пул доступных лицензий на одном сервере. Это потребует инвестиций, но решит проблему кардинально, если вы хотите оставаться на аппаратных ключах.
Для корректной работы с множеством аппаратных ключей необходимо правильно настроить HASP License Manager и файлы конфигурации nethasp.ini. Давайте разберем этот процесс подробнее:
HASP LM: Установите HASP LM на отдельных серверах или рабочих станциях, которые не являются серверами 1С. Это позволит разгрузить серверы 1С и централизовать выдачу лицензий. Каждый физический ключ должен быть воткнут в компьютер с запущенным HASP LM.HASP LM: Если у вас несколько HASP LM в сети, по умолчанию они могут иметь одинаковые имена, что приведет к конфликтам. Для решения этой проблемы отредактируйте файл nhsrv.ini, который находится в каталоге установки HASP LM. В этом файле вы можете присвоить каждому менеджеру лицензий уникальное имя NetBIOS. Например:
[NHS_SERVER]
NH_SERVER_NAME = HASPLM1
HASP LM, используя HASPLM2, HASPLM3 и т.д.nethasp.ini на серверах 1С: Чтобы сервер 1С знал, где искать лицензии, отредактируйте файл nethasp.ini на каждом сервере 1С. Этот файл должен находиться в каталоге с исполняемыми файлами платформы 1С:Предприятие (обычно в bin). В нем вы можете явно указать IP-адреса или NetBIOS имена серверов, где запущены HASP LM:
[NH_COMMON]
NH_SERVER_ADDR = 192.168.1.10, 192.168.1.11
NH_SERVER_NAME = HASPLM1, HASPLM2
NH_USE_BROADCAST = Disabled
NH_USE_BROADCAST = Disabled) и явно указывать адреса, чтобы ускорить поиск и избежать проблем в сложных сетевых окружениях.nethasp.ini на клиентах (если переход на клиентскую выдачу): Хотя вы не хотите использовать клиентскую выдачу лицензий, в качестве "запасного" или "крайнего" варианта, если все прочее не помогает, можно рассмотреть этот подход. В этом случае клиенты 1С:Предприятия самостоятельно ищут и получают лицензии. На каждом клиентском компьютере в файле nethasp.ini можно настроить порядок поиска ключей, что поможет распределить нагрузку:
[NH_COMMON]
NH_SERVER_ADDR = 192.168.1.10, 192.168.1.11
NH_SERVER_NAME = HASPLM1, HASPLM2
NH_USE_BROADCAST = Disabled
HASP LM, согласно nethasp.ini).Проблема нехватки лицензий при использовании нескольких сетевых ключей может усугубляться, если при аварийном завершении сеанса 1С:Предприятия оно подключается к другому HASP License Manager, выдающему новую лицензию, тогда как предыдущая может оставаться занятой до 36 часов. Тщательная настройка nethasp.ini помогает избежать такого "залипания" лицензий.
Использование кластера серверов 1С:Предприятие помогает распределить пользовательские подключения между рабочими серверами, повышая отказоустойчивость и производительность системы в целом. Однако важно понимать, что сам по себе кластер не отменяет ограничений на получение лицензий *каждым отдельным* рабочим сервером 1С от аппаратных ключей. Каждый рабочий сервер в кластере будет искать лицензии согласно описанным выше правилам (1 локальный + 1 сетевой ключ одной серии, плюс по одному ключу каждой уникальной серии). Поэтому, если вы используете кластер, все равно необходимо применять остальные методы оптимизации для каждого рабочего сервера, чтобы обеспечить достаточный пул лицензий.
В заключение, проблему использования нескольких сетевых аппаратных ключей 1С одной серии на одном сервере можно решить несколькими путями. Наиболее перспективным является переход на программные лицензии с использованием сервиса лицензирования 1С:Предприятия, что обеспечивает максимальную гибкость и масштабируемость. Если же аппаратные ключи остаются вашим выбором, то тщательная организация ключей по сериям, их локальная и сетевая установка, а также детальная настройка HASP License Manager и файла nethasp.ini помогут оптимизировать использование доступных лицензий и минимизировать ошибки.